![]() |
![]() |
00001 #ifndef IGUANA_WEB_FRAMEWORK_IG_WEB_TREE_SERVICE_H 00002 # define IGUANA_WEB_FRAMEWORK_IG_WEB_TREE_SERVICE_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/WebFramework/interface/config.h" 00007 # include "Iguana/WebFramework/interface/IgWebService.h" 00008 # include <classlib/utils/Hook.h> 00009 # include <list> 00010 # include <string> 00011 00012 //<<<<<< PUBLIC DEFINES >>>>>> 00013 //<<<<<< PUBLIC CONSTANTS >>>>>> 00014 //<<<<<< PUBLIC TYPES >>>>>> 00015 00016 class IgState; 00017 class IgUIDModel; 00018 class IgRepresentable; 00019 00020 //<<<<<< PUBLIC VARIABLES >>>>>> 00021 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00022 //<<<<<< CLASS DECLARATIONS >>>>>> 00023 00024 class IGUANA_WEB_FRAMEWORK_API IgWebTreeService : public IgWebService 00025 { 00026 public: 00027 static const char *catalogLabel (void); 00028 IgWebTreeService (IgState *state); 00029 00030 void browse (Arguments *arguments); 00031 void getRepID (Arguments *arguments); 00032 void twigMenu (Arguments *arguments); 00033 00034 IgUIDModel * uidModel (void); 00035 00036 // implicit copy constructor 00037 // implicit assignment operator 00038 // implicit destructor 00039 typedef lat::Hook1<std::string, IgRepresentable *> MenuHook; 00040 00041 void registerMenuHook (MenuHook hook); 00042 private: 00043 IgState * m_state; 00044 IgUIDModel * m_uidModel; 00045 00046 typedef std::list < MenuHook > MenuHooks; 00047 MenuHooks m_menuHooks; 00048 }; 00049 00050 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00051 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00052 00053 #endif // IGUANA_WEB_FRAMEWORK_BROWSER_IG_WEB_TREE_SERVICE_H