//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-/// @file PluginManagerImpl.h
-
-/// @brief
+/**
+ * @file
+ *
+ */
#ifndef __PLUGINMANAGERIMPL_H__
#define __PLUGINMANAGERIMPL_H__
#include "Plugin.h"
#include "CpluffAdapter.h"
-#include "FelixAdapter.h"
+
+#ifdef ANDROID
+ #include "FelixAdapter.h"
+#endif
namespace OIC
{
* During construction time, all plugins under the root plugin path will be loaded.
*
*/
- PluginManagerImpl();
+ PluginManagerImpl(void* args);
/**
* Virtual destructor
* @param Plugin ID
* @return Plugin state.
*/
- std::string getState(const std::string plugID);
+ virtual std::string getState(const std::string plugID);
/**
* Start plugins by resource type
* @param Plugin
* @return int, 1 is success, 0 is fail.
*/
- virtual int startPlugins(Plugin *const plugin);
+ int startPlugins(Plugin *const plugin);
/**
* @param Plugin
* @return int, 1 is success, 0 is fail.
*/
- virtual int stopPlugins(Plugin *const plugin);
+ int stopPlugins(Plugin *const plugin);
+
+ /**
+ * Rescan Plugin.
+ * This function will call rescan function of plugins in the configuration folder
+ *
+ * @param Plugin
+ * @return int, 1 is success, 0 is fail.
+ */
+ virtual int rescanPlugin();
/**
* get all plugins which currently registered.
*/
virtual std::vector<Plugin> &getAllPlugins(void);
- static PluginManagerImpl *Getinstance()
+ static PluginManagerImpl *Getinstance(void *arg)
{
if (NULL == s_pinstance)
{
- s_pinstance = new PluginManagerImpl();
+ s_pinstance = new PluginManagerImpl(arg);
}
return s_pinstance;
private:
CpluffAdapter *cppm;
- FelixAdapter *javappm;
+ #ifdef ANDROID
+ FelixAdapter *javappm;
+ #endif
std::vector<Plugin> m_plugins;
static PluginManagerImpl *s_pinstance;
};
}
-#endif //__PLUGINMANAGERIMPL_H__
\ No newline at end of file
+#endif //__PLUGINMANAGERIMPL_H__