00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
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
00469