00001 #ifndef CHARACTERS_AVAILABLE_HH_ 00002 # define CHARACTERS_AVAILABLE_HH_ 00003 00004 # include <map> 00005 # include <string> 00006 00007 # include "incoming-packet.hh" 00008 # include "objects_fwd.hh" 00009 # include "packets_fwd.hh" 00010 00011 namespace infos 00012 { 00013 class CharactersAvailable : public packets::IncomingPacket 00014 { 00015 public: 00016 typedef std::map<int, objects::CharacterAvailable *> CharactersType; 00017 00018 public: 00019 CharactersAvailable(int size = 2); 00020 ~CharactersAvailable(); 00021 00022 const static int op = 0x08; 00023 00024 void check_size(); 00025 void print_tag(std::ostream &os) const; 00026 void print_data(std::ostream &os) const; 00027 void process(packets::PacketVisitor &ph); 00028 00029 CharactersType &get_characters() const; 00030 std::string get_character_name(int index); 00031 int get_count() const; 00032 }; 00033 }; 00034 00035 #endif