00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __libutilxx__sella__net__RawSocket_H__
00010 #define __libutilxx__sella__net__RawSocket_H__
00011
00012 #include "../../common.h"
00013 #include "Socket.h"
00014
00015 #include <sys/socket.h>
00016
00017 namespace sella {
00018 namespace net {
00019 class RawSocket;
00020 }
00021 }
00022
00023 class sella::net::RawSocket : public Socket {
00024 public:
00025 typedef std::shared_ptr<RawSocket> shared;
00026 typedef RawSocket *ptr;
00027
00028 public:
00029 RawSocket(int family, int protocol) throw (SocketException);
00030 RawSocket(const RawSocket &other) = delete;
00031 virtual ~RawSocket();
00032 void operator=(const RawSocket &other) = delete;
00033
00034 static const RawSocket::shared shared_ptr(int family, int protocol) throw (SocketException);
00035
00036 protected:
00037 private:
00038 };
00039
00040 #endif
00041
00042
00043
00044