00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __libutilxx__sella__net__UDPPort_H__
00010 #define __libutilxx__sella__net__UDPPort_H__
00011
00012 #include "../../common.h"
00013 #include "Port.h"
00014 #include "PortException.h"
00015
00016 #include <sys/socket.h>
00017 #include <stdint.h>
00018
00019 #include <string>
00020
00021 namespace sella {
00022 namespace net {
00023 class UDPPort;
00024 }
00025 }
00026
00027 class sella::net::UDPPort : public Port {
00028 public:
00029 typedef std::shared_ptr<UDPPort> shared;
00030 typedef UDPPort *ptr;
00031
00032 public:
00033 UDPPort(const std::string &service) throw (PortException);
00034 UDPPort(uint16_t port = 0) throw (PortException);
00035
00036 UDPPort(const UDPPort &other) throw ();
00037 UDPPort(const UDPPort &&other) throw ();
00038 virtual ~UDPPort() throw ();
00039
00040 static const UDPPort::shared shared_ptr(const std::string &service) throw (PortException);
00041 static const UDPPort::shared shared_ptr(uint16_t port = 0) throw (PortException);
00042 };
00043
00044 #endif
00045
00046
00047
00048