Objective Systems, Inc.  
Home
About ASN.1
Products
Free Software
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-2004 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-2004 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 1 Oct 2004.
ASN1C XER Runtime, ASN1C v5.7x