Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

module.h

Go to the documentation of this file.
00001 
00028 #ifndef DMN_MODULE_H
00029 #define DMN_MODULE_H 1
00030 
00031 #include <dmn/dmn.h>
00032 #include <dmn/id.h>
00033 
00034 #include <string>
00035 
00036 namespace dmn
00037 {
00041   typedef enum {
00042     ModuleNONE, 
00043     ModuleConfig, 
00044     ModuleCore, 
00045     ModuleDisplay, 
00046     ModuleGame, 
00047     ModuleHand, 
00048     ModuleMatch,  
00049     ModulePlayer, 
00050     ModuleSound,  
00051     ModuleTournament 
00052   } ModuleType;
00053 
00057   class Module
00058   {
00059   private:
00063     static IDs ids_;
00064     ID id_; // Module identificator
00065 
00066     /* Module information */
00067     ModuleType type_;
00068     std::string name_;
00069     std::string version_;
00070     std::string desc_;
00071 
00072   protected:
00078     void set_type(ModuleType type = ModuleNONE);
00079 
00085     void set_name(const std::string& name);
00086 
00092     void set_version(const std::string& version);
00093 
00099     void set_desc(const std::string& desc);
00100 
00101   public:
00105     Module();
00106 
00110     ~Module();
00111 
00117     ID id() const;
00118 
00124     ModuleType type() const;
00125 
00131     std::string name() const;
00132 
00138     std::string version() const;
00139 
00145     std::string desc() const;
00146   };
00147 };
00148 
00149 #endif // DMN_MODULE_H

Generated on Fri Dec 26 22:52:55 2003 for dmn by doxygen 1.3.4