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
00029
00030
00031
00032
00033 #include <iostream>
00034
00035 using std::endl ;
00036
00037 #include "BESDefaultModule.h"
00038
00039 #include "BESResponseNames.h"
00040 #include "BESResponseHandlerList.h"
00041
00042 #include "BESHelpResponseHandler.h"
00043 #include "BESVersionResponseHandler.h"
00044
00045 #ifdef BES_DEVELOPER
00046 #include "BESProcIdResponseHandler.h"
00047 #include "BESConfigResponseHandler.h"
00048 #endif
00049
00050 #include "BESStatusResponseHandler.h"
00051 #include "BESServicesResponseHandler.h"
00052 #include "BESStreamResponseHandler.h"
00053
00054 #include "BESSetContainerResponseHandler.h"
00055 #include "BESShowContainersResponseHandler.h"
00056 #include "BESDelContainerResponseHandler.h"
00057 #include "BESDelContainersResponseHandler.h"
00058 #include "BESContainerStorageList.h"
00059 #include "BESContainerStorageVolatile.h"
00060
00061 #include "BESDefineResponseHandler.h"
00062 #include "BESShowDefsResponseHandler.h"
00063 #include "BESDelDefResponseHandler.h"
00064 #include "BESDelDefsResponseHandler.h"
00065 #include "BESDefinitionStorageList.h"
00066 #include "BESDefinitionStorageVolatile.h"
00067
00068 #include "BESSetContextResponseHandler.h"
00069 #include "BESShowContextResponseHandler.h"
00070
00071 #include "BESShowErrorResponseHandler.h"
00072
00073 #include "BESTransmitterNames.h"
00074 #include "BESReturnManager.h"
00075 #include "BESBasicTransmitter.h"
00076
00077 #include "BESDebug.h"
00078
00079 #include "BESTextInfo.h"
00080 #include "BESHTMLInfo.h"
00081 #include "BESXMLInfo.h"
00082 #include "BESInfoList.h"
00083 #include "BESInfoNames.h"
00084
00085 int
00086 BESDefaultModule::initialize(int, char**)
00087 {
00088 BESDEBUG( "bes", "Initializing default modules:" << endl ) ;
00089
00090 BESDEBUG( "bes", " adding " << HELP_RESPONSE << " response handler" << endl ) ;
00091 BESResponseHandlerList::TheList()->add_handler( HELP_RESPONSE, BESHelpResponseHandler::HelpResponseBuilder ) ;
00092
00093 #ifdef BES_DEVELOPER
00094 BESDEBUG( "bes", " adding " << PROCESS_RESPONSE << " response handler" << endl ) ;
00095 BESResponseHandlerList::TheList()->add_handler( PROCESS_RESPONSE, BESProcIdResponseHandler::ProcIdResponseBuilder ) ;
00096
00097 BESDEBUG( "bes", " adding " << CONFIG_RESPONSE << " response handler" << endl ) ;
00098 BESResponseHandlerList::TheList()->add_handler( CONFIG_RESPONSE, BESConfigResponseHandler::ConfigResponseBuilder ) ;
00099 #endif
00100
00101 BESDEBUG( "bes", " adding " << VERS_RESPONSE << " response handler" << endl ) ;
00102 BESResponseHandlerList::TheList()->add_handler( VERS_RESPONSE, BESVersionResponseHandler::VersionResponseBuilder ) ;
00103
00104 BESDEBUG( "bes", " adding " << STATUS_RESPONSE << " response handler" << endl ) ;
00105 BESResponseHandlerList::TheList()->add_handler( STATUS_RESPONSE, BESStatusResponseHandler::StatusResponseBuilder ) ;
00106
00107 BESDEBUG( "bes", " adding " << SERVICE_RESPONSE << " response handler" << endl ) ;
00108 BESResponseHandlerList::TheList()->add_handler( SERVICE_RESPONSE, BESServicesResponseHandler::ResponseBuilder ) ;
00109
00110 BESDEBUG( "bes", " adding " << STREAM_RESPONSE << " response handler" << endl ) ;
00111 BESResponseHandlerList::TheList()->add_handler( STREAM_RESPONSE, BESStreamResponseHandler::BESStreamResponseBuilder ) ;
00112
00113 BESDEBUG( "bes", " adding " << SETCONTAINER << " response handler" << endl ) ;
00114 BESResponseHandlerList::TheList()->add_handler( SETCONTAINER, BESSetContainerResponseHandler::SetContainerResponseBuilder ) ;
00115
00116 BESDEBUG( "bes", " adding " << SHOWCONTAINERS_RESPONSE << " response handler" << endl ) ;
00117 BESResponseHandlerList::TheList()->add_handler( SHOWCONTAINERS_RESPONSE, BESShowContainersResponseHandler::ShowContainersResponseBuilder ) ;
00118
00119 BESDEBUG( "bes", " adding " << DELETE_CONTAINER << " response handler" << endl ) ;
00120 BESResponseHandlerList::TheList()->add_handler( DELETE_CONTAINER, BESDelContainerResponseHandler::DelContainerResponseBuilder ) ;
00121
00122 BESDEBUG( "bes", " adding " << DELETE_CONTAINERS << " response handler" << endl) ;
00123 BESResponseHandlerList::TheList()->add_handler( DELETE_CONTAINERS, BESDelContainersResponseHandler::DelContainersResponseBuilder ) ;
00124
00125 BESDEBUG( "bes", " adding " << PERSISTENCE_VOLATILE << " container persistence" << endl ) ;
00126 BESContainerStorageList::TheList()->add_persistence( new BESContainerStorageVolatile( PERSISTENCE_VOLATILE ) ) ;
00127
00128 BESDEBUG( "bes", " adding " << DEFINE_RESPONSE << " response handler" << endl ) ;
00129 BESResponseHandlerList::TheList()->add_handler( DEFINE_RESPONSE, BESDefineResponseHandler::DefineResponseBuilder ) ;
00130
00131 BESDEBUG( "bes", " adding " << SHOWDEFS_RESPONSE << " response handler" << endl) ;
00132 BESResponseHandlerList::TheList()->add_handler( SHOWDEFS_RESPONSE, BESShowDefsResponseHandler::ShowDefsResponseBuilder ) ;
00133
00134 BESDEBUG( "bes", " adding " << DELETE_DEFINITION << " response handler" << endl) ;
00135 BESResponseHandlerList::TheList()->add_handler( DELETE_DEFINITION, BESDelDefResponseHandler::DelDefResponseBuilder ) ;
00136
00137 BESDEBUG( "bes", " adding " << DELETE_DEFINITIONS << " response handler" << endl ) ;
00138 BESResponseHandlerList::TheList()->add_handler( DELETE_DEFINITIONS, BESDelDefsResponseHandler::DelDefsResponseBuilder ) ;
00139
00140 BESDEBUG( "bes", " adding " << PERSISTENCE_VOLATILE << " definition persistence" << endl ) ;
00141 BESDefinitionStorageList::TheList()->add_persistence( new BESDefinitionStorageVolatile( PERSISTENCE_VOLATILE ) ) ;
00142
00143 BESDEBUG( "bes", " adding " << SET_CONTEXT << " response handler" << endl) ;
00144 BESResponseHandlerList::TheList()->add_handler( SET_CONTEXT, BESSetContextResponseHandler::SetContextResponseBuilder ) ;
00145
00146 BESDEBUG( "bes", " adding " << SHOW_CONTEXT << " response handler" << endl) ;
00147 BESResponseHandlerList::TheList()->add_handler( SHOW_CONTEXT, BESShowContextResponseHandler::ShowContextResponseBuilder ) ;
00148
00149 BESDEBUG( "bes", " adding " << SHOW_ERROR << " response handler" << endl) ;
00150 BESResponseHandlerList::TheList()->add_handler( SHOW_ERROR, BESShowErrorResponseHandler::ResponseBuilder ) ;
00151
00152 BESDEBUG( "bes", " adding " << BASIC_TRANSMITTER << " transmitter" << endl ) ;
00153 BESReturnManager::TheManager()->add_transmitter( BASIC_TRANSMITTER, new BESBasicTransmitter ) ;
00154
00155 BESDEBUG( "bes", " adding " << BES_TEXT_INFO << " info builder" << endl ) ;
00156 BESInfoList::TheList()->add_info_builder( BES_TEXT_INFO,
00157 BESTextInfo::BuildTextInfo ) ;
00158
00159 BESDEBUG( "bes", " adding " << BES_HTML_INFO << " info builder" << endl ) ;
00160 BESInfoList::TheList()->add_info_builder( BES_HTML_INFO,
00161 BESHTMLInfo::BuildHTMLInfo ) ;
00162
00163 BESDEBUG( "bes", " adding " << BES_XML_INFO << " info builder" << endl ) ;
00164 BESInfoList::TheList()->add_info_builder( BES_XML_INFO,
00165 BESXMLInfo::BuildXMLInfo ) ;
00166
00167 BESDEBUG( "bes", " adding bes debug context" << endl ) ;
00168 BESDebug::Register( "bes" ) ;
00169
00170 BESDEBUG( "bes", "Done Initializing default modules:" << endl ) ;
00171
00172 return 0 ;
00173 }
00174
00175 int
00176 BESDefaultModule::terminate(void)
00177 {
00178 BESDEBUG( "bes", "Removing default modules" << endl ) ;
00179
00180 BESResponseHandlerList::TheList()->remove_handler( HELP_RESPONSE ) ;
00181 BESResponseHandlerList::TheList()->remove_handler( VERS_RESPONSE ) ;
00182 BESResponseHandlerList::TheList()->remove_handler( PROCESS_RESPONSE ) ;
00183 BESResponseHandlerList::TheList()->remove_handler( CONFIG_RESPONSE ) ;
00184 BESResponseHandlerList::TheList()->remove_handler( STATUS_RESPONSE ) ;
00185 BESResponseHandlerList::TheList()->remove_handler( SERVICE_RESPONSE ) ;
00186
00187 BESResponseHandlerList::TheList()->remove_handler( SETCONTAINER ) ;
00188 BESResponseHandlerList::TheList()->remove_handler( SHOWCONTAINERS_RESPONSE ) ;
00189 BESResponseHandlerList::TheList()->remove_handler( DELETE_CONTAINER ) ;
00190 BESResponseHandlerList::TheList()->remove_handler( DELETE_CONTAINERS ) ;
00191 BESContainerStorageList::TheList()->deref_persistence( PERSISTENCE_VOLATILE ) ;
00192
00193 BESResponseHandlerList::TheList()->remove_handler( DEFINE_RESPONSE ) ;
00194 BESResponseHandlerList::TheList()->remove_handler( SHOWDEFS_RESPONSE ) ;
00195 BESResponseHandlerList::TheList()->remove_handler( DELETE_DEFINITION ) ;
00196 BESResponseHandlerList::TheList()->remove_handler( DELETE_DEFINITIONS ) ;
00197 BESDefinitionStorageList::TheList()->deref_persistence( PERSISTENCE_VOLATILE ) ;
00198
00199 BESResponseHandlerList::TheList()->remove_handler( SET_CONTEXT ) ;
00200 BESResponseHandlerList::TheList()->remove_handler( SHOW_CONTEXT ) ;
00201
00202 BESReturnManager::TheManager()->del_transmitter( BASIC_TRANSMITTER ) ;
00203
00204 BESDEBUG( "bes", "Done Removing default modules" << endl ) ;
00205
00206 return 0 ;
00207 }
00208