soccer_agent.h

説明を見る。
00001 // -*-c++-*-
00002 
00008 /*
00009  *Copyright:
00010 
00011  Copyright (C) Hidehisa AKIYAMA
00012 
00013  This code is free software; you can redistribute it and/or
00014  modify it under the terms of the GNU Lesser General Public
00015  License as published by the Free Software Foundation; either
00016  version 2.1 of the License, or (at your option) any later version.
00017 
00018  This library is distributed in the hope that it will be useful,
00019  but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00021  Lesser General Public License for more details.
00022 
00023  You should have received a copy of the GNU Lesser General Public
00024  License along with this library; if not, write to the Free Software
00025  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00026 
00027  *EndCopyright:
00028  */
00029 
00031 
00032 #ifndef RCSC_SOCCER_AGENT_H
00033 #define RCSC_SOCCER_AGENT_H
00034 
00035 namespace rcsc {
00036 
00037 class BasicClient;
00038 class CmdLineParser;
00039 
00050 class SoccerAgent {
00051 public:
00052     friend class BasicClient;
00053 
00054 protected:
00056     BasicClient * M_client;
00057 
00058 private:
00059 
00060     // nocopyable
00061     SoccerAgent( const SoccerAgent & );
00062     SoccerAgent & operator=( const SoccerAgent & );
00063 
00064 public:
00065 
00069     SoccerAgent();
00070 
00074     virtual
00075     ~SoccerAgent();
00076 
00090     bool init( BasicClient * client,
00091                const int argc,
00092                const char * const * argv );
00093 
00094 protected:
00095 
00104     virtual
00105     bool initImpl( CmdLineParser & cmd_parser ) = 0;
00106 
00115     virtual
00116     bool handleStart() = 0;
00117 
00123     virtual
00124     void handleMessage() = 0;
00125 
00133     virtual
00134     void handleTimeout( const int timeout_count,
00135                         const int waited_msec ) = 0;
00136 
00142     virtual
00143     void handleExit() = 0;
00144 };
00145 
00146 }
00147 
00148 #endif

librcscに対してThu May 1 15:41:20 2008に生成されました。  doxygen 1.5.0