From 4d7700aecedf475038d57e10f45ab2dd4bcf806f Mon Sep 17 00:00:00 2001 From: louis Date: Thu, 12 Feb 2015 18:50:58 +0100 Subject: plugin interface --- services.h | 82 +++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 35 deletions(-) (limited to 'services.h') diff --git a/services.h b/services.h index 203e715..ea2372b 100644 --- a/services.h +++ b/services.h @@ -13,55 +13,67 @@ using namespace std; // Data structure for service "RegisterPlugin" class RegisterPlugin { public: - RegisterPlugin(void) { - name = ""; - }; - void SetMenu(int key, string templateName) { - menus.insert(pair(key, templateName)); - } + 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 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 + string name; //name of plugin + map< int, string > menus; //menus as key -> templatename hashmap + map< int, string> views; //standalone views as key -> templatename hashmap + 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; - }; + GetDisplayMenu(void) { + displayMenu = NULL; + }; // in //out - cSDDisplayMenu *displayMenu; + cSDDisplayMenu *displayMenu; }; -// Data structure for service "RegisterStandalonePlugin" -/* -class RegisterStandalonePlugin { -public: - RegisterStandalonePlugin(void) { - name = ""; - rootView = ""; - }; - void SetMenu(int key, string templateName) { - menus.insert(pair(key, templateName)); - } -// in - string name; //name of plugin - string rootView; //name of plugin - map< int, string > menus; //menus as key -> templatename hashmap -//out -}; -*/ // Data structure for service "GetDisplayPlugin" class GetDisplayPlugin { public: - GetDisplayPlugin(void) { - displayPlugin = NULL; - }; + GetDisplayPlugin(void) { + pluginName = ""; + viewID = -1; + displayPlugin = NULL; + }; // in + string pluginName; + int viewID; //out - cDisplayPlugin *displayPlugin; + cSkinDisplayPlugin *displayPlugin; }; -#endif //__SKINDESIGNERSERVICES_H \ No newline at end of file +#endif //__SKINDESIGNERSERVICES_H -- cgit v1.2.3