NetCpp
v0.2
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Macros
Pages
posix_socket.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2013 Evidence Srl - www.evidence.eu.com
3
*
4
* Boost Software License - Version 1.0 - August 17th, 2003
5
*
6
* Permission is hereby granted, free of charge, to any person or organization
7
* obtaining a copy of the software and accompanying documentation covered by
8
* this license (the "Software") to use, reproduce, display, distribute,
9
* execute, and transmit the Software, and to prepare derivative works of the
10
* Software, and to permit third-parties to whom the Software is furnished to
11
* do so, all subject to the following:
12
*
13
* The copyright notices in the Software and this entire statement, including
14
* the above license grant, this restriction and the following disclaimer,
15
* must be included in all copies of the Software, in whole or in part, and
16
* all derivative works of the Software, unless such copies or derivative
17
* works are solely in the form of machine-executable object code generated by
18
* a source language processor.
19
*
20
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
23
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
24
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
25
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26
* DEALINGS IN THE SOFTWARE.
27
*/
28
29
#ifndef POSIX_SOCKET_HPP_
30
#define POSIX_SOCKET_HPP_
31
32
#include <unistd.h>
33
34
#include "
abstract_system_socket.hpp
"
35
#include "
address.hpp
"
36
#include "
protocol.hpp
"
37
38
namespace
net {
39
40
/**
41
* @brief Class for platform-dependent code.
42
*
43
* This is the class containing the code for Posix platforms.
44
*/
45
class
PosixSocket
:
public
AbstractSystemSocket
{
46
47
public
:
48
PosixSocket
(
const
protocol
& prot);
49
virtual
~PosixSocket
();
50
51
virtual
void
connect
(
const
Address
& addr);
52
virtual
void
bind
(
const
Address
& addr);
53
virtual
int
read
(
void
*
buffer
,
size_t
size);
54
virtual
int
write
(
const
void
* buffer,
size_t
size);
55
virtual
bool
close
();
56
virtual
void
accept
(
AbstractSystemSocket
* sock);
57
virtual
void
listen
(
int
maxPendingConnections);
58
59
private
:
60
/**
61
* @brief Number of the file descriptor.
62
*
63
* This is the return value of open(), socket() or accept().
64
*/
65
int
fd_
;
66
};
67
68
}
// net
69
70
#endif // POSIX_SOCKET_HPP_
71
include
posix_socket.hpp
Generated on Tue Jul 23 2013 09:15:00 for NetCpp by
1.8.1.2