00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
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
00168