rtEXIDecoder.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2007-2009 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
00022  *
00023  *****************************************************************************/
00033 #ifndef _RTEXIDECODER_H_
00034 #define _RTEXIDECODER_H_
00035 
00036 #include "rtexisrc/osrtexi.h"
00037 #include "rtxmlsrc/osrtxml.h"
00038 #include "rtxsrc/rtxArrayList.h"
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043 
00044 #define OSEXI_NO_SUBTYPES 1
00045 #define OSEXI_NILLABLE    2
00046 #define OSEXI_HAS_DEFAULT 4
00047 
00069 EXTERNEXI int rtEXIDecAttribute 
00070 (OSCTXT* pctxt, OSXMLFullQName* pqname, const OSUTF8CHAR** ppvalue);
00071     
00091 EXTERNEXI int rtEXIDecBinary 
00092 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
00093 
00103 EXTERNEXI int rtEXIDecBoolValue (OSCTXT* pctxt, OSBOOL* pvalue);
00104 
00119 EXTERNEXI int rtEXIDecBoolValueWithPattern 
00120 (OSCTXT* pctxt, OSBOOL* pvalue, OSUINT8 pattern);
00121 
00142 EXTERNEXI int rtEXIDec_CH_String_EE
00143 (OSCTXT* pctxt, const OSXMLFullQName* pqname, const OSUINT16* charSet, 
00144  const OSUTF8CHAR** ppvalue);
00145 
00155 EXTERNEXI int rtEXIDecDate (OSCTXT* pctxt, OSNumDateTime* pvalue);
00156 
00170 EXTERNEXI int rtEXIDecDateString (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00171 
00181 EXTERNEXI int rtEXIDecDateTime (OSCTXT* pctxt, OSNumDateTime* pvalue);
00182 
00196 EXTERNEXI int rtEXIDecDateTimeString 
00197 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00198 
00208 EXTERNEXI int rtEXIDecDecimalValue (OSCTXT* pctxt, OSREAL* pvalue);
00209 
00238 EXTERNEXI int rtEXIDecDocumentType 
00239 (OSCTXT* pctxt, const OSUTF8CHAR** ppName, const OSUTF8CHAR** ppPublic, 
00240  const OSUTF8CHAR** ppSystem, const OSUTF8CHAR** ppText);
00241     
00251 EXTERNEXI int rtEXIDecDoubleValue (OSCTXT* pctxt, OSREAL* pvalue);
00252 
00265 EXTERNEXI int rtEXIDecDynBinary (OSCTXT* pctxt, OSDynOctStr* pvalue);
00266 
00275 EXTERNEXI int rtEXIDecEndDocument (OSCTXT* pctxt);
00276 
00287 EXTERNEXI int rtEXIDecEndEvent (OSCTXT* pctxt);
00288 
00300 EXTERNEXI int rtEXIDecEndEventCompact (OSCTXT* pctxt);
00301 
00312 EXTERNEXI int rtEXIDecEndEventStrict (OSCTXT* pctxt);
00313 
00328 EXTERNEXI int rtEXIDecEventCodePart1 
00329 (OSCTXT* pctxt, OSINT32* ppart, OSUINT32 nbits, OSUINT32 maxval);
00330 
00344 EXTERNEXI int rtEXIDecGetStateIndex (OSCTXT* pctxt, OSUINT32 flags);
00345 
00364 EXTERNEXI int rtEXIDecGetStateIndexCompact (OSCTXT* pctxt, OSUINT16 stx, 
00365    const OSEXIStateTableRecord statetab[], size_t nrows, OSUINT32 flags, 
00366    OSUINT32* prepcnt);
00367 
00385 EXTERNEXI int rtEXIDecGetStateIndexStrict (OSCTXT* pctxt, OSUINT16 stx, 
00386    const OSEXIStateTableRecord statetab[], size_t nrows, OSUINT32 flags, 
00387    OSUINT32* prepcnt);
00388 
00398 EXTERNEXI int rtEXIDecFloatValue (OSCTXT* pctxt, OSFLOAT* pvalue);
00399 
00409 EXTERNEXI int rtEXIDecGDay (OSCTXT* pctxt, OSNumDateTime* pvalue);
00410 
00424 EXTERNEXI int rtEXIDecGDayString (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00425 
00435 EXTERNEXI int rtEXIDecGMonth (OSCTXT* pctxt, OSNumDateTime* pvalue);
00436 
00446 EXTERNEXI int rtEXIDecGMonthDay (OSCTXT* pctxt, OSNumDateTime* pvalue);
00447 
00461 EXTERNEXI int rtEXIDecGMonthDayString (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00462 
00476 EXTERNEXI int rtEXIDecGMonthString (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00477 
00487 EXTERNEXI int rtEXIDecGYear (OSCTXT* pctxt, OSNumDateTime* pvalue);
00488 
00498 EXTERNEXI int rtEXIDecGYearMonth (OSCTXT* pctxt, OSNumDateTime* pvalue);
00499 
00513 EXTERNEXI int rtEXIDecGYearMonthString (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00514 
00528 EXTERNEXI int rtEXIDecGYearString (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00529 
00537 EXTERNEXI OSBOOL rtEXIDecHasNext (OSCTXT* pctxt);
00538 
00548 EXTERNEXI int rtEXIDecHeader (OSCTXT* pctxt); 
00549 
00560 EXTERNEXI int rtEXIDecInitCompression (OSCTXT* pctxt, OSUINT32 nmChannelIds);
00561 
00571 EXTERNEXI int rtEXIDecInt16Value (OSCTXT* pctxt, OSINT16* pvalue);
00572 
00582 EXTERNEXI int rtEXIDecInt64Value (OSCTXT* pctxt, OSINT64* pvalue);
00583 
00593 EXTERNEXI int rtEXIDecInt8Value (OSCTXT* pctxt, OSINT8* pvalue);
00594 
00604 EXTERNEXI int rtEXIDecIntValue (OSCTXT* pctxt, OSINT32* pvalue);
00605 
00622 EXTERNEXI int rtEXIDecLocalName (OSCTXT* pctxt, const OSUTF8CHAR** ppname);
00623     
00641 EXTERNEXI int rtEXIDecNamespaceURI (OSCTXT* pctxt, const OSUTF8CHAR** ppNSURI);
00642     
00654 EXTERNEXI int rtEXIDecNBitUIntValue 
00655 (OSCTXT* pctxt, OSUINT32* pvalue, OSUINT32 nbits);
00656 
00667 EXTERNEXI int rtEXIDecNextEventType 
00668 (OSCTXT* pctxt, OSEXIEventType* pEventType);
00669     
00679 EXTERNEXI int rtEXIDecoderInit (OSCTXT* pctxt);
00680 
00699 EXTERNEXI int rtEXIDecPrefix 
00700 (OSCTXT* pctxt, const OSUTF8CHAR* uri, const OSUTF8CHAR** ppPrefix);
00701     
00720 EXTERNEXI int rtEXIDecProcessingInstruction 
00721 (OSCTXT* pctxt, const OSUTF8CHAR** ppTarget, const OSUTF8CHAR** ppData);
00722     
00740 EXTERNEXI int rtEXIDecQName (OSCTXT* pctxt, OSXMLFullQName* pqname);
00741     
00760 EXTERNEXI int rtEXIDecQNameValue 
00761 (OSCTXT* pctxt, OSXMLFullQName* pvalue, const OSXMLFullQName* pqname);
00762     
00773 EXTERNEXI int rtEXIDecReset (OSCTXT* pctxt);
00774 
00794 EXTERNEXI int rtEXIDecSimpleTypeEvent 
00795 (OSCTXT* pctxt, OSINT32* ppart, OSUINT32 flags);
00796 
00817 EXTERNEXI int rtEXIDecSimpleTypeEventCompact 
00818 (OSCTXT* pctxt, OSINT32* ppart, OSUINT32 flags);
00819 
00839 EXTERNEXI int rtEXIDecSimpleTypeEventStrict 
00840 (OSCTXT* pctxt, OSINT32* ppart, OSUINT32 flags);
00841 
00865 EXTERNEXI int rtEXIDecString 
00866 (OSCTXT* pctxt, const OSXMLFullQName* pqname, const OSUINT16* charSet, 
00867  const OSUTF8CHAR** ppvalue);
00868     
00880 EXTERNEXI int rtEXIDecStringToCharArray 
00881 (OSCTXT* pctxt, const OSUTF8CHAR* target, size_t start, size_t length);
00882     
00890 EXTERNEXI int rtEXIDecStringLength (OSCTXT* pctxt);
00891     
00901 EXTERNEXI int rtEXIDecTime (OSCTXT* pctxt, OSNumDateTime* pvalue);
00902 
00916 EXTERNEXI int rtEXIDecTimeString (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00917 
00927 EXTERNEXI int rtEXIDecUInt16Value (OSCTXT* pctxt, OSUINT16* pvalue);
00928 
00938 EXTERNEXI int rtEXIDecUInt64Value (OSCTXT* pctxt, OSUINT64* pvalue);
00939 
00949 EXTERNEXI int rtEXIDecUInt8Value (OSCTXT* pctxt, OSUINT8* pvalue);
00950 
00960 EXTERNEXI int rtEXIDecUIntValue (OSCTXT* pctxt, OSUINT32* pvalue);
00961 
00977 EXTERNEXI int rtEXIDecUTF8Str 
00978 (OSCTXT* pctxt, OSUTF8CHAR** ppvalue, const OSUINT16* charSet);
00979 
00997 EXTERNEXI int rtEXIDecUTF8Chars 
00998 (OSCTXT* pctxt, OSUTF8CHAR** ppvalue, OSUINT32 nchars, const OSUINT16* charSet);
00999 
01000 #define rtEXIDecSimpleTypeEvent_DS \
01001    ((rtEXITestOption (pctxt, OSEXI_STRICT)) ? \
01002     rtEXIDecSimpleTypeEventStrict : rtEXIDecSimpleTypeEvent)
01003 
01004 #define rtEXIDecSimpleTypeEvent_CS \
01005    ((rtEXITestOption (pctxt, OSEXI_STRICT)) ? \
01006     rtEXIDecSimpleTypeEventStrict : rtEXIDecSimpleTypeEventCompact)
01007 
01008 #define rtEXIDecEndEvent_DS \
01009    ((rtEXITestOption (pctxt, OSEXI_STRICT)) ? \
01010     rtEXIDecEndEventStrict : rtEXIDecEndEvent)
01011 
01012 #define rtEXIDecEndEvent_CS \
01013    ((rtEXITestOption (pctxt, OSEXI_STRICT)) ? \
01014     rtEXIDecEndEventStrict : rtEXIDecEndEventCompact)
01015 
01016 #define rtEXIDecGetStateIndex_DS \
01017    ((rtEXITestOption (pctxt, OSEXI_STRICT)) ? \
01018     rtEXIDecGetStateIndexStrict : rtEXIDecGetStateIndex)
01019 
01020 #define rtEXIDecGetStateIndex_CS \
01021    ((rtEXITestOption (pctxt, OSEXI_STRICT)) ? \
01022     rtEXIDecGetStateIndexStrict : rtEXIDecGetStateIndexCompact)
01023 
01024 #ifdef __cplusplus
01025 }
01026 #endif
01027 
01030 #endif