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

beepprofile.h

Go to the documentation of this file.
00001 
00043 #ifndef __LIB3195_BEEPPROFILE_H_INCLUDED__
00044 #define __LIB3195_BEEPPROFILE_H_INCLUDED__ 1
00045 #define sbProfCHECKVALIDOBJECT(x) {assert(x != NULL); assert(x->OID == OIDsbProf);}
00046 
00047 struct sbMesgObject;
00048 struct sbNVTRObject;
00049 struct srAPIObject;
00050 struct srSLMGObject;
00051 
00052 #if FEATURE_LISTENER == 1
00053 
00054         enum sbProfEvent_
00055         {
00056                 sbPROFEVENT_ONMESGRECV,
00057                 sbPROFEVENT_ONCHANCREAT,
00058                 sbPROFEVENT_UNKNOWN = 0         
00059         };
00060         typedef enum sbProfEvent_ sbProfEvent;
00061 
00062 #endif
00063 
00064 struct sbProfObject
00068 {       
00069         srObjID OID;                            
00070         char* pszProfileURI;            
00071 #if FEATURE_LISTENER == 1
00072         int bDestroyOnChanClose;        
00073         struct srAPIObject *pAPI;       
00074         /* now come the event handlers */
00078         srRetVal (*OnChanCreate)(struct sbProfObject *pThis, struct sbSessObject* pSess, struct sbChanObject* pChan);
00082         srRetVal (*OnMesgRecv)(struct sbProfObject *pThis, int* pAbort, struct sbSessObject* pSess, struct sbChanObject* pChan, struct sbMesgObject *pMesg);
00083 #endif
00084         /* now come client-side event handlers (always present) */
00086         srRetVal (*OnClntOpenLogChan)(struct sbChanObject *pChan);
00088         srRetVal (*OnClntSendLogMsg)(struct sbChanObject* pChan, char* szLogmsg);
00090         srRetVal (*OnClntSendSLMG)(struct sbChanObject* pChan, struct srSLMGObject *pSLMG);
00092         srRetVal (*OnClntCloseLogChan)(struct sbChanObject* pChan);
00093 };
00094 typedef struct sbProfObject sbProfObj;
00095 
00106 srRetVal sbProfConstruct(sbProfObj** ppThis, char *pszURI);
00107 
00112 char* sbProfGetURI(sbProfObj* pThis);
00113 
00117 void sbProfDestroy(sbProfObj* pThis);
00118 
00128 srRetVal sbProfSetEventHandler(struct sbProfObject* pThis, sbProfEvent iEvent, srRetVal (*handler)());
00129 
00134 srRetVal sbProfSetAPIObj(sbProfObj *pThis, srAPIObj *pAPI);
00135 
00151 sbProfObj*  sbProfFindProfileMatch(struct sbNVTRObject *pProfListRemote, struct sbNVTRObject *pProfList2);
00152 
00160 sbProfObj*  sbProfFindProfile(struct sbNVTRObject *pProfList, char* pszSearch);
00161 
00171 srRetVal sbProfSetClntEventHandlers(sbProfObj *pProf,
00172                                                                         srRetVal (*OnClntOpenLogChan)(struct sbChanObject *pChan),
00173                                                                         srRetVal (*OnClntSendLogMsg)(struct sbChanObject* pChan, char* szLogmsg),
00174                                                                         srRetVal (*OnClntSendSLMG)(struct sbChanObject* pChan, struct srSLMGObject *pSLMG),
00175                                                                         srRetVal (*OnClntCloseLogChan)(struct sbChanObject* pChan));
00176 
00195 sbProfObj*  sbProfFindProfileURIMatch(struct sbNVTRObject *pProfListLocal, struct sbNVTRObject *pURIListRemote);
00196 
00197 
00198 #endif

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