Objective Systems, Inc.  
Home
About ASN.1
Products
Free Software
Documents
Services
Resources
Resellers
Customers
Careers
About Us
Contact Us
 

Google


Objective Systems, Inc.

rtxCppMsgBufIF.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2006 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  *****************************************************************************/
00028 #ifndef _RTXCPPMSGBUFIF_H_
00029 #define _RTXCPPMSGBUFIF_H_
00030 
00031 #include "rtxsrc/rtxCppContext.h"
00032 
00038 class EXTERNRTX OSMessageBufferIF {
00039  public:
00040    enum Type { 
00041       XMLEncode, XMLDecode, PEREncode, PERDecode, Stream
00042    } ;
00043 
00044  protected:
00049    virtual ~OSMessageBufferIF () {}
00050 
00051  public:
00052    // Virtual methods
00053    virtual OSCtxtPtr getContext () = 0;
00054    virtual OSCTXT* getCtxtPtr () = 0;
00055    virtual OSOCTET* getMsgCopy () { return 0; }
00056    virtual void* getAppInfo () = 0;
00057    virtual const OSOCTET* getMsgPtr () { return 0; }
00058    virtual void init () {}
00059    virtual int initBuffer (OSOCTET* /*pMsgBuf*/, size_t /*msgBufLen*/) { return 0; }
00060    virtual OSBOOL isA (Type bufferType) = 0;
00061    virtual void setAppInfo (void* pAppInfo) = 0;
00062    virtual void setNamespace 
00063       (const OSUTF8CHAR* /*prefix*/, const OSUTF8CHAR* /*uri*/) {}
00064 
00071    inline size_t getByteIndex () {
00072       return getCtxtPtr()->buffer.byteIndex;
00073    }
00074 
00082    virtual char* getErrorInfo () = 0;
00083 
00100    virtual char* getErrorInfo (char* pBuf, size_t& bufSize) = 0;
00101 
00106    inline void printErrorInfo () {
00107       rtxErrPrint (getCtxtPtr());
00108    }
00109 
00114    inline void resetErrorInfo () {
00115       rtxErrReset (getCtxtPtr());
00116    }
00117 
00123    virtual void setDiag (OSBOOL value=TRUE) {
00124       rtxSetDiag (getCtxtPtr(), value);
00125    }
00126 
00127 };
00128 
00129 #endif

This file was last modified on 8 Jan 2007.
XBinder, Version 1.1.9