sipxtacklib  Version 3.3
ProvisioningClass.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 SIPfoundry Inc.
3 // Licensed by SIPfoundry under the LGPL license.
4 //
5 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
6 // Licensed to SIPfoundry under a Contributor Agreement.
7 //
8 // $$
10 
11 #ifndef _ProvisioningClass_h_
12 #define _ProvisioningClass_h_
13 
14 // SYSTEM INCLUDES
15 // APPLICATION INCLUDES
16 #include <utl/UtlString.h>
17 #include <utl/UtlContainable.h>
18 
19 // DEFINES
20 // MACROS
21 // EXTERNAL FUNCTIONS
22 // EXTERNAL VARIABLES
23 // CONSTANTS
24 // STRUCTS
25 // TYPEDEFS
26 // FORWARD DECLARATIONS
27 class TiXmlNode;
28 class TiXmlDocument;
29 class ProvisioningServer;
31 
32 
33 class ProvisioningClass : public UtlContainable {
34 public:
35 /* //////////////////////////// PUBLIC //////////////////////////////////// */
36 
37 /* ============================ CREATORS ================================== */
38 
42  ProvisioningClass(const char* pClassName);
43 
47  virtual ~ProvisioningClass();
48 
49 /* ============================ MANIPULATORS ============================== */
50  virtual ProvisioningAttrList* Create(ProvisioningAttrList& rRequestAttributes);
51  virtual ProvisioningAttrList* Delete(ProvisioningAttrList& rRequestAttributes);
52  virtual ProvisioningAttrList* Set(ProvisioningAttrList& rRequestAttributes);
53  virtual ProvisioningAttrList* Get(ProvisioningAttrList& rRequestAttributes);
54  virtual ProvisioningAttrList* Action(ProvisioningAttrList& rRequestAttributes);
55 
56  void setXmlConfigDoc(TiXmlDocument* pConfigDoc);
57 
58  virtual bool loadConfiguration(void);
59 
60 /* ============================ ACCESSORS ================================= */
61 
62  TiXmlNode* findPSInstance(const char* pClassName, const char* pIndexAttr = NULL, const char* pIndexValue = NULL);
63  TiXmlNode* createPSInstance(const char* pClassName, const char* pIndexAttr, const char* pIndexValue);
64  bool deletePSInstance(const char* pClassName, const char* pIndexAttr, const char* pIndexValue);
65 
66  bool setPSAttribute(TiXmlNode* pClassInstance, const char* pAttribute, UtlString& rValue);
67  bool setPSAttribute(TiXmlNode* pClassInstance, const char* pAttribute, const char* pValue);
68  bool setPSAttribute(TiXmlNode* pClassInstance, const char* pAttribute, int value);
69  bool setPSAttribute(TiXmlNode* pClassInstance, const char* pAttribute, bool value);
70 
71 // bool getPSAttribute(TiXmlNode* pClassInstance, const char* pAttribute, const char*& prValue);
72  bool getPSAttribute(TiXmlNode* pClassInstance, const char* pAttribute, UtlString& rValue);
73  bool getPSAttribute(TiXmlNode* pClassInstance, const char* pAttribute, int& rValue);
74  bool getPSAttribute(TiXmlNode* pClassInstance, const char* pAttribute, bool& rValue);
75 
76  const UtlString* getClassName(void);
77 
83  virtual unsigned hash() const;
84 
88  virtual UtlContainableType getContainableType() const;
89 
90 /* ============================ INQUIRY =================================== */
91 
98  virtual int compareTo(UtlContainable const *) const;
99 
100 /* //////////////////////////// PROTECTED ///////////////////////////////// */
101 protected:
102  static const UtlContainableType TYPE;
104  TiXmlDocument* mpXmlConfigDoc; /* The TinyXml persistant store for
105  * this Provisioning Class. */
106  ProvisioningServer* mpProvisioningServer; /* The reference to the Provisioning
107  * Server that this is registered with. */
110 /* //////////////////////////// PRIVATE /////////////////////////////////// */
111 private:
112  UtlString mClassName; /* The name of the provisioning class
113  * that this is managing. */
114 };
115 
116 #endif // _ProvisioningClass_h_
117 
bool setPSAttribute(TiXmlNode *pClassInstance, const char *pAttribute, UtlString &rValue)
Definition: ProvisioningClass.cpp:377
Definition: ProvisioningAttrList.h:33
virtual ProvisioningAttrList * Set(ProvisioningAttrList &rRequestAttributes)
Definition: ProvisioningClass.cpp:176
bool deletePSInstance(const char *pClassName, const char *pIndexAttr, const char *pIndexValue)
Definition: ProvisioningClass.cpp:242
bool getPSAttribute(TiXmlNode *pClassInstance, const char *pAttribute, UtlString &rValue)
Definition: ProvisioningClass.cpp:527
ProvisioningServer * mpProvisioningServer
Definition: ProvisioningClass.h:106
TiXmlNode * createPSInstance(const char *pClassName, const char *pIndexAttr, const char *pIndexValue)
Definition: ProvisioningClass.cpp:300
TiXmlNode * findPSInstance(const char *pClassName, const char *pIndexAttr=NULL, const char *pIndexValue=NULL)
Definition: ProvisioningClass.cpp:637
virtual bool loadConfiguration(void)
Definition: ProvisioningClass.cpp:110
virtual ProvisioningAttrList * Get(ProvisioningAttrList &rRequestAttributes)
Definition: ProvisioningClass.cpp:198
virtual int compareTo(UtlContainable const *) const
Compare the this object to another like-objects.
Definition: ProvisioningClass.cpp:742
Definition: ProvisioningClass.h:33
virtual ProvisioningAttrList * Action(ProvisioningAttrList &rRequestAttributes)
Definition: ProvisioningClass.cpp:220
TiXmlDocument * mpXmlConfigDoc
< Class type used for runtime checking
Definition: ProvisioningClass.h:104
virtual ProvisioningAttrList * Create(ProvisioningAttrList &rRequestAttributes)
Definition: ProvisioningClass.cpp:132
static const UtlContainableType TYPE
Definition: ProvisioningClass.h:102
const UtlString * getClassName(void)
Definition: ProvisioningClass.cpp:505
virtual ProvisioningAttrList * Delete(ProvisioningAttrList &rRequestAttributes)
Definition: ProvisioningClass.cpp:154
bool mConfigurationLoaded
Definition: ProvisioningClass.h:108
virtual UtlContainableType getContainableType() const
Get the ContainableType for a UtlContainable derived class.
Definition: ProvisioningClass.cpp:719
virtual ~ProvisioningClass()
Destructor.
Definition: ProvisioningClass.cpp:66
ProvisioningClass(const char *pClassName)
Default constructor.
Definition: ProvisioningClass.cpp:43
void setXmlConfigDoc(TiXmlDocument *pConfigDoc)
Definition: ProvisioningClass.cpp:88
virtual unsigned hash() const
Calculate a unique hash code for this object.
Definition: ProvisioningClass.cpp:697

sipXtackLib home page