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 "BESStreamResponseHandler.h"
00052
00053 #include "BESSetContainerResponseHandler.h"
00054 #include "BESShowContainersResponseHandler.h"
00055 #include "BESDelContainerResponseHandler.h"
00056 #include "BESDelContainersResponseHandler.h"
00057 #include "BESContainerStorageList.h"
00058 #include "BESContainerStorageVolatile.h"
00059
00060 #include "BESDefineResponseHandler.h"
00061 #include "BESShowDefsResponseHandler.h"
00062 #include "BESDelDefResponseHandler.h"
00063 #include "BESDelDefsResponseHandler.h"
00064 #include "BESDefinitionStorageList.h"
00065 #include "BESDefinitionStorageVolatile.h"
00066
00067 #include "BESSetContextResponseHandler.h"
00068 #include "BESShowContextResponseHandler.h"
00069
00070 #include "BESTransmitterNames.h"
00071 #include "BESReturnManager.h"
00072 #include "BESBasicTransmitter.h"
00073 #include "BESBasicHttpTransmitter.h"
00074
00075 #include "BESDebug.h"
00076
00077 #include "BESTextInfo.h"
00078 #include "BESHTMLInfo.h"
00079 #include "BESXMLInfo.h"
00080 #include "BESInfoList.h"
00081 #include "BESInfoNames.h"
00082
00083 int
00084 BESDefaultModule::initialize(int, char**)
00085 {
00086 BESDEBUG( "bes", "Initializing default modules:" << endl )
00087
00088 BESDEBUG( "bes", " adding " << HELP_RESPONSE << " response handler" << endl )
00089 BESResponseHandlerList::TheList()->add_handler( HELP_RESPONSE, BESHelpResponseHandler::HelpResponseBuilder ) ;
00090
00091 #ifdef BES_DEVELOPER
00092 BESDEBUG( "bes", " adding " << PROCESS_RESPONSE << " response handler" << endl )
00093 BESResponseHandlerList::TheList()->add_handler( PROCESS_RESPONSE, BESProcIdResponseHandler::ProcIdResponseBuilder ) ;
00094
00095 BESDEBUG( "bes", " adding " << CONFIG_RESPONSE << " response handler" << endl )
00096 BESResponseHandlerList::TheList()->add_handler( CONFIG_RESPONSE, BESConfigResponseHandler::ConfigResponseBuilder ) ;
00097 #endif
00098
00099 BESDEBUG( "bes", " adding " << VERS_RESPONSE << " response handler" << endl )
00100 BESResponseHandlerList::TheList()->add_handler( VERS_RESPONSE, BESVersionResponseHandler::VersionResponseBuilder ) ;
00101
00102 BESDEBUG( "bes", " adding " << STATUS_RESPONSE << " response handler" << endl )
00103 BESResponseHandlerList::TheList()->add_handler( STATUS_RESPONSE, BESStatusResponseHandler::StatusResponseBuilder ) ;
00104
00105 BESDEBUG( "bes", " adding " << STREAM_RESPONSE << " response handler" << endl )
00106 BESResponseHandlerList::TheList()->add_handler( STREAM_RESPONSE, BESStreamResponseHandler::BESStreamResponseBuilder ) ;
00107
00108 BESDEBUG( "bes", " adding " << SETCONTAINER << " response handler" << endl )
00109 BESResponseHandlerList::TheList()->add_handler( SETCONTAINER, BESSetContainerResponseHandler::SetContainerResponseBuilder ) ;
00110
00111 BESDEBUG( "bes", " adding " << SHOWCONTAINERS_RESPONSE << " response handler"
00112 << endl )
00113 BESResponseHandlerList::TheList()->add_handler( SHOWCONTAINERS_RESPONSE, BESShowContainersResponseHandler::ShowContainersResponseBuilder ) ;
00114
00115 BESDEBUG( "bes", " adding " << DELETE_CONTAINER << " response handler" << endl )
00116 BESResponseHandlerList::TheList()->add_handler( DELETE_CONTAINER, BESDelContainerResponseHandler::DelContainerResponseBuilder ) ;
00117
00118 BESDEBUG( "bes", " adding " << DELETE_CONTAINERS << " response handler" << endl)
00119 BESResponseHandlerList::TheList()->add_handler( DELETE_CONTAINERS, BESDelContainersResponseHandler::DelContainersResponseBuilder ) ;
00120
00121 BESDEBUG( "bes", " adding " << PERSISTENCE_VOLATILE << " container persistence"
00122 << endl )
00123 BESContainerStorageList::TheList()->add_persistence( new BESContainerStorageVolatile( PERSISTENCE_VOLATILE ) ) ;
00124
00125 BESDEBUG( "bes", " adding " << DEFINE_RESPONSE << " response handler" << endl )
00126 BESResponseHandlerList::TheList()->add_handler( DEFINE_RESPONSE, BESDefineResponseHandler::DefineResponseBuilder ) ;
00127
00128 BESDEBUG( "bes", " adding " << SHOWDEFS_RESPONSE << " response handler" << endl)
00129 BESResponseHandlerList::TheList()->add_handler( SHOWDEFS_RESPONSE, BESShowDefsResponseHandler::ShowDefsResponseBuilder ) ;
00130
00131 BESDEBUG( "bes", " adding " << DELETE_DEFINITION << " response handler" << endl)
00132 BESResponseHandlerList::TheList()->add_handler( DELETE_DEFINITION, BESDelDefResponseHandler::DelDefResponseBuilder ) ;
00133
00134 BESDEBUG( "bes", " adding " << DELETE_DEFINITIONS << " response handler"
00135 << endl )
00136 BESResponseHandlerList::TheList()->add_handler( DELETE_DEFINITIONS, BESDelDefsResponseHandler::DelDefsResponseBuilder ) ;
00137
00138 BESDEBUG( "bes", " adding " << PERSISTENCE_VOLATILE << " definition persistence"
00139 << 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
00185 BESResponseHandlerList::TheList()->remove_handler( SETCONTAINER ) ;
00186 BESResponseHandlerList::TheList()->remove_handler( SHOWCONTAINERS_RESPONSE ) ;
00187 BESResponseHandlerList::TheList()->remove_handler( DELETE_CONTAINER ) ;
00188 BESResponseHandlerList::TheList()->remove_handler( DELETE_CONTAINERS ) ;
00189 BESContainerStorageList::TheList()->del_persistence( PERSISTENCE_VOLATILE ) ;
00190
00191 BESResponseHandlerList::TheList()->remove_handler( DEFINE_RESPONSE ) ;
00192 BESResponseHandlerList::TheList()->remove_handler( SHOWDEFS_RESPONSE ) ;
00193 BESResponseHandlerList::TheList()->remove_handler( DELETE_DEFINITION ) ;
00194 BESResponseHandlerList::TheList()->remove_handler( DELETE_DEFINITIONS ) ;
00195 BESDefinitionStorageList::TheList()->del_persistence( PERSISTENCE_VOLATILE ) ;
00196
00197 BESResponseHandlerList::TheList()->remove_handler( SET_CONTEXT ) ;
00198 BESResponseHandlerList::TheList()->remove_handler( SHOW_CONTEXT ) ;
00199
00200 BESReturnManager::TheManager()->del_transmitter( BASIC_TRANSMITTER ) ;
00201 BESReturnManager::TheManager()->del_transmitter( HTTP_TRANSMITTER ) ;
00202
00203 BESDEBUG( "bes", "Done Removing default modules" << endl )
00204
00205 return 0 ;
00206 }
00207