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