Main Page | Compound List | File List | Compound Members | File Members | Related Pages

namevaluetree.h

Go to the documentation of this file.
00001 
00086 #ifndef __LIB3195_SBNVT_H_INCLUDED__
00087 #define __LIB3195_SBNVT_H_INCLUDED__ 1
00088 #include "beepsession.h"
00089 
00090 #define sbNVTRCHECKVALIDOBJECT(x) {assert(x != NULL); assert(x->OID == OIDsbNVTR);}
00091 #define sbNVTECHECKVALIDOBJECT(x) {assert(x != NULL); assert(x->OID == OIDsbNVTE);}
00092 
00096 struct sbNVTEObject;
00097 struct sbStrBObject;
00098 struct sbNVTRObject
00099 {       
00100         srObjID OID;                                    
00101         struct sbNVTEObject *pFirst;    
00102         struct sbNVTEObject *pLast;             
00103         struct sbNVTEObject *pParent;   
00104 };
00105 typedef struct sbNVTRObject sbNVTRObj;
00106 
00107 
00116 struct sbNVTEObject
00117 {       
00118         srObjID OID;                                    
00119         struct sbNVTEObject *pNext;             
00120         sbNVTRObj *pChild;                              
00121         sbNVTRObj *pXMLProps;                   
00122         void *pUsr;                                             
00123         void (*pUsrDestroy)(void*);             
00124         char *pszKey;                                   
00125         unsigned uKey;                                  
00126         int uKeyPresent;                                
00127         char *pszValue;                                 
00128         unsigned uValue;                                
00129         int     bIsSetUValue;                           
00130         char *pCDATA;                                   
00131 };
00132 typedef struct sbNVTEObject sbNVTEObj;
00133 
00134 
00142 void sbNVTRDestroy(sbNVTRObj* pThis);
00143 
00157 void sbNVTEDestroy(sbNVTEObj* pThis);
00158 
00166  sbNVTRObj* sbNVTRConstruct(void);
00167 
00175  sbNVTEObj* sbNVTEConstruct(void);
00176 
00189  sbNVTEObj* sbNVTUnlinkElement(sbNVTRObj* pRoot);
00190 
00213 sbNVTEObj* sbNVTSearchKeySZ(sbNVTRObj* pRoot, sbNVTEObj* pStart, char* pszSearch);
00214 
00234 sbNVTEObj* sbNVTSearchKeyU(sbNVTRObj* pRoot, sbNVTEObj* pStart, unsigned uSearch);
00235 
00236 
00250 srRetVal sbNVTESetKeySZ(sbNVTEObj* pThis, char* pszKey, int bCopy);
00251 
00265 srRetVal sbNVTESetValueSZ(sbNVTEObj* pThis, char* pszVal, int bCopy);
00266 
00271 srRetVal sbNVTESetKeyU(sbNVTEObj* pThis, unsigned uKey);
00272 
00276 srRetVal sbNVTEUnsetKeyU(sbNVTEObj* pThis);
00277 
00282 srRetVal sbNVTESetValueU(sbNVTEObj* pThis, unsigned uVal);
00283 
00284 
00298 srRetVal sbNVTESetUsrPtr(sbNVTEObj* pThis, void *pPtr, void(pPtrDestroy)(void*));
00299 
00300 
00306 void sbNVTRUnlinkFromParent(sbNVTRObj *pRoot);
00307 
00318  sbNVTEObj* sbNVTAddEntry(sbNVTRObj* pRoot);
00319 
00320 
00329 void sbNVTEUnsetUsrPtr(sbNVTEObj *pEntry);
00330 
00342 srRetVal sbNVTRRemoveKeyU(sbNVTRObj *pRoot, unsigned uKey);
00343 
00344 
00358 sbNVTEObj *sbNVTRHasElement(sbNVTRObj* pRoot, char *pEltname, int bMustBeOnly);
00359 
00360 
00367  srRetVal sbNVTESetChild(sbNVTEObj *pEntry, sbNVTRObj *pChildRoot);
00368 
00377 void sbNVTDebugPrintTree(sbNVTRObj *pRoot, int iLevel);
00378 
00385  srRetVal sbNVTRRemoveFirst(sbNVTRObj* pRoot);
00386 
00435 srRetVal sbNVTRParseXML(sbNVTRObj *pRoot, char *pszXML);
00436 
00451 srRetVal sbNVTRRemovEntryWithpUsr(sbNVTRObj *pRoot, void* pUsr);
00452 
00464 srRetVal sbNVTRRemoveKeyU(sbNVTRObj *pRoot, unsigned uKey);
00465 
00476 void sbNVTEUnlinkFromList(sbNVTRObj *pRoot, sbNVTEObj* pEntry, sbNVTEObj* pPrev);
00477 
00505 sbNVTEObj* sbNVTSearchpUsrAndPrev(sbNVTRObj* pRoot, sbNVTEObj* pStart, void *pUsr, sbNVTEObj** ppPrevEntry);
00506 
00521 sbNVTEObj* sbNVTSearchKeyUAndPrev(sbNVTRObj* pRoot, sbNVTEObj* pStart, unsigned uSearch, sbNVTEObj** ppPrevEntry);
00522 
00537 srRetVal sbNVTEGetValueU(sbNVTEObj* pThis, unsigned* puValue);
00538 
00552 char* sbNVTXMLEscapePCDATA(char *pszToEscape);
00553 
00554 
00568 srRetVal sbNVTXMLEscapePCDATAintoStrB(char *pszToEscape, struct sbStrBObject *pStr);
00569 
00577 char* sbNVTEUtilStrDup(char *pszStrToDup);
00578 
00579 #endif

Generated on Mon Oct 3 12:29:55 2005 for liblogging by doxygen 1.3.2