20 #ifndef FACTORY_H_5WKLGPRB 
   21 #define FACTORY_H_5WKLGPRB 
   27 #ifdef BUILD_AS_PLUGINS 
   28 #include "Pluma/Pluma.hpp" 
   39 class InterpreterImpl;
 
   40 class IOProcessorImpl;
 
   41 class IOProcessorCallbacks;
 
   43 class DataModelCallbacks;
 
   45 class InvokerCallbacks;
 
   46 class ExecutableContentImpl;
 
   58     std::shared_ptr<DataModelImpl> createDataModel(
const std::string& type, 
DataModelCallbacks* callbacks);
 
   59     std::shared_ptr<IOProcessorImpl> createIOProcessor(
const std::string& type, 
IOProcessorCallbacks* callbacks);
 
   60     std::shared_ptr<InvokerImpl> createInvoker(
const std::string& type, 
InvokerCallbacks* interpreter);
 
   61     std::shared_ptr<ExecutableContentImpl> createExecutableContent(
const std::string& localName, 
const std::string& nameSpace, 
InterpreterImpl* interpreter);
 
   63     bool hasDataModel(
const std::string& type);
 
   64     bool hasIOProcessor(
const std::string& type);
 
   65     bool hasInvoker(
const std::string& type);
 
   66     bool hasExecutableContent(
const std::string& localName, 
const std::string& nameSpace);
 
   68     std::map<std::string, IOProcessorImpl*> getIOProcessors();
 
   70     void listComponents();
 
   74     static void setDefaultPluginPath(
const std::string& path);
 
   75     static std::string getDefaultPluginPath();
 
   78     std::map<std::string, DataModelImpl*> _dataModels;
 
   79     std::map<std::string, std::string> _dataModelAliases;
 
   80     std::map<std::string, IOProcessorImpl*> _ioProcessors;
 
   81     std::map<std::string, std::string> _ioProcessorAliases;
 
   82     std::map<std::string, InvokerImpl*> _invokers;
 
   83     std::map<std::string, std::string> _invokerAliases;
 
   87 #ifdef BUILD_AS_PLUGINS 
   91     void registerPlugins();
 
   96     std::string _pluginPath;
 
   97     static std::string _defaultPluginPath;
 
Definition: Breakpoint.cpp:26
Abstract base class for all data-model implementations. 
Definition: DataModelImpl.h:77
Abstract base class for all invokers. 
Definition: InvokerImpl.h:59
Definition: InterpreterImpl.h:51
Abstract base class for IOProcessors implementations. 
Definition: IOProcessorImpl.h:54
Callbacks available for every invoker. 
Definition: InvokerImpl.h:43
Callbacks available for every data-model. 
Definition: DataModelImpl.h:47
Callbacks available for every IO processor. 
Definition: IOProcessorImpl.h:36
Abstract base class fo all elements of executable content. 
Definition: ExecutableContentImpl.h:44