The Gaudi Framework  master (37c0b60a)
capi_pluginservice.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 2013-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef _GAUDI_C_PLUGIN_SERVICE_H_
12 #define _GAUDI_C_PLUGIN_SERVICE_H_ 1
13 
14 /* @author Sebastien Binet <binet@cern.ch> */
15 
16 #include <stdint.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define CGAUDI_HASCLASSVISIBILITY
23 
24 #if defined( CGAUDI_HASCLASSVISIBILITY )
25 # define CGAUDI_IMPORT __attribute__( ( visibility( "default" ) ) )
26 # define CGAUDI_EXPORT __attribute__( ( visibility( "default" ) ) )
27 # define CGAUDI_LOCAL __attribute__( ( visibility( "hidden" ) ) )
28 #else
29 # define CGAUDI_IMPORT
30 # define CGAUDI_EXPORT
31 # define CGAUDI_LOCAL
32 #endif
33 
34 #define CGAUDI_API CGAUDI_EXPORT
35 
36 typedef struct {
37  void* registry;
39 
40 typedef struct {
42  const char* id;
44 
45 typedef struct {
47  const char* id;
48  const char* key;
50 
53 
56 
59 
62 
64 const char* cgaudi_factory_get_type( cgaudi_factory_t self );
65 
68 
71 
74 
76 const char* cgaudi_property_get_key( cgaudi_property_t self );
77 
80 
81 #ifdef __cplusplus
82 } /* extern "C" */
83 #endif
84 
85 #endif /* !_GAUDI_C_PLUGIN_SERVICE_H_ */
cgaudi_pluginsvc_t
Definition: capi_pluginservice.h:36
cgaudi_factory_get_property_size
CGAUDI_API int cgaudi_factory_get_property_size(cgaudi_factory_t self)
Definition: capi_pluginservice.cpp:59
CGAUDI_API
#define CGAUDI_API
Definition: capi_pluginservice.h:34
cgaudi_factory_t::registry
cgaudi_pluginsvc_t registry
Definition: capi_pluginservice.h:41
cgaudi_factory_get_classname
CGAUDI_API const char * cgaudi_factory_get_classname(cgaudi_factory_t self)
Definition: capi_pluginservice.cpp:52
cgaudi_property_t::key
const char * key
Definition: capi_pluginservice.h:48
cgaudi_factory_t
Definition: capi_pluginservice.h:40
cgaudi_pluginsvc_get_factory_at
CGAUDI_API cgaudi_factory_t cgaudi_pluginsvc_get_factory_at(cgaudi_pluginsvc_t self, int n)
Definition: capi_pluginservice.cpp:33
cgaudi_factory_get_property_at
CGAUDI_API cgaudi_property_t cgaudi_factory_get_property_at(cgaudi_factory_t self, int n)
Definition: capi_pluginservice.cpp:65
cgaudi_property_t
Definition: capi_pluginservice.h:45
cgaudi_factory_get_type
CGAUDI_API const char * cgaudi_factory_get_type(cgaudi_factory_t self)
Definition: capi_pluginservice.cpp:45
cgaudi_pluginsvc_get_factory_size
CGAUDI_API int cgaudi_pluginsvc_get_factory_size(cgaudi_pluginsvc_t self)
Definition: capi_pluginservice.cpp:28
cpluginsvc.n
n
Definition: cpluginsvc.py:234
cgaudi_pluginsvc_instance
CGAUDI_API cgaudi_pluginsvc_t cgaudi_pluginsvc_instance(void)
Definition: capi_pluginservice.cpp:23
cgaudi_pluginsvc_t::registry
void * registry
Definition: capi_pluginservice.h:37
cgaudi_property_t::registry
cgaudi_pluginsvc_t registry
Definition: capi_pluginservice.h:46
cgaudi_property_get_key
CGAUDI_API const char * cgaudi_property_get_key(cgaudi_property_t self)
Definition: capi_pluginservice.cpp:73
cgaudi_factory_t::id
const char * id
Definition: capi_pluginservice.h:42
cgaudi_property_t::id
const char * id
Definition: capi_pluginservice.h:47
cgaudi_factory_get_library
CGAUDI_API const char * cgaudi_factory_get_library(cgaudi_factory_t self)
Definition: capi_pluginservice.cpp:40
cgaudi_property_get_value
CGAUDI_API const char * cgaudi_property_get_value(cgaudi_property_t self)
Definition: capi_pluginservice.cpp:75