cppexpose  1.0.0.b785e04f23b8
C++ library for type introspection, reflection, and scripting interface
Macros
plugin_api.h File Reference
#include <vector>
#include <cppexpose/plugin/ComponentManager.h>
#include <cppexpose/plugin/ComponentRegistry.h>
#include <cppexpose/plugin/Component.h>
Include dependency graph for plugin_api.h:

Go to the source code of this file.

Macros

#define CPPEXPOSE_PLUGIN_API   __attribute__ ((visibility ("default")))
 
#define CPPEXPOSE_DECLARE_COMPONENT(TYPE, BASETYPE, TAGS, ICON, ANNOTATIONS, DESCRIPTION, VENDOR, VERSION)
 
#define CPPEXPOSE_COMPONENT(TYPE, BASETYPE)   TYPE::ComponentType TYPE::Component;
 

Macro Definition Documentation

#define CPPEXPOSE_PLUGIN_API   __attribute__ ((visibility ("default")))
#define CPPEXPOSE_DECLARE_COMPONENT (   TYPE,
  BASETYPE,
  TAGS,
  ICON,
  ANNOTATIONS,
  DESCRIPTION,
  VENDOR,
  VERSION 
)
Value:
class ComponentType : public cppexpose::Component<TYPE, BASETYPE> \
{ \
public: \
ComponentType() \
#TYPE, \
DESCRIPTION, \
#BASETYPE, \
TAGS, \
ICON, \
ANNOTATIONS, \
VENDOR, \
VERSION) \
{ \
cppexpose::ComponentManager::registry().addComponent(this); \
} \
}; \
\
static ComponentType Component;
Represents a concrete component that can be instanciated.
Definition: Component.h:18
#define CPPEXPOSE_COMPONENT (   TYPE,
  BASETYPE 
)    TYPE::ComponentType TYPE::Component;