00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00036 #ifndef _ASN1CEVTHNDLR_H_
00037 #define _ASN1CEVTHNDLR_H_
00038
00039 #include <stdio.h>
00040 #include "rtsrc/asn1type.h"
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00062 typedef void (*rtxStartElement) (const char* name, int index) ;
00063
00080 typedef void (*rtxEndElement) (const char* name, int index) ;
00081
00089 typedef void (*rtxBoolValue) (OSBOOL value);
00090
00098 typedef void (*rtxIntValue) (OSINT32 value);
00099
00109 typedef void (*rtxUIntValue) (OSUINT32 value);
00110
00119 typedef void (*rtxInt64Value) (OSINT64 value);
00120
00129 typedef void (*rtxUInt64Value) (OSUINT64 value);
00130
00141 typedef void (*rtxBitStrValue) (OSUINT32 numbits, const OSOCTET* data);
00142
00153 typedef void (*rtxOctStrValue) (OSUINT32 numocts, const OSOCTET* data) ;
00154
00163 typedef void (*rtxCharStrValue) (const char* value) ;
00164
00178 typedef void (*rtxCharStrValue16Bit) (OSUINT32 nchars, OSUNICHAR* data) ;
00179
00192 typedef void (*rtxCharStrValue32Bit) (OSUINT32 nchars, OS32BITCHAR* data) ;
00193
00201 typedef void (*rtxNullValue) () ;
00202
00212 typedef void (*rtxOidValue) (OSUINT32 numSubIds, OSUINT32* pSubIds) ;
00213
00221 typedef void (*rtxRealValue) (double value) ;
00222
00232 typedef void (*rtxEnumValue) (OSUINT32 value, const OSUTF8CHAR* text);
00233
00243 typedef void (*rtxOpenTypeValue) (OSUINT32 numocts, const OSOCTET* data) ;
00244
00249 typedef struct Asn1NamedCEventHandler {
00250 rtxStartElement startElement;
00251 rtxEndElement endElement;
00252 rtxBoolValue boolValue;
00253 rtxIntValue intValue;
00254 rtxUIntValue uIntValue;
00255 rtxInt64Value int64Value;
00256 rtxUInt64Value uInt64Value;
00257 rtxBitStrValue bitStrValue;
00258 rtxOctStrValue octStrValue;
00259 rtxCharStrValue charStrValue;
00260 rtxCharStrValue16Bit charStrValue16Bit;
00261 rtxCharStrValue32Bit charStrValue32Bit;
00262 rtxNullValue nullValue;
00263 rtxOidValue oidValue;
00264 rtxRealValue realValue;
00265 rtxEnumValue enumValue;
00266 rtxOpenTypeValue openTypeValue;
00267 } Asn1NamedCEventHandler;
00268
00278 EXTERNRT void rtAddEventHandler
00279 (OSCTXT* pCtxt, Asn1NamedCEventHandler* pHandler);
00280
00289 EXTERNRT void rtRemoveEventHandler
00290 (OSCTXT* pCtxt, Asn1NamedCEventHandler* pHandler);
00291
00296 EXTERNRT void rtInvokeStartElement
00297 (OSCTXT* pCtxt, const char* name, int index);
00298
00299 EXTERNRT void rtInvokeEndElement
00300 (OSCTXT* pCtxt, const char* name, int index);
00301
00302 EXTERNRT void rtInvokeBoolValue (OSCTXT* pCtxt, OSBOOL value);
00303
00304 EXTERNRT void rtInvokeIntValue (OSCTXT* pCtxt, OSINT32 value);
00305
00306 EXTERNRT void rtInvokeUIntValue (OSCTXT* pCtxt, OSUINT32 value);
00307
00308 EXTERNRT void rtInvokeInt64Value (OSCTXT* pCtxt, OSINT64 value);
00309
00310 EXTERNRT void rtInvokeUInt64Value (OSCTXT* pCtxt, OSUINT64 value);
00311
00312 EXTERNRT void rtInvokeBitStrValue
00313 (OSCTXT* pCtxt, OSUINT32 numbits, const OSOCTET* data);
00314
00315 EXTERNRT void rtInvokeOctStrValue
00316 (OSCTXT* pCtxt, OSUINT32 numocts, const OSOCTET* data);
00317
00318 EXTERNRT void rtInvokeCharStrValue (OSCTXT* pCtxt, const char* value);
00319
00320 EXTERNRT void rtInvokeCharStr16BitValue
00321 (OSCTXT* pCtxt, OSUINT32 nchars, OSUNICHAR* data);
00322
00323 EXTERNRT void rtInvokeCharStr32BitValue
00324 (OSCTXT* pCtxt, OSUINT32 nchars, OS32BITCHAR* data);
00325
00326 EXTERNRT void rtInvokeNullValue (OSCTXT* pCtxt);
00327
00328 EXTERNRT void rtInvokeOidValue
00329 (OSCTXT* pCtxt, OSUINT32 numSubIds, OSUINT32* pSubIds);
00330
00331 EXTERNRT void rtInvokeRealValue (OSCTXT* pCtxt, double value);
00332
00333 EXTERNRT void rtInvokeEnumValue
00334 (OSCTXT* pCtxt, OSUINT32 value, const OSUTF8CHAR* text);
00335
00336 EXTERNRT void rtInvokeOpenTypeValue
00337 (OSCTXT* pCtxt, OSUINT32 numocts, const OSOCTET* data);
00338
00339
00340 #ifdef __cplusplus
00341 }
00342 #endif
00343
00344 #endif
00345