|
|
Go to the documentation of this file. 1 #ifndef CONDCORE_ESSOURCES_REGISTRATION_MACROS_H 2 #define CONDCORE_ESSOURCES_REGISTRATION_MACROS_H 31 #define INSTANTIATE_RESOLVER(record_, type_) template class ProductResolverWrapper<record_, type_>; 33 #define ONLY_REGISTER_PLUGIN(record_, type_) \ 34 typedef ProductResolverWrapper<record_, type_> EDM_PLUGIN_SYM(ProductResolver, __LINE__); \ 35 DEFINE_EDM_PLUGIN2(cond::ProductResolverFactory, EDM_PLUGIN_SYM(ProductResolver, __LINE__), #record_ "@NewProxy") 37 #define REGISTER_PLUGIN(record_, type_) \ 38 INSTANTIATE_RESOLVER(record_, type_) \ 39 DEFINE_COND_SERIAL_REGISTER_PLUGIN(type_); \ 40 ONLY_REGISTER_PLUGIN(record_, type_) 42 #define REGISTER_PLUGIN_NO_SERIAL(record_, type_) \ 43 INSTANTIATE_RESOLVER(record_, type_) \ 44 ONLY_REGISTER_PLUGIN(record_, type_) 46 #define INSTANTIATE_RESOLVER_INIT(record_, type_, initializer_) \ 47 template class ProductResolverWrapper<record_, type_, initializer_>; 49 #define ONLY_REGISTER_PLUGIN_INIT(record_, type_, initializer_) \ 50 typedef ProductResolverWrapper<record_, type_, initializer_> EDM_PLUGIN_SYM(ProductResolver, __LINE__); \ 51 DEFINE_EDM_PLUGIN2(cond::ProductResolverFactory, EDM_PLUGIN_SYM(ProductResolver, __LINE__), #record_ "@NewProxy") 53 #define REGISTER_PLUGIN_INIT(record_, type_, initializer_) \ 54 INSTANTIATE_RESOLVER_INIT(record_, type_, initializer_) \ 55 DEFINE_COND_SERIAL_REGISTER_PLUGIN_INIT(type_, initializer_); \ 56 ONLY_REGISTER_PLUGIN_INIT(record_, type_, initializer_) 58 #define REGISTER_PLUGIN_NO_SERIAL_INIT(record_, type_, initializer_) \ 59 INSTANTIATE_RESOLVER_INIT(record_, type_, initializer_) \ 60 ONLY_REGISTER_PLUGIN_INIT(record_, type_, initializer_) 63 #define REGISTER_KEYLIST_PLUGIN(record_, type_, source_) \ 64 template class ProductResolverWrapper<record_, type_>; \ 65 struct EDM_PLUGIN_SYM(ProductResolver, record_) : public ProductResolverWrapper<record_, type_> { \ 66 EDM_PLUGIN_SYM(ProductResolver, record_)() : ProductResolverWrapper<record_, type_>(#source_){}; \ 68 DEFINE_EDM_PLUGIN(cond::ProductResolverFactory, EDM_PLUGIN_SYM(ProductResolver, record_), #record_ "@NewProxy")