~ubuntu-branches/debian/sid/monopd/sid

« back to all changes in this revision

Viewing changes to src/socket.h

  • Committer: Package Import Robot
  • Author(s): Markus Koschany
  • Date: 2014-02-28 15:39:47 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20140228153947-1a5z05x3alj61wx1
Tags: 0.9.5-1
* Imported Upstream version 0.9.5.
  - Add support for IPv6 and systemd.
* Update watch file and point to the new upstream location
  at tuxfamily.org.
* Drop all patches. Merged upstream.
* debian/control:
  - Drop libcapsinetwork-dev from Build-Depends.
    Essential features of libcapsinetwork were merged into monopd and
    IPv6 support was added.
  - Add pkg-config to Build-Depends.
  - Add libsystemd-daemon-dev [linux-any] to Build-Depends.
  - Update homepage field and point to gtkatlantic.gradator.net.
* Add monopd.service and monopd.socket file and support systemd.
* Update monopd.6 man page.
* Use dh-systemd helper.
* Update debian/copyright. Add new BSD license.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright (c) 2002-2004 Rob Kaper <rob@unixcode.org>. All rights reserved.
 
2
//
 
3
// Redistribution and use in source and binary forms, with or without
 
4
// modification, are permitted provided that the following conditions
 
5
// are met:
 
6
//
 
7
// 1. Redistributions of source code must retain the above copyright
 
8
//    notice, this list of conditions and the following disclaimer.
 
9
// 2. Redistributions in binary form must reproduce the above copyright
 
10
//    notice, this list of conditions and the following disclaimer in the
 
11
//    documentation and/or other materials provided with the distribution.
 
12
//
 
13
// THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS'' AND
 
14
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
15
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
16
// ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
 
17
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 
18
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 
19
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 
20
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 
21
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 
22
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
23
// SUCH DAMAGE.
 
24
 
 
25
#ifndef LIBCAPSI_NETWORK_SOCKET_H
 
26
#define LIBCAPSI_NETWORK_SOCKET_H
 
27
 
 
28
#include <string>
 
29
 
 
30
/*
 
31
 * Class to handle incoming sockets. Can/will be used to store fd
 
32
 * information, etc etc.
 
33
 */
 
34
 
 
35
class Socket
 
36
{
 
37
public:
 
38
        enum Status { New, Ok, Close, Closed };
 
39
 
 
40
        Socket(int fd);
 
41
        void setStatus(Status status) { m_status = status; }
 
42
        Status status() { return m_status; }
 
43
 
 
44
        int ioWrite(const std::string data);
 
45
        bool hasReadLine();
 
46
        const std::string readLine();
 
47
        void fillBuffer(const std::string data);
 
48
 
 
49
        void setFd(int _fd) { m_fd = _fd; }
 
50
        int fd() const { return m_fd; }
 
51
        void setIpAddr(const std::string ipAddr) { m_ipAddr = ipAddr; m_fqdn = ipAddr; }
 
52
        std::string ipAddr() const { return m_ipAddr; }
 
53
        void setFqdn(const std::string fqdn) { m_fqdn = fqdn; }
 
54
        std::string fqdn() const { return m_fqdn; }
 
55
 
 
56
private:
 
57
        Status m_status;
 
58
        int m_fd;
 
59
        std::string m_ipAddr, m_fqdn, m_ioBuf;
 
60
};
 
61
 
 
62
#endif // LIBCAPSI_NETWORK_SOCKET_H