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

Google


Objective Systems, Inc.

rtxCppStream.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 _RTXCPPSTREAM_H_
00029 #define _RTXCPPSTREAM_H_
00030 
00031 #include "rtxsrc/rtxCppContext.h"
00032 #include "rtxsrc/rtxCppStreamIF.h"
00033 
00037 class EXTERNRTX OSStream : public OSStreamIF {
00038  protected:
00039    OSCtxtPtr mpContext; 
00040    OSBOOL mbAttached;   
00041    int mStatus;         
00042    int mInitStatus; 
00043 
00044    OSStream (OSContext* pContext, OSBOOL attachStream = FALSE);
00045    OSStream (OSStream& original);
00046 
00053    OSStream ();
00054 
00055    char* getErrorInfo (size_t* pBufSize);
00056  public:
00060    virtual ~OSStream ();
00061 
00072    virtual int close ();
00073 
00082    virtual int flush ();
00083 
00093    virtual OSCtxtPtr getContext () {
00094       return mpContext;
00095    }
00096 
00103    virtual OSCTXT* getCtxtPtr () {
00104       return mpContext->getPtr();
00105    }
00106 
00114    virtual char* getErrorInfo () {
00115       return mpContext->getErrorInfo ();
00116    }
00117 
00134    virtual char* getErrorInfo (char* pBuf, size_t& bufSize) {
00135       return mpContext->getErrorInfo (pBuf, bufSize);
00136    }
00137 
00147    inline int getStatus () const { 
00148       return mStatus; 
00149    }
00150 
00151    inline OSBOOL isInitialized () { return (OSBOOL)(mInitStatus == 0); }
00152 
00158    virtual OSBOOL isOpened ();
00159 
00164    inline void printErrorInfo () {
00165       rtxErrPrint (getCtxtPtr());
00166    }
00167 
00172    inline void resetErrorInfo () {
00173       rtxErrReset (getCtxtPtr());
00174    }
00175 
00176 } ;
00177 
00178 #endif

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