7 #ifndef _QI_TYPE_PROXYPROPERTY_HPP_
8 #define _QI_TYPE_PROXYPROPERTY_HPP_
34 setup(
object, propertyName);
42 T getter(
GenericObject*
object,
const std::string& propertyName);
43 bool setter(T&,
const T&,
GenericObject*
object,
const std::string& propertyName);
50 proxy.
setup(
object, signalName);
55 target.
setup(
object, signalName);
61 SignalType::disconnectAll();
71 object.asGenericObject(), propertyName));
83 link =
object->connect(propertyName,
90 bool ok = !
object->disconnect(link).hasError();
92 qiLogError(
"qitype.proxysignal") <<
"Failed to disconnect from parent signal";
97 object, propertyName, link));
104 SignalType::callSubscribers(args);
114 object->metaPost(propertyName, params);
119 return object->property<T>(propertyName);
122 bool ProxyProperty<T>::setter(T& target,
const T& v, GenericObject*
object,
const std::string& propertyName)
125 object->setProperty(propertyName, v).
value();
130 #endif // _QITYPE_PROXYPROPERTY_HPP_
boost::function< RF > bind(const AF &fun,...)
void setup(AnyObject object, const std::string &propertyName)
static const SignalLink invalidSignalLink
AnyReference bounceEvent(const AnyReferenceVector args)
void setOnSubscribers(OnSubscribers onSubscribers)
void setTriggerOverride(Trigger trigger)
void onSubscribe(bool enable, GenericObject *object, const std::string &propertyName, SignalLink link)
void triggerOverride(const GenericFunctionParameters ¶ms, MetaCallType, GenericObject *object, const std::string &propertyName)
#define qiLogError(...)
Log in error mode.
std::vector< AnyReference > AnyReferenceVector
static AnyFunction fromDynamicFunction(DynamicFunction f)
virtual AnyValue value() const
void makeProxyProperty(Property< T > &target, AnyObject object, const std::string &signalName)
SignalF< void(const T &)> SignalType
ProxyProperty(AnyObject object, const std::string &propertyName)