Subversion Repositories HomeAutomation

Rev

Rev 1595 | Rev 1599 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1595 Rev 1596
Line 23... Line 23...
23
 
23
 
24
#include <boost/asio.hpp>
24
#include <boost/asio.hpp>
25
#include <boost/signals2.hpp>
25
#include <boost/signals2.hpp>
26
#include <boost/shared_ptr.hpp>
26
#include <boost/shared_ptr.hpp>
27
#include <boost/array.hpp>
27
#include <boost/array.hpp>
-
 
28
 
-
 
29
#include "type/Byteset.h"
28
 
30
 
29
#include "types.h"
31
#include "types.h"
30
 
32
 
31
namespace atom {
33
namespace atom {
32
namespace net {
34
namespace net {
Line 35... Line 37...
35
{
37
{
36
public:
38
public:
37
    typedef boost::shared_ptr<Client> Pointer;
39
    typedef boost::shared_ptr<Client> Pointer;
38
 
40
 
39
    typedef boost::signals2::signal<void(ClientId, ServerId, ClientState)> SignalOnNewState;
41
    typedef boost::signals2::signal<void(ClientId, ServerId, ClientState)> SignalOnNewState;
40
    typedef boost::signals2::signal<void(ClientId, ServerId, Buffer)> SignalOnNewData;
42
    typedef boost::signals2::signal<void(ClientId, ServerId, type::Byteset)> SignalOnNewData;
41
 
43
 
42
    Client(boost::asio::io_service& io_service, ClientId id, ServerId server_id);
44
    Client(boost::asio::io_service& io_service, ClientId id, ServerId server_id);
43
    virtual ~Client();
45
    virtual ~Client();
44
 
46
 
45
    void ConnectSlots(const SignalOnNewState::slot_type& slot_on_new_state, const SignalOnNewData::slot_type& slot_on_new_data);
47
    void ConnectSlots(const SignalOnNewState::slot_type& slot_on_new_state, const SignalOnNewData::slot_type& slot_on_new_data);
46
   
48
   
47
    virtual void Connect(std::string address, unsigned int port_or_baud) = 0;
49
    virtual void Connect(std::string address, unsigned int port_or_baud) = 0;
48
    virtual void Disconnect();
50
    virtual void Disconnect();
49
    virtual void Send(Buffer data) = 0;
51
    virtual void Send(type::Byteset data) = 0;
50
 
52
 
51
    ServerId GetServerId();
53
    ServerId GetServerId();
52
    ClientId GetId();
54
    ClientId GetId();
53
   
55
   
54
protected:
56
protected:
55
    Buffer buffer_;
57
    type::Byteset buffer_;
56
   
58
   
57
    virtual void Read();
59
    virtual void Read();
58
    void ReadHandler(const boost::system::error_code& error, size_t size);
60
    void ReadHandler(const boost::system::error_code& error, size_t size);
59
   
61
   
60
    SignalOnNewState signal_on_new_state_;
62
    SignalOnNewState signal_on_new_state_;