- #ifndef PLUGINTHREAD_H_
- #define PLUGINTHREAD_H_
-
- #include "SocketServer.h"
-
- /* sofern lua aktiviert ist ? -> ifdef noetig ? */
- #include "lua.hpp"
-
- /*
- * PluginThread
- */
-
- class PluginThread : public ThreadBase
- {
- public:
- PluginThread(int LOCKNUM, std::string dllfile,XMLNode *pConfig=NULL);
- PluginThread();
- virtual ~PluginThread();
- virtual void *Thread() ;
- bool initPlugin(int LOCKNUM, std::string,XMLNode *pConfig=NULL) ;
- std::string getPluginName() ;
- void setPluginName(std::string pluginName) ;
- MonitorBlockingSignal m_signal ;
- virtual void addResult(ModuleResultBase* pRes) ;
- bool m_bStop ;
-
- private:
- MonitorPlugIn* m_plugin ;
- MODULERESULTSET m_queue ;
- DLLFactory<MonitorPlugInFactory>* dll ;
- std::string m_pluginName ;
- } ;
-
- typedef std::vector<PluginThread*> tMonitorPluginThreadVector ;
- /**
- * @brief Verwaltet alle Nicht-Audio Plugins
- */
-
- class MonitorPluginsManager
- {
- public:
- MonitorPluginsManager() ;
- bool loadScriptFilter(std::string FilterFileName) ;
- virtual ~MonitorPluginsManager() ;
- bool addModule(PluginThread* pThread) ;
- bool removeModule(PluginThread* pThread);
- bool dispatchResult(ModuleResultBase *pRes) ;
- bool loadPlugin(std::string dllfile, XMLNode *pConfig, std::string pluginName);
- bool loadPluginsFromConfigNode(XMLNode *pConfig);
-
- protected:
- MEMLOCK m_MemLock ;
- tMonitorPluginThreadVector m_Modules ;
- bool m_bStop ;
-
- bool m_bSkipDispatching ;
- #ifdef LUA
- lua_State *L;
- bool m_bUseLUAScript ;
- #endif
- };
-
- MonitorPluginsManager& GetPluginsManager() ;
-
-
- #endif /*PLUGINTHREAD_H_*/