00001 /* 00002 * Module.h 00003 * 00004 * Created on: 26-aug-2009 00005 * Author: dodijk 00006 */ 00007 00008 #ifndef MODULE_H_ 00009 #define MODULE_H_ 00010 00011 namespace Impala { 00012 namespace Application { 00013 namespace MediaTable { 00014 00015 class ModuleListener { 00016 public: 00017 ModuleListener(std::string type) { 00018 mModuleType = type; 00019 } 00020 00021 std::string GetType() { return mModuleType; } 00022 00023 private: 00024 std::string mModuleType; 00025 }; 00026 00027 class Module { 00028 public: 00029 Module(std::string type, std::string name) { 00030 mModuleType = type; 00031 mModuleName = name; 00032 } 00033 00034 Module() {} 00035 00036 std::string GetType() { return mModuleType; } 00037 std::string GetName() { return mModuleName; } 00038 00039 void AddModuleListener(ModuleListener* listener) { 00040 mListeners.push_back(listener); 00041 } 00042 00043 protected: 00044 std::vector<ModuleListener*> mListeners; 00045 00046 private: 00047 std::string mModuleType; 00048 std::string mModuleName; 00049 }; 00050 00051 } 00052 } 00053 } 00054 00055 #endif /* Module_H_ */