OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
BESDefaultModule.cc
Go to the documentation of this file.
1
// BESDefaultModule.cc
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) 2004-2009 University Corporation for Atmospheric Research
7
// Author: Patrick West <pwest@ucar.edu> and Jose Garcia <jgarcia@ucar.edu>
8
//
9
// This library is free software; you can redistribute it and/or
10
// modify it under the terms of the GNU Lesser General Public
11
// License as published by the Free Software Foundation; either
12
// version 2.1 of the License, or (at your option) any later version.
13
//
14
// This library is distributed in the hope that it will be useful,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
// Lesser General Public License for more details.
18
//
19
// You should have received a copy of the GNU Lesser General Public
20
// License along with this library; if not, write to the Free Software
21
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22
//
23
// You can contact University Corporation for Atmospheric Research at
24
// 3080 Center Green Drive, Boulder, CO 80301
25
26
// (c) COPYRIGHT University Corporation for Atmospheric Research 2004-2005
27
// Please read the full copyright statement in the file COPYRIGHT_UCAR.
28
//
29
// Authors:
30
// pwest Patrick West <pwest@ucar.edu>
31
// jgarcia Jose Garcia <jgarcia@ucar.edu>
32
33
#include <iostream>
34
35
using
std::endl ;
36
37
#include "
BESDefaultModule.h
"
38
39
#include "
BESResponseNames.h
"
40
#include "
BESResponseHandlerList.h
"
41
42
#include "
BESHelpResponseHandler.h
"
43
#include "
BESVersionResponseHandler.h
"
44
45
#ifdef BES_DEVELOPER
46
#include "
BESProcIdResponseHandler.h
"
47
#include "
BESConfigResponseHandler.h
"
48
#endif
49
50
#include "
BESStatusResponseHandler.h
"
51
#include "
BESServicesResponseHandler.h
"
52
#include "
BESStreamResponseHandler.h
"
53
54
#include "
BESSetContainerResponseHandler.h
"
55
#include "
BESShowContainersResponseHandler.h
"
56
#include "
BESDelContainerResponseHandler.h
"
57
#include "
BESDelContainersResponseHandler.h
"
58
#include "
BESContainerStorageList.h
"
59
#include "
BESContainerStorageVolatile.h
"
60
61
#include "
BESDefineResponseHandler.h
"
62
#include "
BESShowDefsResponseHandler.h
"
63
#include "
BESDelDefResponseHandler.h
"
64
#include "
BESDelDefsResponseHandler.h
"
65
#include "
BESDefinitionStorageList.h
"
66
#include "
BESDefinitionStorageVolatile.h
"
67
68
#include "
BESSetContextResponseHandler.h
"
69
#include "
BESShowContextResponseHandler.h
"
70
71
#include "
BESShowErrorResponseHandler.h
"
72
73
#include "
BESTransmitterNames.h
"
74
#include "
BESReturnManager.h
"
75
#include "
BESBasicTransmitter.h
"
76
77
#include "
BESDebug.h
"
78
79
#include "
BESTextInfo.h
"
80
#include "
BESHTMLInfo.h
"
81
#include "
BESXMLInfo.h
"
82
#include "
BESInfoList.h
"
83
#include "
BESInfoNames.h
"
84
85
int
86
BESDefaultModule::initialize
(
int
,
char
**)
87
{
88
BESDEBUG
(
"bes"
,
"Initializing default modules:"
<< endl ) ;
89
90
BESDEBUG
(
"bes"
,
" adding "
<<
HELP_RESPONSE
<<
" response handler"
<< endl ) ;
91
BESResponseHandlerList::TheList
()->
add_handler
(
HELP_RESPONSE
,
BESHelpResponseHandler::HelpResponseBuilder
) ;
92
93
#ifdef BES_DEVELOPER
94
BESDEBUG
(
"bes"
,
" adding "
<<
PROCESS_RESPONSE
<<
" response handler"
<< endl ) ;
95
BESResponseHandlerList::TheList
()->
add_handler
(
PROCESS_RESPONSE
,
BESProcIdResponseHandler::ProcIdResponseBuilder
) ;
96
97
BESDEBUG
(
"bes"
,
" adding "
<<
CONFIG_RESPONSE
<<
" response handler"
<< endl ) ;
98
BESResponseHandlerList::TheList
()->
add_handler
(
CONFIG_RESPONSE
,
BESConfigResponseHandler::ConfigResponseBuilder
) ;
99
#endif
100
101
BESDEBUG
(
"bes"
,
" adding "
<<
VERS_RESPONSE
<<
" response handler"
<< endl ) ;
102
BESResponseHandlerList::TheList
()->
add_handler
(
VERS_RESPONSE
,
BESVersionResponseHandler::VersionResponseBuilder
) ;
103
104
BESDEBUG
(
"bes"
,
" adding "
<<
STATUS_RESPONSE
<<
" response handler"
<< endl ) ;
105
BESResponseHandlerList::TheList
()->
add_handler
(
STATUS_RESPONSE
,
BESStatusResponseHandler::StatusResponseBuilder
) ;
106
107
BESDEBUG
(
"bes"
,
" adding "
<<
SERVICE_RESPONSE
<<
" response handler"
<< endl ) ;
108
BESResponseHandlerList::TheList
()->
add_handler
(
SERVICE_RESPONSE
,
BESServicesResponseHandler::ResponseBuilder
) ;
109
110
BESDEBUG
(
"bes"
,
" adding "
<<
STREAM_RESPONSE
<<
" response handler"
<< endl ) ;
111
BESResponseHandlerList::TheList
()->
add_handler
(
STREAM_RESPONSE
,
BESStreamResponseHandler::BESStreamResponseBuilder
) ;
112
113
BESDEBUG
(
"bes"
,
" adding "
<<
SETCONTAINER
<<
" response handler"
<< endl ) ;
114
BESResponseHandlerList::TheList
()->
add_handler
(
SETCONTAINER
,
BESSetContainerResponseHandler::SetContainerResponseBuilder
) ;
115
116
BESDEBUG
(
"bes"
,
" adding "
<<
SHOWCONTAINERS_RESPONSE
<<
" response handler"
<< endl ) ;
117
BESResponseHandlerList::TheList
()->
add_handler
(
SHOWCONTAINERS_RESPONSE
,
BESShowContainersResponseHandler::ShowContainersResponseBuilder
) ;
118
119
BESDEBUG
(
"bes"
,
" adding "
<<
DELETE_CONTAINER
<<
" response handler"
<< endl ) ;
120
BESResponseHandlerList::TheList
()->
add_handler
(
DELETE_CONTAINER
,
BESDelContainerResponseHandler::DelContainerResponseBuilder
) ;
121
122
BESDEBUG
(
"bes"
,
" adding "
<<
DELETE_CONTAINERS
<<
" response handler"
<< endl) ;
123
BESResponseHandlerList::TheList
()->
add_handler
(
DELETE_CONTAINERS
,
BESDelContainersResponseHandler::DelContainersResponseBuilder
) ;
124
125
BESDEBUG
(
"bes"
,
" adding "
<<
PERSISTENCE_VOLATILE
<<
" container persistence"
<< endl ) ;
126
BESContainerStorageList::TheList
()->
add_persistence
(
new
BESContainerStorageVolatile
(
PERSISTENCE_VOLATILE
) ) ;
127
128
BESDEBUG
(
"bes"
,
" adding "
<<
DEFINE_RESPONSE
<<
" response handler"
<< endl ) ;
129
BESResponseHandlerList::TheList
()->
add_handler
(
DEFINE_RESPONSE
,
BESDefineResponseHandler::DefineResponseBuilder
) ;
130
131
BESDEBUG
(
"bes"
,
" adding "
<<
SHOWDEFS_RESPONSE
<<
" response handler"
<< endl) ;
132
BESResponseHandlerList::TheList
()->
add_handler
(
SHOWDEFS_RESPONSE
,
BESShowDefsResponseHandler::ShowDefsResponseBuilder
) ;
133
134
BESDEBUG
(
"bes"
,
" adding "
<<
DELETE_DEFINITION
<<
" response handler"
<< endl) ;
135
BESResponseHandlerList::TheList
()->
add_handler
(
DELETE_DEFINITION
,
BESDelDefResponseHandler::DelDefResponseBuilder
) ;
136
137
BESDEBUG
(
"bes"
,
" adding "
<<
DELETE_DEFINITIONS
<<
" response handler"
<< endl ) ;
138
BESResponseHandlerList::TheList
()->
add_handler
(
DELETE_DEFINITIONS
,
BESDelDefsResponseHandler::DelDefsResponseBuilder
) ;
139
140
BESDEBUG
(
"bes"
,
" adding "
<<
PERSISTENCE_VOLATILE
<<
" definition persistence"
<< endl ) ;
141
BESDefinitionStorageList::TheList
()->
add_persistence
(
new
BESDefinitionStorageVolatile
(
PERSISTENCE_VOLATILE
) ) ;
142
143
BESDEBUG
(
"bes"
,
" adding "
<<
SET_CONTEXT
<<
" response handler"
<< endl) ;
144
BESResponseHandlerList::TheList
()->
add_handler
(
SET_CONTEXT
,
BESSetContextResponseHandler::SetContextResponseBuilder
) ;
145
146
BESDEBUG
(
"bes"
,
" adding "
<<
SHOW_CONTEXT
<<
" response handler"
<< endl) ;
147
BESResponseHandlerList::TheList
()->
add_handler
(
SHOW_CONTEXT
,
BESShowContextResponseHandler::ShowContextResponseBuilder
) ;
148
149
BESDEBUG
(
"bes"
,
" adding "
<<
SHOW_ERROR
<<
" response handler"
<< endl) ;
150
BESResponseHandlerList::TheList
()->
add_handler
(
SHOW_ERROR
,
BESShowErrorResponseHandler::ResponseBuilder
) ;
151
152
BESDEBUG
(
"bes"
,
" adding "
<<
BASIC_TRANSMITTER
<<
" transmitter"
<< endl ) ;
153
BESReturnManager::TheManager
()->
add_transmitter
(
BASIC_TRANSMITTER
,
new
BESBasicTransmitter
) ;
154
155
BESDEBUG
(
"bes"
,
" adding "
<<
BES_TEXT_INFO
<<
" info builder"
<< endl ) ;
156
BESInfoList::TheList
()->
add_info_builder
(
BES_TEXT_INFO
,
157
BESTextInfo::BuildTextInfo
) ;
158
159
BESDEBUG
(
"bes"
,
" adding "
<<
BES_HTML_INFO
<<
" info builder"
<< endl ) ;
160
BESInfoList::TheList
()->
add_info_builder
(
BES_HTML_INFO
,
161
BESHTMLInfo::BuildHTMLInfo
) ;
162
163
BESDEBUG
(
"bes"
,
" adding "
<<
BES_XML_INFO
<<
" info builder"
<< endl ) ;
164
BESInfoList::TheList
()->
add_info_builder
(
BES_XML_INFO
,
165
BESXMLInfo::BuildXMLInfo
) ;
166
167
BESDEBUG
(
"bes"
,
" adding bes debug context"
<< endl ) ;
168
BESDebug::Register
(
"bes"
) ;
169
170
BESDEBUG
(
"bes"
,
"Done Initializing default modules:"
<< endl ) ;
171
172
return
0 ;
173
}
174
175
int
176
BESDefaultModule::terminate
(
void
)
177
{
178
BESDEBUG
(
"bes"
,
"Removing default modules"
<< endl ) ;
179
180
BESResponseHandlerList::TheList
()->
remove_handler
(
HELP_RESPONSE
) ;
181
BESResponseHandlerList::TheList
()->
remove_handler
(
VERS_RESPONSE
) ;
182
BESResponseHandlerList::TheList
()->
remove_handler
(
PROCESS_RESPONSE
) ;
183
BESResponseHandlerList::TheList
()->
remove_handler
(
CONFIG_RESPONSE
) ;
184
BESResponseHandlerList::TheList
()->
remove_handler
(
STATUS_RESPONSE
) ;
185
BESResponseHandlerList::TheList
()->
remove_handler
(
SERVICE_RESPONSE
) ;
186
187
BESResponseHandlerList::TheList
()->
remove_handler
(
SETCONTAINER
) ;
188
BESResponseHandlerList::TheList
()->
remove_handler
(
SHOWCONTAINERS_RESPONSE
) ;
189
BESResponseHandlerList::TheList
()->
remove_handler
(
DELETE_CONTAINER
) ;
190
BESResponseHandlerList::TheList
()->
remove_handler
(
DELETE_CONTAINERS
) ;
191
BESContainerStorageList::TheList
()->
deref_persistence
(
PERSISTENCE_VOLATILE
) ;
192
193
BESResponseHandlerList::TheList
()->
remove_handler
(
DEFINE_RESPONSE
) ;
194
BESResponseHandlerList::TheList
()->
remove_handler
(
SHOWDEFS_RESPONSE
) ;
195
BESResponseHandlerList::TheList
()->
remove_handler
(
DELETE_DEFINITION
) ;
196
BESResponseHandlerList::TheList
()->
remove_handler
(
DELETE_DEFINITIONS
) ;
197
BESDefinitionStorageList::TheList
()->
deref_persistence
(
PERSISTENCE_VOLATILE
) ;
198
199
BESResponseHandlerList::TheList
()->
remove_handler
(
SET_CONTEXT
) ;
200
BESResponseHandlerList::TheList
()->
remove_handler
(
SHOW_CONTEXT
) ;
201
202
BESReturnManager::TheManager
()->
del_transmitter
(
BASIC_TRANSMITTER
) ;
203
204
BESDEBUG
(
"bes"
,
"Done Removing default modules"
<< endl ) ;
205
206
return
0 ;
207
}
208
dispatch
BESDefaultModule.cc
Generated by
1.8.1.1