commore  1.0.6-SNAPSHOT
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ServiceManager.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2006-2007 Raphael David / CANTOR
3 //
4 
5 #ifndef CMR_SERVICE_MANAGER_INCLUDED
6 #define CMR_SERVICE_MANAGER_INCLUDED
7 
8 #include "commore/Commore.h"
9 #include "commore/AutoRef.h"
10 #include "commore/Service.h"
12 #include "commore/List.h"
13 #include "HMap.h"
14 #include "commore/Listener.h"
15 #include "commore/Sender.h"
16 #include "commore/Thread.h"
17 #include "commore/Processor.h"
18 
19 namespace commore
20 {
21  class ServiceManager;
22 
27  {
28  Impl();
29  ~Impl();
30 
31  long publish(const PService& service);
32  long unpublish(const PService& service);
33 
34 
35  bool add_listener(const AChar* spec);
36  bool remove_listener(const AChar* spec);
37  bool add_listener(const PListener& spec);
38  bool remove_listener(const PListener& spec);
39 
43  int call(const Tuple& inReq, Tuple& outReq);
45 
46  Impl(const Impl&);
47  Impl& operator = (const Impl&);
48 
49  PService getMyService(const char* className, const char* name);
50 
54 
55  friend class ServiceManager;
60  };
61 
65  struct Internals_
66  {
75  : service_(0) {}
76  };
77 };
78 
79 #endif
AString name_
Definition: ServiceManager.h:68
Impl & operator=(const Impl &)
Internals_()
Definition: ServiceManager.h:74
long publish(const PService &service)
Definition: ServiceManager.cpp:149
Definition: Listener.h:43
Definition: Tuple.h:29
PPService service_
Definition: ServiceManager.h:71
Definition: AString.h:39
List< PService > service_list_
Definition: ServiceManager.h:52
~Impl()
Definition: ServiceManager.cpp:129
A commore::Service is an object that mimics an object in an object oriented system : it has a class n...
Definition: Service.h:122
bool add_listener(const AChar *spec)
Definition: ServiceManager.cpp:207
PService getMyService(const char *className, const char *name)
Definition: ServiceManager.cpp:236
static List< PServiceManager::Impl * > & service_manager_list_()
Definition: ServiceManager.cpp:23
char AChar
Definition: Type.h:65
Impl()
Definition: ServiceManager.cpp:118
Definition: ServiceManager.h:26
friend class ServiceManager
Definition: ServiceManager.h:55
List< PInterface > interface_list_
Definition: ServiceManager.h:73
CriticalSection service_list_cs_
Definition: ServiceManager.h:51
bool remove_listener(const AChar *spec)
Definition: ServiceManager.cpp:292
PSender sender_
Definition: ServiceManager.h:72
Definition: CriticalSection.h:15
Definition: RefObject.h:89
AutoRef is a smart pointer on RefObject objects. AutoRef is templatized with the type of the pointed ...
Definition: AutoRef.h:86
ListAString & get_addresses(ListAString &addresses)
Definition: ServiceManager.cpp:275
AString class_name_
Definition: ServiceManager.h:67
Tuple * sessionContext_
Definition: ServiceManager.h:70
AString address_
Definition: ServiceManager.h:69
Definition: ServiceManager.h:65
int call(const Tuple &inReq, Tuple &outReq)
Definition: ServiceManager.cpp:326
long unpublish(const PService &service)
Definition: ServiceManager.cpp:169
Definition: AutoRef.h:270
List< PListener > listener_list_
Definition: ServiceManager.h:53