00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027 #ifndef _RTSAXCPPANY_H_
00028 #define _RTSAXCPPANY_H_
00029
00030 #include "rtxsrc/OSRTContext.h"
00031 #include "rtxmlsrc/osrtxml.h"
00032 #include "rtxmlsrc/rtSaxCppParser.h"
00033 #include "rtxmlsrc/rtXmlCppMsgBuf.h"
00034 #ifndef ASN1RT
00035 #include "rtxsrc/rtxCppXmlString.h"
00036 #include "rtxmlsrc/OSXSDAnyTypeClass.h"
00037 #include "rtxmlsrc/rtSaxCppAnyType.h"
00038 #endif
00039
00040 class EXTXMLCLASS OSXMLAnyHandler : public OSXMLDefaultHandler {
00041 private:
00042 OSRTContext mEncCtxt;
00043 #ifndef ASN1RT
00044 OSXMLStringClass* mpAnyMsgData;
00045 OSXSDAnyTypeClass* mpAnyTypeMsgData;
00046 #else
00047 const OSUTF8CHAR** mppMsgData;
00048 #endif
00049 EXTXMLMETHOD void localInit (OSRTContext* pContext);
00050 EXTXMLMETHOD OSBOOL isEmptyElement (const OSUTF8CHAR* qname);
00051 EXTXMLMETHOD OSXMLAnyHandler& operator= (const OSXMLAnyHandler&);
00052
00053 public:
00054 #ifndef ASN1RT
00055 EXTXMLMETHOD OSXMLAnyHandler
00056 (OSXSDAnyTypeClass& msgData, OSRTContext* pContext, int level = 0);
00057
00058 EXTXMLMETHOD OSXMLAnyHandler
00059 (OSXSDAnyTypeClass& msgData, OSRTContext* pContext,
00060 const OSUTF8CHAR* elemName);
00061
00062
00063 EXTXMLMETHOD OSXMLAnyHandler
00064 (OSXMLStringClass& msgData, OSRTContext* pContext, int level = 0);
00065
00066 EXTXMLMETHOD OSXMLAnyHandler
00067 (OSXMLStringClass& msgData, OSRTContext* pContext,
00068 const OSUTF8CHAR* elemName);
00069 #else
00070 EXTXMLMETHOD OSXMLAnyHandler
00071 (const OSUTF8CHAR** ppMsgData, OSRTContext* pContext, int level = 0);
00072
00073 EXTXMLMETHOD OSXMLAnyHandler
00074 (const OSUTF8CHAR** ppMsgData, OSRTContext* pContext,
00075 const OSUTF8CHAR* elemName);
00076 #endif
00077 EXTXMLMETHOD ~OSXMLAnyHandler ();
00078
00079 EXTXMLMETHOD virtual int startElement
00080 (const OSUTF8CHAR* const uri,
00081 const OSUTF8CHAR* const localname,
00082 const OSUTF8CHAR* const qname,
00083 const OSUTF8CHAR* const* attrs);
00084
00085 EXTXMLMETHOD virtual int characters
00086 (const OSUTF8CHAR* const chars, OSUINT32 length);
00087
00088 EXTXMLMETHOD virtual int endElement
00089 (const OSUTF8CHAR* const uri,
00090 const OSUTF8CHAR* const localname,
00091 const OSUTF8CHAR* const qname);
00092 } ;
00093
00094 #endif
00095