tagging release
[dasher.git] / Src / DasherCore / ModuleFactory.h
blobf384010755b2787996f13fbc7a116d9736777d01
1 #ifndef __MODULE_FACTORY_H__
2 #define __MODULE_FACTORY_H__
4 #include "DasherModule.h"
6 #include <string>
8 /// \ingroup Core
9 /// @{
11 /// \todo Implement generic implementation of iterators
12 class CModuleFactory {
13 public:
14 virtual void Start() = 0;
15 virtual bool IsMore() = 0;
16 virtual void GetNext(ModuleID_t *iID, int *iType, std::string *strName) = 0;
18 virtual CDasherModule *GetModule(ModuleID_t iID) = 0;
19 virtual std::string GetName(ModuleID_t iID) = 0;
20 virtual int GetType(ModuleID_t iID) = 0;
22 /// @}
24 #endif