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

Google


Objective Systems, Inc.

ASN1XERInputStream.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 1997-2005 by 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  *****************************************************************************/
00024 
00030 #ifndef _ASN1XERINPUTSTREAM_H_
00031 #define _ASN1XERINPUTSTREAM_H_
00032 
00033 #include "asn1XerCppTypes.h"
00034 #include "ASN1Stream.h"
00035 #include "OSCSocket.h"
00036 
00049 class EXTERNXER ASN1XERInputStream : public ASN1XERDecodeBuffer {
00050  protected:
00051    ASN1XERInputStream (const char* pFilename) : 
00052       ASN1XERDecodeBuffer (pFilename) { }
00053  public:
00061    ASN1XERInputStream (OSCInputStream& inputStream) :
00062       ASN1XERDecodeBuffer (inputStream) { }
00063 
00073    ASN1XERInputStream (const ASN1OCTET* msgbuf, size_t numocts) :
00074       ASN1XERDecodeBuffer (msgbuf, numocts) { }
00075 
00085    ASN1XERInputStream& operator >> (ASN1CType& val); 
00086 
00095    int decodeObj (ASN1CType& val);
00096 
00097 } ;
00098 
00103 class EXTERNXER ASN1XERFileInputStream : public ASN1XERInputStream {
00104  public:
00113    ASN1XERFileInputStream (const char* pFilename) : 
00114       ASN1XERInputStream (pFilename) { }
00115 
00125    ASN1XERFileInputStream (FILE* file) :
00126       ASN1XERInputStream (*new OSCFileInputStream (file)) { }
00127 } ;
00128 
00133 class EXTERNXER ASN1XERSocketInputStream : public ASN1XERInputStream {
00134  protected:
00135    OSCSocket mSocket; 
00136  public:
00149    ASN1XERSocketInputStream (OSRTSOCKET socket, ASN1BOOL ownership = FALSE) :
00150       ASN1XERInputStream (*new OSCSocketInputStream (socket, ownership)) { }
00151       
00152 
00160    ASN1XERSocketInputStream (OSCSocket& socket) :
00161       ASN1XERInputStream (*new OSCSocketInputStream (socket)) { }
00162 } ;
00163 
00167 #endif /* _ASN1XERINPUTSTREAM_H_ */
00168 

Copyright © 1997-2005 Objective Systems,Inc.
All Rights Reserved.
This document may be distributed in any form, electronic
or otherwise, provided that it is distributed in its entirety
and that the copyright and this notice are included.

This file was last modified on 8 Sep 2005.
ASN1C XER Runtime, ASN1C v5.8x