OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
BESUncompressManager3.h
Go to the documentation of this file.
1
// BESUncompressManager3.h
2
3
// This file is part of bes, A C++ back-end server implementation framework
4
// for the OPeNDAP Data Access Protocol.
5
6
// Copyright (c) 2012 OPeNDAP, Inc
7
// Author: James Gallagher <jgallagher@opendap.org>
8
// Based in code by Patrick West <pwest@ucar.edu> and Jose Garcia <jgarcia@ucar.edu>
9
//
10
// This library is free software; you can redistribute it and/or
11
// modify it under the terms of the GNU Lesser General Public
12
// License as published by the Free Software Foundation; either
13
// version 2.1 of the License, or (at your option) any later version.
14
//
15
// This library is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
// Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public
21
// License along with this library; if not, write to the Free Software
22
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23
//
24
// You can contact University Corporation for Atmospheric Research at
25
// 3080 Center Green Drive, Boulder, CO 80301
26
27
#ifndef I_BESUncompressManager3_h
28
#define I_BESUncompressManager3_h 1
29
30
#include <map>
31
#include <string>
32
33
using
std::map;
34
using
std::string;
35
36
#include "
BESObj.h
"
37
38
class
BESCache3
;
39
40
typedef
void (*
p_bes_uncompress
)(
const
string
&src,
int
fd);
41
58
class
BESUncompressManager3
:
public
BESObj
{
59
private
:
60
static
BESUncompressManager3
* _instance;
61
map<string, p_bes_uncompress> _uncompress_list;
62
typedef
map<string, p_bes_uncompress>::const_iterator UCIter;
63
64
BESUncompressManager3
(
void
);
65
66
public
:
67
virtual
~BESUncompressManager3
(
void
)
68
{
69
}
70
71
virtual
bool
add_method
(
const
string
&name,
p_bes_uncompress
method);
72
virtual
p_bes_uncompress
find_method
(
const
string
&name);
73
74
virtual
bool
uncompress
(
const
string
&src,
string
&target,
BESCache3
*cache);
75
76
virtual
void
dump
(ostream &strm)
const
;
77
78
static
BESUncompressManager3
*
TheManager
();
79
};
80
81
#endif // I_BESUncompressManager3_h
dispatch
BESUncompressManager3.h
Generated by
1.8.4