00001 #ifndef HWAPP_H 00002 #define HWAPP_H 00003 00004 #include <map> 00005 #include <string> 00006 00007 using namespace std; 00008 00009 class hwWindow; 00010 class hwTheme; 00011 class hwWidget; 00012 class wsRequest; 00013 00018 class hwApp 00019 { 00020 public: 00021 00022 hwApp(); 00023 00024 ~hwApp(); 00025 00032 void registerWidget(hwWidget* w); 00033 00039 void process(wsRequest* request); 00040 00041 virtual hwApp* createInstance() = 0; 00042 00043 virtual void init() = 0; 00044 00045 void setActiveWindow(hwWindow* window) 00046 { 00047 myActiveWindow = window; 00048 } 00049 00050 void setTheme(hwTheme* theme) 00051 { 00052 myTheme = theme; 00053 } 00054 00055 void setId(const string& id) 00056 { 00057 myId = id; 00058 } 00059 00060 hwTheme* getTheme() const 00061 { 00062 return myTheme; 00063 } 00064 00065 string getId() const 00066 { 00067 return myId; 00068 } 00069 00070 private: 00071 00072 hwWindow* myActiveWindow; 00073 hwTheme* myTheme; 00074 map<string,hwWidget*> myWidgetMap; 00075 string myId; 00076 string myClass; 00077 }; 00078 00079 #endif 00080