00001 #ifndef UNKNOWN_ACTION_HH_ 00002 # define UNKNOWN_ACTION_HH_ 00003 00004 # include <string> 00005 00006 # include "cronous-interface.hh" 00007 # include "outgoing-packet.hh" 00008 # include "packets_fwd.hh" 00009 00010 namespace actions 00011 { 00012 class UnknownAction : public packets::OutgoingPacket 00013 { 00014 public: 00015 UnknownAction(int op); 00016 00017 void print_tag(std::ostream &os) const; 00018 void print_data(std::ostream &os) const; 00019 void process(packets::PacketVisitor &ph); 00020 00021 template <typename T> 00022 UnknownAction &operator <<(T e) 00023 { 00024 char *buf = (char *)&e; 00025 _data.append(buf, sizeof(T)); 00026 return *this; 00027 } 00028 00029 UnknownAction &operator <<(std::string s); 00030 UnknownAction &operator <<(char *b); 00031 }; 00032 }; 00033 00034 #endif