26 #ifndef PDCOM_PROCESS_H 27 #define PDCOM_PROCESS_H 35 class ProtocolHandler;
105 std::string
name()
const;
132 virtual std::string
hostname()
const;
160 virtual int read(
char *buf,
size_t count) = 0;
190 virtual void write(
const char *buf,
size_t count) = 0;
211 virtual void flush() = 0;
274 bool list(
const std::string& path)
const;
290 std::list<const Variable*>& variables,
291 std::list<std::string>& directories);
309 bool find(
const std::string& path)
const;
336 bool login(
const char* mech,
const char* clientData)
const;
358 const char* serverData,
int finished);
410 virtual bool alive();
452 const std::string& path,
double interval,
int id)
const;
548 const std::list<Message>& messageList);
563 const std::string& message
574 const std::string& attr);
581 void broadcast(
const std::string& message,
582 const std::string& attr =
"text");
600 ProtocolHandler *protocolHandler;
603 std::string initialBuffer;
607 #endif // PDCOM_PROCESS_H Trace log level.
Definition: Process.h:485
LogLevel_t level
severity
Definition: Process.h:492
Emergency log level.
Definition: Process.h:478
virtual std::string hostname() const
Host name of remote server.
int asyncData()
Library entry point for new data.
virtual std::string applicationName() const
Name of application user application.
virtual void listReply(std::list< const Variable *> &variables, std::list< std::string > &directories)
Reply to list() call.
void ping() const
Ping server.
bool list(const std::string &path) const
List a directory path.
virtual void startTLSReply()
TLS reply.
bool find(const std::string &path) const
Find a variable with a corresponding path.
virtual bool alive()
Test from process whether client is alive.
uint64_t time_ns
event time in nanoseconds since epoch
Definition: Process.h:496
virtual void processMessage(const Message &message)
Message event from process.
virtual void broadcastReply(const std::string &message, const std::string &attr)
Server broadcast.
std::string text
Text of message.
Definition: Process.h:497
void unsubscribe(Subscriber *subscriber) const
Unsubscribe all subscriptions from subscriber.
void subscribe(Subscriber *subscriber, const std::string &path, double interval, int id) const
Subscribe to a variable.
virtual void activeMessagesReply(const std::list< Message > &messageList)
Reply to activeMessages()
std::string version() const
Remote process version string.
Message structure.
Definition: Process.h:489
virtual void pingReply()
Ping reply.
Message is reset.
Definition: Process.h:477
virtual void flush()=0
Flush unsent data in output buffer.
bool login(const char *mech, const char *clientData) const
Perform SASL login step.
Class required to receive subscribed variables.
Definition: Subscriber.h:91
void broadcast(const std::string &message, const std::string &attr="text")
Send broadcast to all clients.
virtual void connected()=0
Protocol initialization completed.
Critical log level.
Definition: Process.h:480
LogLevel_t
Log levels used in Message and protocolLog()
Definition: Process.h:476
Process variable.
Definition: Variable.h:43
uint32_t seqNo
sequence number.
Definition: Process.h:490
void logout() const
Logout from server.
std::string path
event's path
Definition: Process.h:493
virtual int read(char *buf, size_t count)=0
Read data from server.
Base class for PdCom protocol handler.
Definition: Process.h:93
virtual ~Process()
Destructor.
int index
-1 for scalar; index in case of a vector
Definition: Process.h:494
virtual void write(const char *buf, size_t count)=0
Write data to server.
Alert log level.
Definition: Process.h:479
Warn log level.
Definition: Process.h:482
virtual void findReply(const Variable *variable)
Reply to find()
virtual void protocolLog(LogLevel_t severity, const std::string &message)
Message event from protocol handler.
bool startTLS() const
Start TLS.
Error log level.
Definition: Process.h:481
void activeMessages() const
Request a list of all active messages.
void reset()
Reset communications and clean up internal buffers.
Info log level.
Definition: Process.h:483
virtual void loginReply(const char *mechlist, const char *serverData, int finished)
SASL server reply to login()
virtual void transmitSemaphore(bool state)
Client to server communication semaphore.
Debug log level.
Definition: Process.h:484
void getMessage(uint32_t seqNo) const
Request specific message from history.
std::string name() const
Remote process name string.
virtual void getMessageReply(const Message &message)
Reply to getMessage()
void parameterMonitor(Subscriber *subscriber, bool state) const
Turn parameter monitoring on/off.