nidas v1.2.3
RemoteSerialListener.h
Go to the documentation of this file.
1// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4; -*-
2// vim: set shiftwidth=4 softtabstop=4 expandtab:
3/*
4 ********************************************************************
5 ** NIDAS: NCAR In-situ Data Acquistion Software
6 **
7 ** 2004, Copyright University Corporation for Atmospheric Research
8 **
9 ** This program is free software; you can redistribute it and/or modify
10 ** it under the terms of the GNU General Public License as published by
11 ** the Free Software Foundation; either version 2 of the License, or
12 ** (at your option) any later version.
13 **
14 ** This program is distributed in the hope that it will be useful,
15 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ** GNU General Public License for more details.
18 **
19 ** The LICENSE.txt file accompanying this software contains
20 ** a copy of the GNU General Public License. If it is not found,
21 ** write to the Free Software Foundation, Inc.,
22 ** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 **
24 ********************************************************************
25*/
26
27#ifndef NIDAS_CORE_REMOTESERIALLISTENER_H
28#define NIDAS_CORE_REMOTESERIALLISTENER_H
29
32#include <nidas/util/Socket.h>
33#include "SampleClient.h"
35#include "Polled.h"
36
37namespace nidas { namespace core {
38
39class SensorHandler;
40
42{
43public:
44
48 RemoteSerialListener(unsigned short port, SensorHandler*);
49
51
52 bool handlePollEvents(uint32_t events) throw();
53
57 void close();
58
59 int getFd() const {
60 return _socket.getFd();
61 }
62
63 const std::string getName() const
64 {
65 return _socket.getLocalSocketAddress().toAddressString();
66 }
67
68private:
69
71
73
74 // no copying
76
77 // no assignment
79};
80
81}} // namespace nidas namespace core
82
83#endif
Interface for objects with a file descriptor, providing a virtual method to be called when system cal...
Definition Polled.h:110
Definition RemoteSerialListener.h:42
const std::string getName() const
Definition RemoteSerialListener.h:63
nidas::util::ServerSocket _socket
Definition RemoteSerialListener.h:70
SensorHandler * _handler
Definition RemoteSerialListener.h:72
RemoteSerialListener(const RemoteSerialListener &)
int getFd() const
Definition RemoteSerialListener.h:59
void close()
Definition RemoteSerialListener.cc:78
RemoteSerialListener & operator=(const RemoteSerialListener &)
~RemoteSerialListener()
Definition RemoteSerialListener.cc:68
RemoteSerialListener(unsigned short port, SensorHandler *)
Open a ServerSocket for listening on a given port.
Definition RemoteSerialListener.cc:45
bool handlePollEvents(uint32_t events)
Definition RemoteSerialListener.cc:93
SensorHandler implements a DSMSensor event loop.
Definition SensorHandler.h:88
A stream (TCP) socket that is used to listen for connections.
Definition Socket.h:981
int getFd() const
Definition Socket.h:1019
const SocketAddress & getLocalSocketAddress() const
Fetch the local address that this socket is bound to.
Definition Socket.h:1087
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31
static n_u::SerialPort port
Definition sing.cc:68