PluginLoader.h
Upload User: kairuinn
Upload Date: 2009-02-07
Package Size: 2922k
Code Size: 1k
Category:

Graph program

Development Platform:

Visual C++

  1. #ifndef __PLUGIN_LOADER__
  2. #define __PLUGIN_LOADER__
  3. #include "ToolbarPlugin.h"
  4. #include <string>
  5. #include <map>
  6. struct  OBJ_SUPPORTER
  7. {
  8. int plugin_index;
  9. CBitmap32*      object_icon;
  10. OBJ_SUPPORTER()
  11. {
  12. plugin_index = -1;
  13. object_icon  = NULL;
  14. };
  15. OBJ_SUPPORTER(const OBJ_SUPPORTER &src)
  16. {
  17. plugin_index = src.plugin_index;
  18. object_icon  = src.object_icon;
  19. };
  20. OBJ_SUPPORTER &operator = (OBJ_SUPPORTER &src)
  21. {
  22. plugin_index = src.plugin_index;
  23. object_icon  = src.object_icon;
  24. return *this;
  25. }
  26. } ;
  27. class CPluginLoader
  28. {
  29. public:
  30. CPluginLoader();
  31. virtual ~CPluginLoader();
  32. void  LoadAllPlugins();
  33. std::vector<CToolbarPlugin*>   m_toolbar_plugins;
  34. std::map< std::string, OBJ_SUPPORTER>   m_objects_supporter;
  35. protected:
  36. std::vector<CString>    m_PluginsPathsArray; 
  37. CString    m_application_Path; 
  38. void    GetPlugInFiles(CString sPath);
  39. void  PluginLoader(CString pluginFile);
  40. };
  41. #endif