RequestHandler.cc

Go to the documentation of this file.
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( const 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->begin_tag("info");
00044     info->add_data_from_file( "OPENDAP_CLASS.Help", "OPENDAP_CLASS Help" ) ;
00045     info->end_tag("info");
00046     info->end_tag("Handler");
00047 
00048     return ret ;
00049 }
00050 
00051 void
00052 OPENDAP_CLASSRequestHandler::dump( ostream &strm ) const
00053 {
00054     strm << BESIndent::LMarg << "OPENDAP_CLASSRequestHandler::dump - ("
00055                              << (void *)this << ")" << endl ;
00056     BESIndent::Indent() ;
00057     BESRequestHandler::dump( strm ) ;
00058     BESIndent::UnIndent() ;
00059 }
00060 

Generated on Sat Jan 19 04:05:37 2008 for OPeNDAP Back End Server (BES) by  doxygen 1.5.4