00001 00043 #ifndef __LIB3195_BEEPMESSAGE_H_INCLUDED__ 00044 #define __LIB3195_BEEPMESSAGE_H_INCLUDED__ 1 00045 00046 #include "beepchannel.h" 00047 #include "beepsession.h" 00048 #define sbMesgCHECKVALIDOBJECT(x) {assert(x != NULL); assert(x->OID == OIDsbMesg);} 00049 00050 struct sbFramObject; 00051 struct sbMesgObject 00055 { 00056 srObjID OID; 00057 BEEPHdrID idHdr; 00058 SBmsgno uMsgno; 00059 SBseqno uSeqno; 00060 SBseqno uNxtSeqno; 00061 char* szRawBuf; 00062 char* szMIMEHdr; 00063 char* szActualPayload; 00069 int bRawDirty; 00077 int iPayloadSize; 00078 int iMIMEHdrSize; 00079 int iOverallSize; 00080 }; 00081 typedef struct sbMesgObject sbMesgObj; 00082 00083 char* sbMesgGetRawBuf(sbMesgObj* pThis); 00084 int sbMesgGetMIMEHdrSize(sbMesgObj* pThis); 00085 int sbMesgGetPayloadSize(sbMesgObj* pThis); 00086 int sbMesgGetOverallSize(sbMesgObj* pThis); 00095 sbMesgObj* sbMesgConstrFromFrame(struct sbFramObject* psbFram); 00096 00109 sbMesgObj* sbMesgConstruct(char* pszMIMEHdr, char *pszPayload); 00110 00120 sbMesgObj* sbMesgRecvMesg(sbChanObj*); 00121 00122 00145 srRetVal sbMIMEExtract(char *pszInBuf, int iInBufLen, char **pszMIMEHdr, char** pszPayload); 00146 00147 00160 srRetVal sbMesgSendMesgWithCallback(sbMesgObj* pThis, sbChanObj* pChan, char *pszCmd, SBansno uAnsno, void (*OnFramDestroy)(struct sbFramObject*), void* pUsr); 00161 00166 srRetVal sbMesgSendMesg(sbMesgObj* pThis, sbChanObj* pChan, char *pszCmd, SBansno); 00167 00172 void sbMesgDestroy(sbMesgObj *pThis); 00173 00174 #endif