00001 // OPENDAP_CLASSRequestHandler.cc 00002 00003 #include "config.h" 00004 00005 #include "OPENDAP_CLASSRequestHandler.h" 00006 #include "BESResponseHandler.h" 00007 #include "BESResponseException.h" 00008 #include "BESResponseNames.h" 00009 #include "OPENDAP_CLASSResponseNames.h" 00010 #include "BESVersionInfo.h" 00011 #include "BESTextInfo.h" 00012 #include "BESConstraintFuncs.h" 00013 00014 OPENDAP_CLASSRequestHandler::OPENDAP_CLASSRequestHandler( string name ) 00015 : BESRequestHandler( name ) 00016 { 00017 add_handler( VERS_RESPONSE, OPENDAP_CLASSRequestHandler::OPENDAP_TYPE_build_vers ) ; 00018 add_handler( HELP_RESPONSE, OPENDAP_CLASSRequestHandler::OPENDAP_TYPE_build_help ) ; 00019 } 00020 00021 OPENDAP_CLASSRequestHandler::~OPENDAP_CLASSRequestHandler() 00022 { 00023 } 00024 00025 bool 00026 OPENDAP_CLASSRequestHandler::OPENDAP_TYPE_build_vers( BESDataHandlerInterface &dhi ) 00027 { 00028 bool ret = true ; 00029 BESVersionInfo *info = dynamic_cast<BESVersionInfo *>(dhi.response_handler->get_response_object() ) ; 00030 info->addHandlerVersion( PACKAGE_NAME, PACKAGE_VERSION ) ; 00031 return ret ; 00032 } 00033 00034 bool 00035 OPENDAP_CLASSRequestHandler::OPENDAP_TYPE_build_help( BESDataHandlerInterface &dhi ) 00036 { 00037 bool ret = true ; 00038 BESInfo *info = dynamic_cast<BESInfo *>(dhi.response_handler->get_response_object()); 00039 00040 info->begin_tag("Handler"); 00041 info->add_tag("name", PACKAGE_NAME); 00042 info->add_tag("version", PACKAGE_STRING); 00043 info->add_data_from_file( "OPENDAP_CLASS.Help", "OPENDAP_CLASS Help" ) ; 00044 info->end_tag("Handler"); 00045 00046 return ret ; 00047 } 00048 00049 void 00050 OPENDAP_CLASSRequestHandler::dump( ostream &strm ) const 00051 { 00052 strm << BESIndent::LMarg << "OPENDAP_CLASSRequestHandler::dump - (" 00053 << (void *)this << ")" << endl ; 00054 BESIndent::Indent() ; 00055 BESRequestHandler::dump( strm ) ; 00056 BESIndent::UnIndent() ; 00057 } 00058