X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fcommand.h;h=a270be0af0083ca80e68f3225029a0bf4fc22c04;hb=7839b7c3d782abb5c98a24d51cae109407068c02;hp=2106d237bb67f0d44464529297d6914daff7f78a;hpb=6c61179fe09af2f5366d50f10aadbf5f83438087;p=r2c2.git diff --git a/source/libmarklin/command.h b/source/libmarklin/command.h index 2106d23..a270be0 100644 --- a/source/libmarklin/command.h +++ b/source/libmarklin/command.h @@ -1,24 +1,40 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2006-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 { +private: + Cmd cmd; + unsigned char data[128]; + unsigned len; + bool sent; + 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; + Command(Cmd, const unsigned char *, unsigned); + + void send(int); + bool get_sent() const { return sent; } + Cmd get_command() const { return cmd; } + + friend std::ostream &operator<<(std::ostream &, const Command &); }; } // namespace Marklin