ChampionLoader.hh

00001 /*
00002 ** Stechec project is free software; you can redistribute it and/or modify
00003 ** it under the terms of the GNU General Public License as published by
00004 ** the Free Software Foundation; either version 2 of the License, or
00005 ** (at your option) any later version.
00006 **
00007 ** The complete GNU General Public Licence Notice can be found as the
00008 ** `NOTICE' file in the root directory.
00009 **
00010 ** Copyright (C) 2006 Prologin
00011 */
00012 
00013 #ifndef CHAMPION_LOADER_HH_
00014 # define CHAMPION_LOADER_HH_
00015 
00016 # include "BaseCRules.hh"
00017 # include "ClientCx.hh"
00018 
00023 class ChampionLoader
00024 {
00025 public:
00026   ChampionLoader();
00027 
00028   void loadLibrary(int argc, char** argv, xml::XMLConfig& cfg);
00029 
00030   int run(xml::XMLConfig& cfg,
00031           BaseCRules* base_rules,
00032           ClientCx* client_cx);
00033 
00034 private:
00035   Library champion_;
00036 
00037   typedef int (*run_func_t)(xml::XMLConfig*, Api*, ClientCx*);
00038   run_func_t run_fun_;
00039   Api* api_;
00040 };
00041 
00042 #endif // !CHAMPION_LOADER_HH_

Generated on Sat Jun 23 16:07:22 2007 for Stechec/TBT by  doxygen 1.4.7