00001
00002
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00031
00032 #ifndef RCSC_RCG_PARSER_V4_H
00033 #define RCSC_RCG_PARSER_V4_H
00034
00035 #include <rcsc/rcg/parser.h>
00036 #include <rcsc/rcg/types.h>
00037
00038 #include <string>
00039
00040 namespace rcsc {
00041 namespace rcg {
00042
00047 class ParserV4
00048 : public Parser {
00049 public:
00050
00055 int version() const
00056 {
00057 return REC_VERSION_4;
00058 }
00059
00067 bool parse( std::istream & is,
00068 Handler & handler ) const;
00069
00081 bool parseLine( const int n_line,
00082 const std::string & line,
00083 Handler & handler ) const;
00084
00085 private:
00086
00095 bool parseShow( const int n_line,
00096 const std::string & line,
00097 Handler & handler ) const;
00098
00107 bool parseMsg( const int n_line,
00108 const std::string & line,
00109 Handler & handler ) const;
00110
00119 bool parsePlayMode( const int n_line,
00120 const std::string & line,
00121 Handler & handler ) const;
00122
00131 bool parseTeam( const int n_line,
00132 const std::string & line,
00133 Handler & handler ) const;
00134
00143 bool parsePlayerType( const int n_line,
00144 const std::string & line,
00145 Handler & handler ) const;
00146
00155 bool parseServerParam( const int n_line,
00156 const std::string & line,
00157 Handler & handler ) const;
00158
00167 bool parsePlayerParam( const int n_line,
00168 const std::string & line,
00169 Handler & handler ) const;
00170 };
00171
00172 }
00173 }
00174
00175 #endif