X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Flibmarklin%2Fcommand.h;h=e6123c31b625390842c09b7aa22fea64065a18dc;hb=02c9a9779954d993cb73fe5f7a72b0847e87f633;hp=2106d237bb67f0d44464529297d6914daff7f78a;hpb=6c61179fe09af2f5366d50f10aadbf5f83438087;p=r2c2.git diff --git a/source/libmarklin/command.h b/source/libmarklin/command.h index 2106d23..e6123c3 100644 --- a/source/libmarklin/command.h +++ b/source/libmarklin/command.h @@ -1,24 +1,41 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2007-2008 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + #ifndef COMMAND_H_ #define COMMAND_H_ +#include #include #include #include "constants.h" namespace Marklin { +class Reply; + class Command { public: - sigc::signal signal_done; + sigc::signal signal_done; - Command(const std::string &c): cmd(c), sent(false) { } - void set_sent(bool s) { sent=s; } - const std::string &get_command() const { return cmd; } - bool get_sent() const { return sent; } private: - std::string cmd; - bool sent; + Cmd cmd; + unsigned char data[128]; + unsigned len; + bool sent; + +public: + Command(Cmd, const unsigned char *, unsigned); + + void send(int); + bool is_sent() const { return sent; } + Cmd get_command() const { return cmd; } + + friend std::ostream &operator<<(std::ostream &, const Command &); }; } // namespace Marklin