~ubuntu-branches/ubuntu/wily/afnix/wily

« back to all changes in this revision

Viewing changes to src/srv/tls/shl/TlsServer.hpp

  • Committer: Package Import Robot
  • Author(s): Nobuhiro Iwamatsu
  • Date: 2015-07-11 02:00:35 UTC
  • mfrom: (10.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20150711020035-2nhpztq7s15qyc0v
Tags: 2.5.1-1
* New upstream release. (Closes: #789968)
* Update debian/control.
  - Update Standards-Version to 3.9.6.
* Add support mips64(el) and ppc64el. (Closes: #741508, #748146)
* Add patches/support-gcc-5.x.patch. (Closes: #777767)
  - Fix build with gcc-5.x.
* Add patches/Disable-NET0001.als.patch.
  - Disable test of NET0001.als.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// ---------------------------------------------------------------------------
 
2
// - TlsServer.hpp                                                           -
 
3
// - afnix:tls service - tls server class definition                         -
 
4
// ---------------------------------------------------------------------------
 
5
// - This program is free software;  you can redistribute it  and/or  modify -
 
6
// - it provided that this copyright notice is kept intact.                  -
 
7
// -                                                                         -
 
8
// - This program  is  distributed in  the hope  that it will be useful, but -
 
9
// - without  any  warranty;  without  even   the   implied    warranty   of -
 
10
// - merchantability or fitness for a particular purpose.  In no event shall -
 
11
// - the copyright holder be liable for any  direct, indirect, incidental or -
 
12
// - special damages arising in any way out of the use of this software.     -
 
13
// ---------------------------------------------------------------------------
 
14
// - copyright (c) 1999-2015 amaury darsch                                   -
 
15
// ---------------------------------------------------------------------------
 
16
 
 
17
#ifndef  AFNIX_TLSSERVER_HPP
 
18
#define  AFNIX_TLSSERVER_HPP
 
19
 
 
20
#ifndef  AFNIX_TCPSERVER_HPP
 
21
#include "TcpServer.hpp"
 
22
#endif
 
23
 
 
24
#ifndef  AFNIX_TLSSOCKET_HPP
 
25
#include "TlsSocket.hpp"
 
26
#endif
 
27
 
 
28
namespace afnix {
 
29
 
 
30
  /// The TlsServer class is the server socket class for the tls protocol.
 
31
  /// The class is a wrapper around the tcp server with extra information
 
32
  /// needed to setup a secure channel. Once a connection is accepted (in
 
33
  /// the tcp sense) the handshake can start.
 
34
  /// @author amaury darsch
 
35
 
 
36
  class TlsServer : public TcpServer {
 
37
  public:
 
38
    /// create a tls server on a ephemeral port
 
39
    TlsServer (void);
 
40
 
 
41
    /// create a tls server with a host and port
 
42
    /// @param host the host to bind the server
 
43
    /// @param port the port to listen
 
44
    TlsServer (const String& host, t_word port);
 
45
 
 
46
    /// @return the class name
 
47
    String repr (void) const;
 
48
    
 
49
    /// @return an accepted connected tcp socket
 
50
    TcpSocket* accept (void) const;
 
51
 
 
52
  private:
 
53
    // make the copy constructor private
 
54
    TlsServer (const TlsServer&);
 
55
    // make the assignment operator private
 
56
    TlsServer& operator = (const TlsServer&);
 
57
 
 
58
  public:
 
59
    /// create a new object in a generic way
 
60
    /// @param argv the argument vector
 
61
    static Object* mknew (Vector* argv);
 
62
  };
 
63
}
 
64
 
 
65
#endif