00001 #ifndef PERSONAL_SHOP_ACTION_HH_ 00002 # define PERSONAL_SHOP_ACTION_HH_ 00003 00004 # include "outgoing-packet.hh" 00005 # include "packets_fwd.hh" 00006 00007 namespace actions 00008 { 00009 class PersonalShopAction : public packets::OutgoingPacket 00010 { 00011 public: 00012 enum PersonalShopOperation 00013 { 00014 pso_start = 0x01, 00015 pso_add_item = 0x02, 00016 pso_open = 0x04, 00017 pso_look = 0x05, 00018 pso_close = 0x09 00019 }; 00020 00021 public: 00022 PersonalShopAction(); 00023 00024 const static int op = 0x3f; 00025 00026 void print_tag(std::ostream &os) const; 00027 void print_data(std::ostream &os) const; 00028 void process(packets::PacketVisitor &ph); 00029 00030 void make_start(); 00031 void make_add_item(int item_id, int price, int count); 00032 void make_open(); 00033 void make_close(); 00034 }; 00035 } 00036 00037 #endif