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.

ASN1XEROutputStream.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 /*
00025 // CHANGE LOG
00026 // Date         Init    Description
00027 // 11/04/03     CZ      Expand and modify documentation comments.
00028 //
00030 */
00031 
00032 
00038 #ifndef _ASN1XEROUTPUTSTREAM_H_
00039 #define _ASN1XEROUTPUTSTREAM_H_
00040 
00041 #include "asn1XerCppTypes.h"
00042 #include "ASN1Stream.h"
00043 #include "OSCSocket.h"
00044 
00056 class EXTERNXER ASN1XEROutputStream : public ASN1Stream {
00057  protected:
00063    ASN1XEROutputStream () { }
00064  public:
00065 
00075    ASN1XEROutputStream& operator << (ASN1CType& val); 
00076 
00086    int encodeStartElement (const char* elemName, const char* attributes = 0);
00087 
00096    int encodeEndElement (const char* elemName);
00097 
00107    int encodeEmptyElement (const char* elemName, const char* attributes = 0);
00108 
00109 
00127    int encodeBMPStr (const Asn116BitCharString& val, const char* elemName);
00128 
00142    int encodeBigInt (const char *pval, const char* elemName);
00143 
00164    int encodeBitStr (const ASN1OCTET* pbits, ASN1UINT numbits, 
00165                      const char* elemName, ASN1StrType outputType);
00166 
00183    int encodeBitStr (const ASN1DynBitStr& val, const char* elemName,  
00184                      ASN1StrType outputType);
00185 
00199    int encodeBool (ASN1BOOL val, const char* elemName);
00200 
00212    int encodeCharStr (const char* pval, const char* elemName);
00213 
00224    int encodeInt (ASN1INT val, const char* elemName);
00225 
00236    int encodeInt64 (ASN1INT64 val, const char* elemName);
00237 
00247    int encodeNull (const char* elemName);
00248 
00257    int encodeObj (ASN1CType& val);
00258 
00274    int encodeObjId (const ASN1OBJID& val, const char* elemName);
00275 
00292    int encodeObjId64 (const ASN1OID64& val, const char* elemName);
00293 
00307    int encodeOctStr (const ASN1OCTET* pocts, ASN1UINT numocts, 
00308                       const char* elemName);
00309 
00322    int encodeOctStr (const ASN1DynOctStr& val, const char* elemName);
00323    
00343    int encodeReal (ASN1REAL val, const char* elemName);
00344 
00360    int encodeRelativeOID (const ASN1OBJID& val, const char* elemName);
00361 
00372    int encodeUInt (ASN1UINT val, const char* elemName);
00373 
00385    int encodeUInt64 (ASN1UINT64 val, const char* elemName);
00386 
00404    int encodeUnivStr (const Asn132BitCharString& val, const char* elemName);
00405 
00406 } ;
00407 
00412 class EXTERNXER ASN1XERFileOutputStream : public ASN1XEROutputStream {
00413  public:
00422    ASN1XERFileOutputStream (const char* pFilename);
00423 
00433    ASN1XERFileOutputStream (FILE* file);
00434 } ;
00435 
00440 class EXTERNXER ASN1XERSocketOutputStream : public ASN1XEROutputStream {
00441  protected:
00442    OSCSocket mSocket; 
00443  public:
00455    ASN1XERSocketOutputStream (OSRTSOCKET socket, ASN1BOOL ownership = FALSE);
00456 
00464    ASN1XERSocketOutputStream (OSCSocket& socket);
00465 } ;
00466 
00468 #endif /* _ASN1XEROUTPUTSTREAM_H_ */
00469 

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