The Gaudi Framework
master (57817a18)
Toggle main menu visibility
Loading...
Searching...
No Matches
capi_pluginservice.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 2013-2026 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
#pragma once
12
13
/* @author Sebastien Binet <binet@cern.ch> */
14
15
#include <stdint.h>
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
#define CGAUDI_HASCLASSVISIBILITY
22
23
#if defined( CGAUDI_HASCLASSVISIBILITY )
24
# define CGAUDI_IMPORT __attribute__( ( visibility( "default" ) ) )
25
# define CGAUDI_EXPORT __attribute__( ( visibility( "default" ) ) )
26
# define CGAUDI_LOCAL __attribute__( ( visibility( "hidden" ) ) )
27
#else
28
# define CGAUDI_IMPORT
29
# define CGAUDI_EXPORT
30
# define CGAUDI_LOCAL
31
#endif
32
33
#define CGAUDI_API CGAUDI_EXPORT
34
35
typedef
struct
{
36
void
*
registry
;
37
}
cgaudi_pluginsvc_t
;
38
39
typedef
struct
{
40
cgaudi_pluginsvc_t
registry
;
41
const
char
*
id
;
42
}
cgaudi_factory_t
;
43
44
typedef
struct
{
45
cgaudi_pluginsvc_t
registry
;
46
const
char
*
id
;
47
const
char
*
key
;
48
}
cgaudi_property_t
;
49
50
CGAUDI_API
51
cgaudi_pluginsvc_t
cgaudi_pluginsvc_instance
(
void
);
52
53
CGAUDI_API
54
int
cgaudi_pluginsvc_get_factory_size
(
cgaudi_pluginsvc_t
self );
55
56
CGAUDI_API
57
cgaudi_factory_t
cgaudi_pluginsvc_get_factory_at
(
cgaudi_pluginsvc_t
self,
int
n );
58
59
CGAUDI_API
60
const
char
*
cgaudi_factory_get_library
(
cgaudi_factory_t
self );
61
62
CGAUDI_API
63
const
char
*
cgaudi_factory_get_type
(
cgaudi_factory_t
self );
64
65
CGAUDI_API
66
const
char
*
cgaudi_factory_get_classname
(
cgaudi_factory_t
self );
67
68
CGAUDI_API
69
int
cgaudi_factory_get_property_size
(
cgaudi_factory_t
self );
70
71
CGAUDI_API
72
cgaudi_property_t
cgaudi_factory_get_property_at
(
cgaudi_factory_t
self,
int
n );
73
74
CGAUDI_API
75
const
char
*
cgaudi_property_get_key
(
cgaudi_property_t
self );
76
77
CGAUDI_API
78
const
char
*
cgaudi_property_get_value
(
cgaudi_property_t
self );
79
80
CGAUDI_API
81
const
char
*
cgaudi_pluginsvc_plugin_search_path
();
82
83
#ifdef __cplusplus
84
}
/* extern "C" */
85
#endif
cgaudi_pluginsvc_instance
CGAUDI_API cgaudi_pluginsvc_t cgaudi_pluginsvc_instance(void)
Definition
capi_pluginservice.cpp:21
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:31
cgaudi_pluginsvc_plugin_search_path
CGAUDI_API const char * cgaudi_pluginsvc_plugin_search_path()
Definition
capi_pluginservice.cpp:80
cgaudi_factory_get_property_size
CGAUDI_API int cgaudi_factory_get_property_size(cgaudi_factory_t self)
Definition
capi_pluginservice.cpp:57
CGAUDI_API
#define CGAUDI_API
Definition
capi_pluginservice.h:33
cgaudi_pluginsvc_get_factory_size
CGAUDI_API int cgaudi_pluginsvc_get_factory_size(cgaudi_pluginsvc_t self)
Definition
capi_pluginservice.cpp:26
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:63
cgaudi_property_get_key
CGAUDI_API const char * cgaudi_property_get_key(cgaudi_property_t self)
Definition
capi_pluginservice.cpp:71
cgaudi_property_get_value
CGAUDI_API const char * cgaudi_property_get_value(cgaudi_property_t self)
Definition
capi_pluginservice.cpp:73
cgaudi_factory_get_type
CGAUDI_API const char * cgaudi_factory_get_type(cgaudi_factory_t self)
Definition
capi_pluginservice.cpp:43
cgaudi_factory_get_classname
CGAUDI_API const char * cgaudi_factory_get_classname(cgaudi_factory_t self)
Definition
capi_pluginservice.cpp:50
cgaudi_factory_get_library
CGAUDI_API const char * cgaudi_factory_get_library(cgaudi_factory_t self)
Definition
capi_pluginservice.cpp:38
cgaudi_factory_t
Definition
capi_pluginservice.h:39
cgaudi_factory_t::id
const char * id
Definition
capi_pluginservice.h:41
cgaudi_factory_t::registry
cgaudi_pluginsvc_t registry
Definition
capi_pluginservice.h:40
cgaudi_pluginsvc_t
Definition
capi_pluginservice.h:35
cgaudi_pluginsvc_t::registry
void * registry
Definition
capi_pluginservice.h:36
cgaudi_property_t
Definition
capi_pluginservice.h:44
cgaudi_property_t::key
const char * key
Definition
capi_pluginservice.h:47
cgaudi_property_t::registry
cgaudi_pluginsvc_t registry
Definition
capi_pluginservice.h:45
cgaudi_property_t::id
const char * id
Definition
capi_pluginservice.h:46
GaudiPluginService
src
capi_pluginservice.h
Generated on
for The Gaudi Framework by
1.17.0