Gaudi Framework, version v25r0
Home
Generated: Mon Feb 17 2014
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
GaudiPluginService
src
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
;
40
}
cgaudi_pluginsvc_t
;
41
42
typedef
struct
{
43
cgaudi_pluginsvc_t
registry
;
44
const
char
*
id
;
45
}
cgaudi_factory_t
;
46
47
typedef
struct
{
48
cgaudi_pluginsvc_t
registry
;
49
const
char
*
id
;
50
const
char
*
key
;
51
}
cgaudi_property_t
;
52
53
CGAUDI_API
54
cgaudi_pluginsvc_t
55
cgaudi_pluginsvc_instance
(
void
);
56
57
CGAUDI_API
58
int
59
cgaudi_pluginsvc_get_factory_size
(
cgaudi_pluginsvc_t
self
);
60
61
CGAUDI_API
62
cgaudi_factory_t
63
cgaudi_pluginsvc_get_factory_at
(
cgaudi_pluginsvc_t
self
,
int
n
);
64
65
CGAUDI_API
66
const
char
*
67
cgaudi_factory_get_library
(
cgaudi_factory_t
self
);
68
69
CGAUDI_API
70
const
char
*
71
cgaudi_factory_get_type
(
cgaudi_factory_t
self
);
72
73
CGAUDI_API
74
const
char
*
75
cgaudi_factory_get_rtype
(
cgaudi_factory_t
self
);
76
77
CGAUDI_API
78
const
char
*
79
cgaudi_factory_get_classname
(
cgaudi_factory_t
self
);
80
81
CGAUDI_API
82
int
83
cgaudi_factory_get_property_size
(
cgaudi_factory_t
self
);
84
85
CGAUDI_API
86
cgaudi_property_t
87
cgaudi_factory_get_property_at
(
cgaudi_factory_t
self
,
int
n
);
88
89
CGAUDI_API
90
const
char
*
91
cgaudi_property_get_key
(
cgaudi_property_t
self
);
92
93
CGAUDI_API
94
const
char
*
95
cgaudi_property_get_value
(
cgaudi_property_t
self
);
96
97
98
#ifdef __cplusplus
99
}
/* extern "C" */
100
#endif
101
102
#endif
/* !_GAUDI_C_PLUGIN_SERVICE_H_ */
103
Generated at Mon Feb 17 2014 14:37:46 for Gaudi Framework, version v25r0 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004