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