Subversion Repositories HomeAutomation

Rev

Rev 1962 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. /*
  2.  *
  3.  *    Copyright (C) 2010  Mattias Runge
  4.  *
  5.  *    This program is free software; you can redistribute it and/or modify
  6.  *    it under the terms of the GNU General Public License as published by
  7.  *    the Free Software Foundation; either version 2 of the License, or
  8.  *    (at your option) any later version.
  9.  *
  10.  *    This program is distributed in the hope that it will be useful,
  11.  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  *    GNU General Public License for more details.
  14.  *
  15.  *    You should have received a copy of the GNU General Public License along
  16.  *    with this program; if not, write to the Free Software Foundation, Inc.,
  17.  *    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  18.  *
  19.  */
  20.  
  21. #ifndef NET_TYPES_H
  22. #define NET_TYPES_H
  23.  
  24. #include <boost/array.hpp>
  25. #include <boost/bind.hpp>
  26. #include <boost/asio.hpp>
  27. #include <boost/shared_ptr.hpp>
  28.  
  29. namespace atom {
  30. namespace net {
  31.  
  32. typedef enum
  33. {
  34.   CLIENT_STATE_CONNECTED        = 0x00,
  35.   CLIENT_STATE_DISCONNECTED     = 0x01,
  36.   CLIENT_STATE_ACCEPTED         = 0x02
  37. } ClientState;
  38.  
  39. typedef enum
  40. {
  41.   TRANSPORT_PROTOCOL_TCP        = 0x00,
  42.   TRANSPORT_PROTOCOL_UDP        = 0x01,
  43.   TRANSPORT_PROTOCOL_SERIAL     = 0x02
  44. } TransportProtocol;
  45.  
  46. typedef enum
  47. {
  48.   APPLICATION_PROTOCOL_UNKNOWN  = 0x00,
  49.   APPLICATION_PROTOCOL_HTTP     = 0x01,
  50.   APPLICATION_PROTOCOL_FTP      = 0x02
  51. } ApplicationProtocol;
  52.  
  53. typedef unsigned int                                    SocketId;
  54. typedef boost::shared_ptr<boost::asio::ip::tcp::socket> TcpSocketPointer;
  55.  
  56. }; // namespace net
  57. }; // namespace atom
  58.  
  59. #endif // NET_TYPES_H
  60.