gwenhywfar  4.10.0beta
msgengine.h
Go to the documentation of this file.
1 /***************************************************************************
2  $RCSfile$
3  -------------------
4  cvs : $Id$
5  begin : Fri Jul 04 2003
6  copyright : (C) 2003 by Martin Preuss
7  email : martin@libchipcard.de
8 
9  ***************************************************************************
10  * *
11  * This library is free software; you can redistribute it and/or *
12  * modify it under the terms of the GNU Lesser General Public *
13  * License as published by the Free Software Foundation; either *
14  * version 2.1 of the License, or (at your option) any later version. *
15  * *
16  * This library is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19  * Lesser General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU Lesser General Public *
22  * License along with this library; if not, write to the Free Software *
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
24  * MA 02111-1307 USA *
25  * *
26  ***************************************************************************/
27 
28 #ifndef GWENHYWFAR_MSGENGINE_H
29 #define GWENHYWFAR_MSGENGINE_H
30 
32 #include <gwenhywfar/xml.h>
33 #include <gwenhywfar/db.h>
34 #include <gwenhywfar/buffer.h>
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
47 
53 
54 typedef enum {
61 
62 
65  GWEN_MsgEngine_TrustedData_new(const char *data,
66  unsigned int size,
67  const char *description,
68  GWEN_MSGENGINE_TRUSTLEVEL trustLevel);
71 
75 
77 const char*
79 
81 unsigned int
83 
85 const char*
87 
91 
93 const char*
95 
96 
99  unsigned int pos);
100 
103 
106 
108 int
110  *td); /* defgroup */
112 
113 
114 
115 #define GWEN_MSGENGINE_SHOW_FLAGS_NOSET 0x0001
116 #define GWEN_MSGENGINE_MAX_VALUE_LEN 8192
117 
121 #define GWEN_MSGENGINE_READ_FLAGS_TRUSTINFO 0x0001
122 #define GWEN_MSGENGINE_READ_FLAGS_DEFAULT 0
123 
130 
131 typedef struct GWEN__MSGENGINE GWEN_MSGENGINE;
132 
134 
135 
136 
144  GWEN_BUFFER *msgbuf,
145  GWEN_XMLNODE *node,
146  GWEN_BUFFER *vbuf,
147  char escapeChar,
148  const char *delimiters);
149 
154  GWEN_BUFFER *gbuf,
155  GWEN_BUFFER *data,
156  GWEN_XMLNODE *node);
157 
162  const char *tname);
163 
165  GWEN_XMLNODE *node,
166  GWEN_DB_NODE *gr,
167  GWEN_BUFFER *vbuf);
168 
170  GWEN_XMLNODE *node,
171  GWEN_DB_NODE *gr,
172  GWEN_BUFFER *dbuf);
173 
178  const char *name,
179  const char *defValue);
181  const char *name,
182  int defValue);
183 
184 typedef GWEN_DB_NODE*
186 
188 
200 
213 
215 void GWEN_MsgEngine_SetCharsToEscape(GWEN_MSGENGINE *e, const char *c);
218 
220 void GWEN_MsgEngine_SetDelimiters(GWEN_MSGENGINE *e, const char *s);
223 
225 void GWEN_MsgEngine_SetMode(GWEN_MSGENGINE *e, const char *mode);
227 const char *GWEN_MsgEngine_GetMode(GWEN_MSGENGINE *e);
228 
229 
234  unsigned int p);
235 
236 
239 
248  GWEN_XMLNODE *n,
249  int take);
250 
253  GWEN_XMLNODE *node);
267 
274 
281 
282 GWENHYWFAR_API void
285 
289  /* Extending Data Type Handling */
291 
292 
303 
309  GWEN_MsgEngine_GetBinTypeWriteFunction(GWEN_MSGENGINE *e); /* Extending Binary Data Handling */
311 
312 
322  GWEN_MSGENGINE_GETINTVALUE_PTR p); /* Getting variables */
324 
325 
338 
347  const char *pname,
348  int version,
349  const char *pvalue);
350 
358  const char *t,
359  const char *pname,
360  int version,
361  const char *pvalue);
362 
365  const char *t,
366  const char *pname,
367  int version,
368  const char *pvalue);
369 
377  GWEN_XMLNODE *refnode,
378  const char *name,
379  int topDown);
392  const char *path,
393  const char *value);
396  const char *path,
397  int value);
400  const char *path,
401  const char *defValue);
404  const char *path,
405  int defValue);
415  const char *msgName,
416  int msgVersion,
417  GWEN_BUFFER *gbuf,
418  GWEN_DB_NODE *msgData);
419 
422  GWEN_XMLNODE *node,
423  GWEN_BUFFER *gbuf,
424  GWEN_DB_NODE *msgData);
425 
431  const char *typ,
432  const char *msgName,
433  int msgVersion,
434  uint32_t flags);
435 
445  GWEN_XMLNODE *group,
446  GWEN_BUFFER *msgbuf,
447  GWEN_DB_NODE *gr,
448  uint32_t flags);
449 
462  GWEN_BUFFER *msgbuf,
463  unsigned char escapeChar,
464  unsigned char delimiter);
465 
505  const char *gtype,
506  GWEN_BUFFER *mbuf,
507  GWEN_DB_NODE *gr,
508  uint32_t flags);
509 
517  const char *typ,
518  const char *msgName,
519  int msgVersion,
520  uint32_t flags);
536 
537 
543  const char *data,
544  unsigned int size,
545  const char *description,
546  GWEN_MSGENGINE_TRUSTLEVEL trustLevel,
547  unsigned int pos);
548  /* Handling Trust Information */ /* defgroup */ /* defgroup (yes, twice) */
552 
553 
554 #ifdef __cplusplus
555 }
556 #endif
557 
558 #endif
559