27 #ifndef NIDAS_CORE_REMOTESERIALCONNECTION_H
28 #define NIDAS_CORE_REMOTESERIALCONNECTION_H
37 namespace nidas {
namespace core {
58 void close() throw(nidas::util::IOException);
106 std::
string doEscCmds(const std::
string& inputstr) throw(nidas::util::IOException);
143 RemoteSerialConnection& operator=(const RemoteSerialConnection&);
Definition: RemoteSerialConnection.h:41
bool _nullTerminated
Definition: RemoteSerialConnection.h:125
bool receive(const Sample *s)
Receive a sample from the DSMSensor, write data portion to socket.
Definition: RemoteSerialConnection.cc:189
void close()
Definition: RemoteSerialConnection.cc:62
SensorHandler * _handler
Definition: RemoteSerialConnection.h:127
SensorHandler implements a DSMSensor event loop.
Definition: SensorHandler.h:87
Implementation of support for a sensor which generates character output.
Definition: CharacterSensor.h:46
bool _closedWarning
Has the user been sent a "sensor is closed" warning.
Definition: RemoteSerialConnection.h:132
Support for a sensor that is sending packets on a TCP socket, a UDP socket, a Bluetooth RF Comm socke...
Definition: SerialSensor.h:64
Interface for objects with a file descriptor, providing a virtual method to be called when system cal...
Definition: Polled.h:109
~RemoteSerialConnection()
Definition: RemoteSerialConnection.cc:51
const std::string & getSensorName() const
Definition: RemoteSerialConnection.h:64
nidas::util::Socket * _socket
Definition: RemoteSerialConnection.h:112
Pure virtual interface of a client of Samples.
Definition: SampleClient.h:38
void nlTocrnl(std::string &input)
little utility for translating newlines to carriage-return + newlines in a string.
Definition: RemoteSerialConnection.cc:209
int getFd() const
Fetch the file descriptor associate with this socket.
Definition: Socket.h:617
SerialSensor * _serSensor
Definition: RemoteSerialConnection.h:118
std::string doEscCmds(const std::string &inputstr)
Parse and execute ESC commands in user input.
Definition: RemoteSerialConnection.cc:221
int _timeoutMsecs
Sensor timeout when the RemoteSerialConnection was established.
Definition: RemoteSerialConnection.h:137
void flush()
Implementation of SampleClient::flush().
Definition: RemoteSerialConnection.h:52
DSMSensor * getDSMSensor() const
Definition: RemoteSerialConnection.h:68
Interface to a data sample.
Definition: Sample.h:189
DSMSensor provides the basic support for reading, processing and distributing samples from a sensor a...
Definition: DSMSensor.h:87
bool handlePollEvents(uint32_t events)
An epoll event occurred, most likely it is time to read data from socket, write to DSMSensor...
Definition: RemoteSerialConnection.cc:361
const std::string & getName() const
Definition: RemoteSerialConnection.h:54
Definition: IOException.h:37
Implementation of an IOChannel, over a Socket.
Definition: Socket.h:45
void setSensor(CharacterSensor *val)
Definition: RemoteSerialConnection.cc:112
RemoteSerialConnection(nidas::util::Socket *sock, SensorHandler *handler)
Definition: RemoteSerialConnection.cc:42
void readSensorName()
Definition: RemoteSerialConnection.cc:85
CharacterSensor * _sensor
Definition: RemoteSerialConnection.h:116
std::string _name
Definition: RemoteSerialConnection.h:110
std::string _input
Left over input characters after previous parse for escape sequences.
Definition: RemoteSerialConnection.h:123
A stream (TCP) socket.
Definition: Socket.h:430
int getFd() const
Definition: RemoteSerialConnection.h:62
std::string _devname
Definition: RemoteSerialConnection.h:114
void sensorNotFound()
Notify this RemoteSerialConnection that a sensor matching getSensorName() was not found...
Definition: RemoteSerialConnection.cc:100
void setName(const std::string &val)
Definition: RemoteSerialConnection.h:56