Defines
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.

Defines

#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.


Define Documentation

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

Definition at line 58 of file Plugin.h.

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.

Definition at line 47 of file Plugin.h.

#define ICL_CORE_PLUGIN_MANAGER_DEFINITION (   name,
  interface,
  directory 
)
Value:
name : public icl_core::plugin::PluginManager<interface, directory> { \
    name()                                                              \
    {                                                                   \
      LOGGING_TRACE(icl_core::plugin::Plugin, "Using plugin search path " \
                    << directory << icl_core::logging::endl);           \
    }                                                                   \
  };

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;                                                           \
  }

Definition at line 62 of file Plugin.h.



fzi_icl_core
Author(s):
autogenerated on Tue Aug 8 2017 02:28:04