libdap++
Updated for version 3.8.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
XDRStreamMarshaller.h
Go to the documentation of this file.
1
// XDRStreamMarshaller.h
2
3
// -*- mode: c++; c-basic-offset:4 -*-
4
5
// This file is part of libdap, A C++ implementation of the OPeNDAP Data
6
// Access Protocol.
7
8
// Copyright (c) 2002,2003 OPeNDAP, Inc.
9
// Author: Patrick West <pwest@ucar.edu>
10
//
11
// This library is free software; you can redistribute it and/or
12
// modify it under the terms of the GNU Lesser General Public
13
// License as published by the Free Software Foundation; either
14
// version 2.1 of the License, or (at your option) any later version.
15
//
16
// This library is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
// Lesser General Public License for more details.
20
//
21
// You should have received a copy of the GNU Lesser General Public
22
// License along with this library; if not, write to the Free Software
23
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24
//
25
// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
26
27
// (c) COPYRIGHT URI/MIT 1994-1999
28
// Please read the full copyright statement in the file COPYRIGHT_URI.
29
//
30
// Authors:
31
// pwest Patrick West <pwest@ucar.edu>
32
33
#ifndef I_XDRStreamMarshaller_h
34
#define I_XDRStreamMarshaller_h 1
35
36
#include <iostream>
37
38
using
std::ostream ;
39
using
std::cout ;
40
41
#include "
Marshaller.h
"
42
#include "
XDRUtils.h
"
43
44
namespace
libdap
45
{
46
50
class
XDRStreamMarshaller
:
public
Marshaller
51
{
52
private
:
53
static
char
* _buf ;
54
XDR * _sink ;
55
ostream & _out ;
56
57
XDRStreamMarshaller
() ;
58
XDRStreamMarshaller
(
const
XDRStreamMarshaller
&m ) ;
59
XDRStreamMarshaller
& operator=(
const
XDRStreamMarshaller
& ) ;
60
public
:
61
XDRStreamMarshaller
( ostream &out ) ;
62
virtual
~XDRStreamMarshaller
() ;
63
64
virtual
void
put_byte
(
dods_byte
val ) ;
65
66
virtual
void
put_int16
(
dods_int16
val ) ;
67
virtual
void
put_int32
(
dods_int32
val ) ;
68
69
virtual
void
put_float32
(
dods_float32
val ) ;
70
virtual
void
put_float64
(
dods_float64
val ) ;
71
72
virtual
void
put_uint16
(
dods_uint16
val ) ;
73
virtual
void
put_uint32
(
dods_uint32
val ) ;
74
75
virtual
void
put_str
(
const
string
&val ) ;
76
virtual
void
put_url
(
const
string
&val ) ;
77
78
virtual
void
put_opaque
(
char
*val,
unsigned
int
len ) ;
79
virtual
void
put_int
(
int
val ) ;
80
81
virtual
void
put_vector
(
char
*val,
int
num,
82
Vector
&vec ) ;
83
virtual
void
put_vector
(
char
*val,
int
num,
int
width,
84
Vector
&vec ) ;
85
86
virtual
void
dump
(ostream &strm)
const
;
87
} ;
88
89
}
// namespace libdap
90
91
#endif // I_XDRStreamMarshaller_h
92
XDRStreamMarshaller.h
Generated on Wed Jul 10 2013 17:26:31 for libdap++ by
1.8.4