|
|
Go to the documentation of this file. 1 #ifndef PLUGINSYSTEM_REGISTRATION_MACROS_H
2 #define PLUGINSYSTEM_REGISTRATION_MACROS_H
30 #define INSTANTIATE_PROXY(record_, type_) template class DataProxyWrapper<record_, type_>;
32 #define ONLY_REGISTER_PLUGIN(record_, type_) \
33 typedef DataProxyWrapper<record_, type_> EDM_PLUGIN_SYM(Proxy, __LINE__); \
34 DEFINE_EDM_PLUGIN(cond::ProxyFactory, EDM_PLUGIN_SYM(Proxy, __LINE__), #record_ "@NewProxy")
36 #define REGISTER_PLUGIN(record_, type_) \
37 INSTANTIATE_PROXY(record_, type_) \
38 ONLY_REGISTER_PLUGIN(record_, type_)
40 #define INSTANTIATE_PROXY_INIT(record_, type_, initializer_) \
41 template class DataProxyWrapper<record_, type_, initializer_>;
43 #define ONLY_REGISTER_PLUGIN_INIT(record_, type_, initializer_) \
44 typedef DataProxyWrapper<record_, type_, initializer_> EDM_PLUGIN_SYM(Proxy, __LINE__); \
45 DEFINE_EDM_PLUGIN(cond::ProxyFactory, EDM_PLUGIN_SYM(Proxy, __LINE__), #record_ "@NewProxy")
47 #define REGISTER_PLUGIN_INIT(record_, type_, initializer_) \
48 INSTANTIATE_PROXY_INIT(record_, type_, initializer_) \
49 ONLY_REGISTER_PLUGIN_INIT(record_, type_, initializer_)
52 #define REGISTER_KEYLIST_PLUGIN(record_, type_, source_) \
53 template class DataProxyWrapper<record_, type_>; \
54 struct EDM_PLUGIN_SYM(Proxy, record_) : public DataProxyWrapper<record_, type_> { \
55 EDM_PLUGIN_SYM(Proxy, record_)() : DataProxyWrapper<record_, type_>(#source_){}; \
57 DEFINE_EDM_PLUGIN(cond::ProxyFactory, EDM_PLUGIN_SYM(Proxy, record_), #record_ "@NewProxy")