Macros
Plugin.h File Reference

Base header file for the plugin framework. More...

#include "icl_core_plugin/ImportExport.h"
#include "icl_core_plugin/PluginManager.h"
#include "icl_core_plugin/Logging.h"
#include <string>
Include dependency graph for Plugin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ICL_CORE_PLUGIN_DECLARE_PLUGIN
 
#define ICL_CORE_PLUGIN_DECLARE_PLUGIN_INTERFACE(name)
 
#define ICL_CORE_PLUGIN_DECLARE_PLUGIN_MANAGER(name, interface, directory)   class ICL_CORE_PLUGIN_MANAGER_DEFINITION(name, interface, directory)
 
#define ICL_CORE_PLUGIN_DECLARE_PLUGIN_MANAGER_IMPORT_EXPORT(decl, name, interface, directory)   class decl ICL_CORE_PLUGIN_MANAGER_DEFINITION(name, interface, directory)
 
#define ICL_CORE_PLUGIN_LINKAGE
 
#define ICL_CORE_PLUGIN_MANAGER_DEFINITION(name, interface, directory)
 
#define ICL_CORE_PLUGIN_REGISTER_PLUGIN(base, derived, plugin_identifier)   ICL_CORE_PLUGIN_REGISTER_PLUGIN_IMPORT_EXPORT(, base, derived, plugin_identifier)
 
#define ICL_CORE_PLUGIN_REGISTER_PLUGIN_IMPORT_EXPORT(decl, base, derived, plugin_identifier)
 

Detailed Description

Base header file for the plugin framework.

Author
Thomas Schamm
Date
22.11.2009

Definition in file Plugin.h.

Macro Definition Documentation

#define ICL_CORE_PLUGIN_DECLARE_PLUGIN
Value:
public: \
virtual std::string Identifier() const; \

Definition at line 58 of file Plugin.h.

#define ICL_CORE_PLUGIN_DECLARE_PLUGIN_INTERFACE (   name)
Value:
public: \
virtual std::string Identifier() const = 0; \
typedef const char* identifier(); \
typedef const char* basetype(); \
typedef name* load_plugin(); \
typedef void unload_plugin(name*);

Definition at line 50 of file Plugin.h.

#define ICL_CORE_PLUGIN_DECLARE_PLUGIN_MANAGER (   name,
  interface,
  directory 
)    class ICL_CORE_PLUGIN_MANAGER_DEFINITION(name, interface, directory)

Definition at line 100 of file Plugin.h.

#define ICL_CORE_PLUGIN_DECLARE_PLUGIN_MANAGER_IMPORT_EXPORT (   decl,
  name,
  interface,
  directory 
)    class decl ICL_CORE_PLUGIN_MANAGER_DEFINITION(name, interface, directory)

Definition at line 102 of file Plugin.h.

#define ICL_CORE_PLUGIN_LINKAGE

Definition at line 47 of file Plugin.h.

#define ICL_CORE_PLUGIN_MANAGER_DEFINITION (   name,
  interface,
  directory 
)
Value:
name() \
{ \
LOGGING_TRACE(icl_core::plugin::Plugin, "Using plugin search path " \
<< directory << icl_core::logging::endl); \
} \
};
ThreadStream & endl(ThreadStream &stream)
Definition: ThreadStream.h:249
#define LOGGING_TRACE(streamname, arg)

Definition at line 91 of file Plugin.h.

#define ICL_CORE_PLUGIN_REGISTER_PLUGIN (   base,
  derived,
  plugin_identifier 
)    ICL_CORE_PLUGIN_REGISTER_PLUGIN_IMPORT_EXPORT(, base, derived, plugin_identifier)

Definition at line 88 of file Plugin.h.

#define ICL_CORE_PLUGIN_REGISTER_PLUGIN_IMPORT_EXPORT (   decl,
  base,
  derived,
  plugin_identifier 
)
Value:
std::string derived::Identifier() const \
{ \
return plugin_identifier; \
} \
\
extern "C" ICL_CORE_PLUGIN_LINKAGE decl const char * identifier() \
{ \
return plugin_identifier; \
} \
\
extern "C" ICL_CORE_PLUGIN_LINKAGE decl const char * basetype() \
{ \
return typeid(base).name(); \
} \
\
extern "C" ICL_CORE_PLUGIN_LINKAGE decl base* load_plugin() \
{ \
return new derived; \
} \
\
extern "C" ICL_CORE_PLUGIN_LINKAGE decl void unload_plugin(derived* p) \
{ \
delete p; \
}
#define ICL_CORE_PLUGIN_LINKAGE
Definition: Plugin.h:47

Definition at line 62 of file Plugin.h.



fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58