00001 00052 #ifndef __LIB3195_STRINGBUF_H_INCLUDED__ 00053 #define __LIB3195_STRINGBUF_H_INCLUDED__ 1 00054 00055 #define sbSTRBCHECKVALIDOBJECT(x) {assert(x != NULL); assert(x->OID == OIDsbStrB);} 00056 00057 00062 struct sbStrBObject 00063 { 00064 srObjID OID; 00065 char *pBuf; 00066 int iBufSize; 00067 int iBufPtr; 00068 int iAllocIncrement; 00069 }; 00070 typedef struct sbStrBObject sbStrBObj; 00071 00072 00076 sbStrBObj *sbStrBConstruct(void); 00077 00081 void sbStrBDestruct(sbStrBObj *pThis); 00082 00089 srRetVal sbStrBAppendChar(sbStrBObj *pThis, char c); 00090 00104 char* sbStrBFinish(sbStrBObj *pThis); 00105 00111 srRetVal sbStrBAppendStr(sbStrBObj *pThis, char* psz); 00112 00127 void sbStrBSetAllocIncrement(sbStrBObj *pThis, int iNewIncrement); 00128 00133 srRetVal sbStrBAppendInt(sbStrBObj *pThis, int i); 00134 00135 00136 #endif