capi_pluginservice.h
Go to the documentation of this file.
1 #ifndef _GAUDI_C_PLUGIN_SERVICE_H_
2 #define _GAUDI_C_PLUGIN_SERVICE_H_ 1
3 /*****************************************************************************\
4 * (c) Copyright 2013 CERN *
5 * *
6 * This software is distributed under the terms of the GNU General Public *
7 * Licence version 3 (GPL Version 3), copied verbatim in the file "LICENCE". *
8 * *
9 * In applying this licence, CERN does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 \*****************************************************************************/
13 
14 /* @author Sebastien Binet <binet@cern.ch> */
15 
16 #include <stdint.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #if __GNUC__ >= 4
23 # define CGAUDI_HASCLASSVISIBILITY
24 #endif
25 
26 #if defined(CGAUDI_HASCLASSVISIBILITY)
27 # define CGAUDI_IMPORT __attribute__((visibility("default")))
28 # define CGAUDI_EXPORT __attribute__((visibility("default")))
29 # define CGAUDI_LOCAL __attribute__((visibility("hidden")))
30 #else
31 # define CGAUDI_IMPORT
32 # define CGAUDI_EXPORT
33 # define CGAUDI_LOCAL
34 #endif
35 
36 #define CGAUDI_API CGAUDI_EXPORT
37 
38  typedef struct {
39  void *registry;
41 
42  typedef struct {
44  const char *id;
46 
47  typedef struct {
49  const char *id;
50  const char *key;
52 
56 
58  int
60 
64 
66  const char*
68 
70  const char*
72 
74  const char*
76 
78  const char*
80 
82  int
84 
88 
90  const char*
92 
94  const char*
96 
97 
98 #ifdef __cplusplus
99 } /* extern "C" */
100 #endif
101 
102 #endif /* !_GAUDI_C_PLUGIN_SERVICE_H_ */
103 
cgaudi_pluginsvc_t registry
CGAUDI_API const char * cgaudi_property_get_key(cgaudi_property_t self)
CGAUDI_API int cgaudi_factory_get_property_size(cgaudi_factory_t self)
CGAUDI_API const char * cgaudi_factory_get_classname(cgaudi_factory_t self)
#define CGAUDI_API
CGAUDI_API const char * cgaudi_factory_get_rtype(cgaudi_factory_t self)
CGAUDI_API cgaudi_factory_t cgaudi_pluginsvc_get_factory_at(cgaudi_pluginsvc_t self, int n)
cgaudi_pluginsvc_t registry
CGAUDI_API cgaudi_pluginsvc_t cgaudi_pluginsvc_instance(void)
CGAUDI_API cgaudi_property_t cgaudi_factory_get_property_at(cgaudi_factory_t self, int n)
CGAUDI_API int cgaudi_pluginsvc_get_factory_size(cgaudi_pluginsvc_t self)
CGAUDI_API const char * cgaudi_factory_get_type(cgaudi_factory_t self)
CGAUDI_API const char * cgaudi_factory_get_library(cgaudi_factory_t self)
CGAUDI_API const char * cgaudi_property_get_value(cgaudi_property_t self)