#ifndef __SKINDESIGNERSERVICES_H #define __SKINDESIGNERSERVICES_H using namespace std; #include #include /********************************************************************* * Data Structures for Service Calls *********************************************************************/ // Data structure for service "RegisterPlugin" class RegisterPlugin { public: RegisterPlugin(void) { name = ""; }; void SetMenu(int key, string templateName) { menus.insert(pair(key, templateName)); } void SetView(int key, string templateName) { views.insert(pair(key, templateName)); } void SetSubView(int view, int subView, string templateName) { pair sub = make_pair(subView, templateName); subViews.insert(pair >(view, sub)); } void SetViewElement(int view, int viewElement, string name) { map< int, map >::iterator hit = viewElements.find(view); if (hit == viewElements.end()) { map vE; vE.insert(pair(viewElement, name)); viewElements.insert(pair >(view, vE)); } else { (hit->second).insert(pair(viewElement, name)); } } void SetViewGrid(int view, int viewGrid, string name) { map< int, map >::iterator hit = viewGrids.find(view); if (hit == viewGrids.end()) { map vG; vG.insert(pair(viewGrid, name)); viewGrids.insert(pair >(view, vG)); } else { (hit->second).insert(pair(viewGrid, name)); } } // in string name; //name of plugin map< int, string > menus; //menus as key -> templatename hashmap map< int, string> views; //standalone views as key -> templatename hashmap multimap< int, pair > subViews; //subviews of standalone views as view -> (subview, templatename) multimap map< int, map > viewElements; //viewelements as key -> (viewelement, viewelementname) hashmap map< int, map > viewGrids; //viewgrids as key -> (viewgrid, viewgridname) hashmap //out }; // Data structure for service "GetDisplayMenu" class GetDisplayMenu { public: GetDisplayMenu(void) { displayMenu = NULL; }; // in //out cSDDisplayMenu *displayMenu; }; // Data structure for service "GetDisplayPlugin" class GetDisplayPlugin { public: GetDisplayPlugin(void) { pluginName = ""; viewID = -1; subViewID = -1; displayPlugin = NULL; }; // in string pluginName; int viewID; int subViewID; //out cSkinDisplayPlugin *displayPlugin; }; #endif //__SKINDESIGNERSERVICES_H