7 #ifndef _QI_TYPE_DYNAMICOBJECTBUILDER_HPP_
8 #define _QI_TYPE_DYNAMICOBJECTBUILDER_HPP_
10 #include <boost/noncopyable.hpp>
17 class DynamicObjectBuilderPrivate;
27 template <
typename OBJECT_TYPE,
typename METHOD_TYPE>
28 inline unsigned int advertiseMethod(
const std::string& name,
31 const std::string& desc =
"",
35 template <
typename FUNCTION_TYPE>
36 inline unsigned int advertiseMethod(
const std::string& name,
37 FUNCTION_TYPE
function,
38 const std::string& desc =
"",
42 template <
typename OBJECT_TYPE,
typename METHOD_TYPE>
49 template <
typename FUNCTION_TYPE>
51 FUNCTION_TYPE
function,
57 #define genCall(n, ATYPEDECL, ATYPES, ADECL, AUSE, comma) \
58 template<typename T comma ATYPEDECL> \
59 inline unsigned int advertiseFactory(const std::string& name) \
61 return advertiseMethod(name, &constructObject<T comma ATYPES>); \
66 unsigned int advertiseSignal(
const std::string& name);
67 template<
typename P0>
unsigned int advertiseSignal(
const std::string& name);
68 template<
typename P0,
typename P1>
unsigned int advertiseSignal(
const std::string& name);
69 template<
typename P0,
typename P1,
typename P2>
unsigned int advertiseSignal(
const std::string& name);
70 template<
typename P0,
typename P1,
typename P2,
typename P3>
unsigned int advertiseSignal(
const std::string& name);
71 template<
typename P0,
typename P1,
typename P2,
typename P3,
typename P4>
unsigned int advertiseSignal(
const std::string& name);
72 template<
typename P0,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
unsigned int advertiseSignal(
const std::string& name);
73 template<
typename P0,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
unsigned int advertiseSignal(
const std::string& name);
74 template<
typename P0,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
unsigned int advertiseSignal(
const std::string& name);
78 unsigned int advertiseSignalF(
const std::string& name);
80 unsigned int advertiseSignal(
const std::string &name,
qi::SignalBase *signal);
83 unsigned int advertiseProperty(
const std::string& name);
85 unsigned int advertiseProperty(
const std::string &name,
qi::PropertyBase *sig);
89 unsigned int xAdvertiseMethod(
const Signature &sigret,
90 const std::string &name,
91 const Signature &signature,
92 AnyFunction func,
const std::string& desc =
"",
95 unsigned int xAdvertiseMethod(MetaMethodBuilder& builder, AnyFunction func,
98 unsigned int xAdvertiseSignal(
const std::string &name,
const Signature &signature);
99 unsigned int xAdvertiseProperty(
const std::string& name,
const Signature& sig,
int id=-1);
100 void setDescription(
const std::string& desc);
101 qi::AnyObject object(boost::function<
void (GenericObject*)> onDelete = boost::function<
void (GenericObject*)>());
103 template<
typename T>
qi::AnyObject object(boost::shared_ptr<T> other);
104 void markProperty(
unsigned int ev,
unsigned int getter,
unsigned int setter);
106 DynamicObject* bareObject();
107 void setManageable(DynamicObject* obj, Manageable* m);
108 DynamicObjectBuilderPrivate *_p;
114 #endif // _QITYPE_DYNAMICOBJECTBUILDER_HPP_
#define genCall(n, ATYPEDECL, ATYPES, ADECL, AUSE, comma)
Honor the default behavior.
ObjectThreadingModel
Possible thread models for an object.