Subversion Repositories HomeAutomation

Rev

Rev 1962 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1962 Rev 1963
Line 35... Line 35...
35
 
35
 
36
class Client
36
class Client
37
{
37
{
38
public:
38
public:
39
    typedef boost::shared_ptr<Client> Pointer;
39
  typedef boost::shared_ptr<Client>                                           Pointer;
40
 
-
 
41
    typedef boost::signals2::signal<void(SocketId, SocketId, ClientState)> SignalOnNewState;
40
  typedef boost::signals2::signal<void(SocketId, SocketId, ClientState)>      SignalOnNewState;
42
    typedef boost::signals2::signal<void(SocketId, SocketId, common::Byteset)> SignalOnNewData;
41
  typedef boost::signals2::signal<void(SocketId, SocketId, common::Byteset)>  SignalOnNewData;
43
 
42
 
44
    Client(boost::asio::io_service& io_service, SocketId id, SocketId server_id);
43
  Client(boost::asio::io_service& io_service, SocketId id, SocketId server_id);
45
    virtual ~Client();
44
  virtual ~Client();
Line 55... Line 54...
55
    SocketId GetId();
54
  SocketId GetId();
56
   
55
   
57
protected:
56
protected:
58
    common::Byteset           buffer_;
57
    common::Byteset           buffer_;
59
    boost::asio::io_service&  io_service_;
58
    boost::asio::io_service&  io_service_;
60
   
59
    SignalOnNewState          signal_on_new_state_;
61
    virtual void Read();
60
    virtual void Read();
62
    void ReadHandler(const boost::system::error_code& error, size_t size);
61
    void ReadHandler(const boost::system::error_code& error, size_t size);
63
   
62
   
64
    SignalOnNewState signal_on_new_state_;
63
   
65
   
64
   
66
private:
65
private:
67
    SocketId id_;
66
    SocketId        id_;
68
    SocketId server_id_;
67
    SocketId        server_id_;
69
   
-
 
70
    SignalOnNewData signal_on_new_data_;
68
    SignalOnNewData signal_on_new_data_;
71
};
69
};
72
 
70
 
73
}; // namespace net
71
}; // namespace net
74
}; // namespace atom
72
}; // namespace atom