The Gaudi Framework  master (82fdf313)
Loading...
Searching...
No Matches
capi_pluginservice.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 2013-2025 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
18extern "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
35typedef struct {
36 void* registry;
38
39typedef struct {
41 const char* id;
43
44typedef struct {
46 const char* id;
47 const char* key;
49
52
55
58
61
64
67
70
73
76
79
80#ifdef __cplusplus
81} /* extern "C" */
82#endif
CGAUDI_API cgaudi_pluginsvc_t cgaudi_pluginsvc_instance(void)
CGAUDI_API cgaudi_factory_t cgaudi_pluginsvc_get_factory_at(cgaudi_pluginsvc_t self, int n)
CGAUDI_API int cgaudi_factory_get_property_size(cgaudi_factory_t self)
#define CGAUDI_API
CGAUDI_API int cgaudi_pluginsvc_get_factory_size(cgaudi_pluginsvc_t self)
CGAUDI_API cgaudi_property_t cgaudi_factory_get_property_at(cgaudi_factory_t self, int n)
CGAUDI_API const char * cgaudi_property_get_key(cgaudi_property_t self)
CGAUDI_API const char * cgaudi_property_get_value(cgaudi_property_t self)
CGAUDI_API const char * cgaudi_factory_get_type(cgaudi_factory_t self)
CGAUDI_API const char * cgaudi_factory_get_classname(cgaudi_factory_t self)
CGAUDI_API const char * cgaudi_factory_get_library(cgaudi_factory_t self)
cgaudi_pluginsvc_t registry
cgaudi_pluginsvc_t registry