gwenhywfar  4.8.0beta
Macros | Typedefs | Enumerations | Functions
msgengine.h File Reference
#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/xml.h>
#include <gwenhywfar/db.h>
#include <gwenhywfar/buffer.h>

Go to the source code of this file.

Macros

#define GWEN_MSGENGINE_MAX_VALUE_LEN   8192
#define GWEN_MSGENGINE_SHOW_FLAGS_NOSET   0x0001
Read Flags
#define GWEN_MSGENGINE_READ_FLAGS_TRUSTINFO   0x0001
#define GWEN_MSGENGINE_READ_FLAGS_DEFAULT   0

Typedefs

typedef struct GWEN__MSGENGINE GWEN_MSGENGINE
typedef struct
GWEN_MSGENGINE_TRUSTEDDATA 
GWEN_MSGENGINE_TRUSTEDDATA
Virtual Functions

A message engine contains some pointers to functions which allow extending the functionality of a message engine (like virtual functions in C++)

typedef int(* GWEN_MSGENGINE_TYPEREAD_PTR )(GWEN_MSGENGINE *e, GWEN_BUFFER *msgbuf, GWEN_XMLNODE *node, GWEN_BUFFER *vbuf, char escapeChar, const char *delimiters)
typedef int(* GWEN_MSGENGINE_TYPEWRITE_PTR )(GWEN_MSGENGINE *e, GWEN_BUFFER *gbuf, GWEN_BUFFER *data, GWEN_XMLNODE *node)
typedef GWEN_DB_NODE_TYPE(* GWEN_MSGENGINE_TYPECHECK_PTR )(GWEN_MSGENGINE *e, const char *tname)
typedef int(* GWEN_MSGENGINE_BINTYPEREAD_PTR )(GWEN_MSGENGINE *e, GWEN_XMLNODE *node, GWEN_DB_NODE *gr, GWEN_BUFFER *vbuf)
typedef int(* GWEN_MSGENGINE_BINTYPEWRITE_PTR )(GWEN_MSGENGINE *e, GWEN_XMLNODE *node, GWEN_DB_NODE *gr, GWEN_BUFFER *dbuf)
typedef const char *(* GWEN_MSGENGINE_GETCHARVALUE_PTR )(GWEN_MSGENGINE *e, const char *name, const char *defValue)
typedef int(* GWEN_MSGENGINE_GETINTVALUE_PTR )(GWEN_MSGENGINE *e, const char *name, int defValue)
typedef GWEN_DB_NODE *(* GWEN_MSGENGINE_GETGLOBALVALUES_PTR )(GWEN_MSGENGINE *e)
typedef void(* GWEN_MSGENGINE_FREEDATA_PTR )(GWEN_MSGENGINE *e)

Enumerations

enum  GWEN_MSGENGINE_TRUSTLEVEL {
  GWEN_MsgEngineTrustLevelNone = 0, GWEN_MsgEngineTrustLevelLow, GWEN_MsgEngineTrustLevelMedium, GWEN_MsgEngineTrustLevelHigh,
  GWEN_MsgEngineTrustLevelFull
}

Functions

GWENHYWFAR_API int GWEN_MsgEngine_TrustedData_AddPos (GWEN_MSGENGINE_TRUSTEDDATA *td, unsigned int pos)
GWENHYWFAR_API int GWEN_MsgEngine_TrustedData_CreateReplacements (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API void GWEN_MsgEngine_TrustedData_free (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API const char * GWEN_MsgEngine_TrustedData_GetData (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API const char * GWEN_MsgEngine_TrustedData_GetDescription (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API int GWEN_MsgEngine_TrustedData_GetFirstPos (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API
GWEN_MSGENGINE_TRUSTEDDATA
GWEN_MsgEngine_TrustedData_GetNext (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API int GWEN_MsgEngine_TrustedData_GetNextPos (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API const char * GWEN_MsgEngine_TrustedData_GetReplacement (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API unsigned int GWEN_MsgEngine_TrustedData_GetSize (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API
GWEN_MSGENGINE_TRUSTLEVEL 
GWEN_MsgEngine_TrustedData_GetTrustLevel (GWEN_MSGENGINE_TRUSTEDDATA *td)
GWENHYWFAR_API
GWEN_MSGENGINE_TRUSTEDDATA
GWEN_MsgEngine_TrustedData_new (const char *data, unsigned int size, const char *description, GWEN_MSGENGINE_TRUSTLEVEL trustLevel)
Constructor And Destructor
GWENHYWFAR_API GWEN_MSGENGINEGWEN_MsgEngine_new (void)
GWENHYWFAR_API void GWEN_MsgEngine_free (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_Attach (GWEN_MSGENGINE *e)
Setters And Getters
GWENHYWFAR_API void GWEN_MsgEngine_SetEscapeChar (GWEN_MSGENGINE *e, char c)
GWENHYWFAR_API char GWEN_MsgEngine_GetEscapeChar (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetCharsToEscape (GWEN_MSGENGINE *e, const char *c)
GWENHYWFAR_API const char * GWEN_MsgEngine_GetCharsToEscape (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetDelimiters (GWEN_MSGENGINE *e, const char *s)
GWENHYWFAR_API const char * GWEN_MsgEngine_GetDelimiters (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetMode (GWEN_MSGENGINE *e, const char *mode)
GWENHYWFAR_API const char * GWEN_MsgEngine_GetMode (GWEN_MSGENGINE *e)
GWENHYWFAR_API unsigned int GWEN_MsgEngine_GetProtocolVersion (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetProtocolVersion (GWEN_MSGENGINE *e, unsigned int p)
GWENHYWFAR_API GWEN_XMLNODEGWEN_MsgEngine_GetDefinitions (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetDefinitions (GWEN_MSGENGINE *e, GWEN_XMLNODE *n, int take)
GWENHYWFAR_API int GWEN_MsgEngine_AddDefinitions (GWEN_MSGENGINE *e, GWEN_XMLNODE *node)
Setters For Virtual Functions: Extending Data Type Handling
GWENHYWFAR_API void GWEN_MsgEngine_SetTypeReadFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_TYPEREAD_PTR p)
GWENHYWFAR_API
GWEN_MSGENGINE_TYPEREAD_PTR 
GWEN_MsgEngine_GetTypeReadFunction (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetTypeWriteFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_TYPEWRITE_PTR p)
GWENHYWFAR_API
GWEN_MSGENGINE_TYPEWRITE_PTR 
GWEN_MsgEngine_GetTypeWriteFunction (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetTypeCheckFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_TYPECHECK_PTR p)
GWENHYWFAR_API
GWEN_MSGENGINE_TYPECHECK_PTR 
GWEN_MsgEngine_GetTypeCheckFunction (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetGetGlobalValuesFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_GETGLOBALVALUES_PTR p)
GWENHYWFAR_API
GWEN_MSGENGINE_GETGLOBALVALUES_PTR 
GWEN_MsgEngine_GetGetGlobalValuesFunction (GWEN_MSGENGINE *e)
Setters For Virtual Functions: Extending Binary Data Handling
GWENHYWFAR_API void GWEN_MsgEngine_SetBinTypeReadFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_BINTYPEREAD_PTR p)
GWENHYWFAR_API
GWEN_MSGENGINE_BINTYPEREAD_PTR 
GWEN_MsgEngine_GetBinTypeReadFunction (GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetBinTypeWriteFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_BINTYPEWRITE_PTR p)
GWENHYWFAR_API
GWEN_MSGENGINE_BINTYPEWRITE_PTR 
GWEN_MsgEngine_GetBinTypeWriteFunction (GWEN_MSGENGINE *e)
Setters For Virtual Functions: Getting Variables
GWENHYWFAR_API void GWEN_MsgEngine_SetGetCharValueFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_GETCHARVALUE_PTR p)
GWENHYWFAR_API void GWEN_MsgEngine_SetGetIntValueFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_GETINTVALUE_PTR p)
Extending GWEN_MSGENGINE

The functions in this group are strongly deprecated.

GWENHYWFAR_API void * GWEN_MsgEngine_GetInheritorData (const GWEN_MSGENGINE *e)
GWENHYWFAR_API void GWEN_MsgEngine_SetInheritorData (GWEN_MSGENGINE *e, void *d)
GWENHYWFAR_API void GWEN_MsgEngine_SetFreeDataFunction (GWEN_MSGENGINE *e, GWEN_MSGENGINE_FREEDATA_PTR p)
Locating XML Nodes And Properties
GWENHYWFAR_API GWEN_XMLNODEGWEN_MsgEngine_FindGroupByProperty (GWEN_MSGENGINE *e, const char *pname, int version, const char *pvalue)
GWENHYWFAR_API GWEN_XMLNODEGWEN_MsgEngine_FindNodeByProperty (GWEN_MSGENGINE *e, const char *t, const char *pname, int version, const char *pvalue)
GWENHYWFAR_API GWEN_XMLNODEGWEN_MsgEngine_FindNodeByPropertyStrictProto (GWEN_MSGENGINE *e, const char *t, const char *pname, int version, const char *pvalue)
GWENHYWFAR_API const char * GWEN_MsgEngine_SearchForProperty (GWEN_XMLNODE *node, GWEN_XMLNODE *refnode, const char *name, int topDown)
Getters And Setters for Global Variables
GWENHYWFAR_API int GWEN_MsgEngine_SetValue (GWEN_MSGENGINE *e, const char *path, const char *value)
GWENHYWFAR_API int GWEN_MsgEngine_SetIntValue (GWEN_MSGENGINE *e, const char *path, int value)
GWENHYWFAR_API const char * GWEN_MsgEngine_GetValue (GWEN_MSGENGINE *e, const char *path, const char *defValue)
GWENHYWFAR_API int GWEN_MsgEngine_GetIntValue (GWEN_MSGENGINE *e, const char *path, int defValue)
Parsing, Listing And Creating Messages
GWENHYWFAR_API int GWEN_MsgEngine_CreateMessage (GWEN_MSGENGINE *e, const char *msgName, int msgVersion, GWEN_BUFFER *gbuf, GWEN_DB_NODE *msgData)
GWENHYWFAR_API int GWEN_MsgEngine_CreateMessageFromNode (GWEN_MSGENGINE *e, GWEN_XMLNODE *node, GWEN_BUFFER *gbuf, GWEN_DB_NODE *msgData)
GWENHYWFAR_API int GWEN_MsgEngine_ShowMessage (GWEN_MSGENGINE *e, const char *typ, const char *msgName, int msgVersion, uint32_t flags)
GWENHYWFAR_API int GWEN_MsgEngine_ParseMessage (GWEN_MSGENGINE *e, GWEN_XMLNODE *group, GWEN_BUFFER *msgbuf, GWEN_DB_NODE *gr, uint32_t flags)
GWENHYWFAR_API int GWEN_MsgEngine_SkipSegment (GWEN_MSGENGINE *e, GWEN_BUFFER *msgbuf, unsigned char escapeChar, unsigned char delimiter)
GWENHYWFAR_API int GWEN_MsgEngine_ReadMessage (GWEN_MSGENGINE *e, const char *gtype, GWEN_BUFFER *mbuf, GWEN_DB_NODE *gr, uint32_t flags)
GWENHYWFAR_API GWEN_XMLNODEGWEN_MsgEngine_ListMessage (GWEN_MSGENGINE *e, const char *typ, const char *msgName, int msgVersion, uint32_t flags)
Handling Trust Information
GWENHYWFAR_API
GWEN_MSGENGINE_TRUSTEDDATA
GWEN_MsgEngine_TakeTrustInfo (GWEN_MSGENGINE *e)
GWENHYWFAR_API int GWEN_MsgEngine_AddTrustInfo (GWEN_MSGENGINE *e, const char *data, unsigned int size, const char *description, GWEN_MSGENGINE_TRUSTLEVEL trustLevel, unsigned int pos)