version 1.10, 2006/10/03 13:40:42
|
version 1.11, 2006/11/14 18:34:59
|
|
|
| |
//%//////////////////////////////////////////////////////////////////////////// | //%//////////////////////////////////////////////////////////////////////////// |
| |
|
|
#ifndef Pegasus_reg_table_h | #ifndef Pegasus_reg_table_h |
#define Pegasus_reg_table_h | #define Pegasus_reg_table_h |
| |
|
|
class PEGASUS_SERVER_LINKAGE DynamicRoutingTable | class PEGASUS_SERVER_LINKAGE DynamicRoutingTable |
{ | { |
public: | public: |
DynamicRoutingTable(void); |
DynamicRoutingTable(); |
DynamicRoutingTable(const DynamicRoutingTable & table); | DynamicRoutingTable(const DynamicRoutingTable & table); |
DynamicRoutingTable & operator =(const DynamicRoutingTable & table); | DynamicRoutingTable & operator =(const DynamicRoutingTable & table); |
~DynamicRoutingTable(void); |
~DynamicRoutingTable(); |
| |
static DynamicRoutingTable get_rw_routing_table(void); |
static DynamicRoutingTable get_rw_routing_table(); |
| |
// get a single service that can route this spec. | // get a single service that can route this spec. |
MessageQueueService *get_routing(const CIMName& classname, |
MessageQueueService* get_routing( |
|
const CIMName& classname, |
const CIMNamespaceName& ns, | const CIMNamespaceName& ns, |
Uint32 type, | Uint32 type, |
Uint32 flags, | Uint32 flags, |
String & provider, | String & provider, |
String & module) const; | String & module) const; |
| |
Boolean insert_record(const CIMName& classname, |
Boolean insert_record( |
|
const CIMName& classname, |
const CIMNamespaceName& ns, | const CIMNamespaceName& ns, |
Uint32 type, | Uint32 type, |
Uint32 flags, | Uint32 flags, |
MessageQueueService* svce) ; | MessageQueueService* svce) ; |
| |
Boolean insert_record(const CIMName& classname, |
Boolean insert_record( |
|
const CIMName& classname, |
const CIMNamespaceName& ns, | const CIMNamespaceName& ns, |
Uint32 type, | Uint32 type, |
Uint32 flags, | Uint32 flags, |
MessageQueueService* svce, | MessageQueueService* svce, |
const String& provider, | const String& provider, |
const String& module) ; | const String& module) ; |
|
|
/** | /** |
Router "types". These are actually keys used in the routing table. | Router "types". These are actually keys used in the routing table. |
A provider manager (or other service provider) that can route messages | A provider manager (or other service provider) that can route messages |
must register as being of a certain type. These types classify the routers |
must register as being of a certain type. These types classify the |
according to function and also make queries faster. |
routers according to function and also make queries faster. |
|
|
Most of the current types correspond to provider interfaces. However, some |
|
are generic pegasus services, and others are specific services. |
|
| |
The extended type is an escape mechanism that allows unlimited expansion |
Most of the current types correspond to provider interfaces. However, |
of "types" in the future. |
some are generic pegasus services, and others are specific services. |
|
The extended type is an escape mechanism that allows unlimited |
|
expansion of "types" in the future. |
*/ | */ |
|
|
static const Uint32 INTERNAL; // "control providers" | static const Uint32 INTERNAL; // "control providers" |
static const Uint32 METHOD; | static const Uint32 METHOD; |
static const Uint32 INSTANCE; | static const Uint32 INSTANCE; |
static const Uint32 CLASS; | static const Uint32 CLASS; |
| |
void dump_table(void); |
void dump_table(); |
| |
private: | private: |
reg_table_rep *_rep; | reg_table_rep *_rep; |
}; | }; |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |
|
|
#endif // Pegasus_reg_table_h | #endif // Pegasus_reg_table_h |