BESDelDefsCommand.cc
Go to the documentation of this file.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 "BESDelDefsCommand.h"
00034 #include "BESTokenizer.h"
00035 #include "BESResponseHandlerList.h"
00036 #include "BESDefinitionStorageList.h"
00037 #include "BESSyntaxUserError.h"
00038 #include "BESDataNames.h"
00039
00059 BESResponseHandler *
00060 BESDelDefsCommand::parse_request( BESTokenizer &tokenizer,
00061 BESDataHandlerInterface &dhi )
00062 {
00063 BESResponseHandler *retResponse =
00064 BESResponseHandlerList::TheList()->find_handler( _cmd ) ;
00065 if( !retResponse )
00066 {
00067 string s = (string)"No response handler for command " + _cmd ;
00068 throw BESSyntaxUserError( s, __FILE__, __LINE__ ) ;
00069 }
00070
00071 dhi.action = _cmd ;
00072 dhi.data[STORE_NAME] = PERSISTENCE_VOLATILE ;
00073 string my_token = tokenizer.get_next_token() ;
00074 if( my_token == "from" )
00075 {
00076 dhi.data[STORE_NAME] = tokenizer.get_next_token() ;
00077 if( dhi.data[STORE_NAME] == ";" )
00078 {
00079 tokenizer.parse_error( my_token + " not expected, expecting persistent name" ) ;
00080 }
00081 my_token = tokenizer.get_next_token() ;
00082 }
00083
00084 if( my_token != ";" )
00085 {
00086 tokenizer.parse_error( my_token + " not expected, expecting semicolon (;)" ) ;
00087 }
00088
00089 return retResponse ;
00090 }
00091
00098 void
00099 BESDelDefsCommand::dump( ostream &strm ) const
00100 {
00101 strm << BESIndent::LMarg << "BESDelDefsCommand::dump - ("
00102 << (void *)this << ")" << endl ;
00103 BESIndent::Indent() ;
00104 BESCommand::dump( strm ) ;
00105 BESIndent::UnIndent() ;
00106 }
00107