The Power in your Hands
Search Site:
About
Features
Documentation
Download
Community
Main
Classes
Namespaces
Modules
include
Pt
Net
Endpoint.h
1
/*
2
* Copyright (C) 2013 Marc Duerner
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* As a special exception, you may use this file as part of a free
10
* software library without restriction. Specifically, if other files
11
* instantiate templates or use macros or inline functions from this
12
* file, or you compile this file and link it with other files to
13
* produce an executable, this file does not by itself cause the
14
* resulting executable to be covered by the GNU General Public
15
* License. This exception does not however invalidate any other
16
* reasons why the executable file might be covered by the GNU Library
17
* General Public License.
18
*
19
* This library is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
* Lesser General Public License for more details.
23
*
24
* You should have received a copy of the GNU Lesser General Public
25
* License along with this library; if not, write to the Free Software
26
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
27
*/
28
29
#ifndef PT_NET_ENDPOINT_H
30
#define PT_NET_ENDPOINT_H
31
32
#include <Pt/Net/Api.h>
33
#include <string>
34
35
namespace
Pt {
36
37
namespace
Net {
38
39
class
EndpointImpl;
40
46
class
PT_NET_API
Endpoint
47
{
48
public
:
51
Endpoint
();
52
55
Endpoint
(
const
std::string& host,
unsigned
short
port);
56
59
Endpoint
(
const
char
* host,
unsigned
short
port);
60
63
Endpoint
(
const
Endpoint
& src);
64
67
~
Endpoint
();
68
71
Endpoint
& operator=(
const
Endpoint
& src);
72
75
void
clear();
76
79
std::string toString()
const
;
80
83
static
Endpoint
ip4Any(
unsigned
short
port);
84
87
static
Endpoint
ip4Loopback(
unsigned
short
port);
88
91
static
Endpoint
ip4Broadcast(
unsigned
short
port);
92
95
static
Endpoint
ip6Any(
unsigned
short
port);
96
99
static
Endpoint
ip6Loopback(
unsigned
short
port);
100
102
explicit
Endpoint
(EndpointImpl* impl);
103
105
EndpointImpl* impl()
106
{
return
_impl; }
107
109
const
EndpointImpl* impl()
const
110
{
return
_impl; }
111
112
private
:
113
EndpointImpl* _impl;
114
};
115
116
}
// namespace Net
117
118
}
// namespace Pt
119
120
#endif // PT_NET_ENDPOINT_H
Pt::Net::Endpoint
Represents a Network Host.
Definition:
Endpoint.h:46