26 #ifndef PDCOM_PROCESS_H 27 #define PDCOM_PROCESS_H 35 class ProtocolHandler;
99 std::string
name()
const;
126 virtual std::string
hostname()
const;
154 virtual int read(
char *buf,
size_t count) = 0;
184 virtual void write(
const char *buf,
size_t count) = 0;
205 virtual void flush() = 0;
268 bool list(
const std::string& path)
const;
284 std::list<const Variable*>& variables,
285 std::list<std::string>& directories);
303 bool find(
const std::string& path)
const;
330 bool login(
const char* mech,
const char* clientData)
const;
352 const char* serverData,
int finished);
404 virtual bool alive();
446 const std::string& path,
double interval,
int id)
const;
507 const std::string& path,
511 const std::string& text
556 const std::string& message
567 const std::string& attr);
574 void broadcast(
const std::string& message,
575 const std::string& attr =
"text");
593 ProtocolHandler *protocolHandler;
596 std::string initialBuffer;
600 #endif // PDCOM_PROCESS_H int asyncData()
Library entry point for new data.
void subscribe(Subscriber *subscriber, const std::string &path, double interval, int id) const
Subscribe to a variable.
std::string name() const
Remote process name string.
virtual void startTLSReply()
TLS reply.
void unsubscribe(Subscriber *subscriber) const
Unsubscribe all subscriptions from subscriber.
void parameterMonitor(Subscriber *subscriber, bool state) const
Turn parameter monitoring on/off.
virtual bool alive()
Test from process whether client is alive.
virtual void broadcastReply(const std::string &message, const std::string &attr)
Server broadcast.
virtual void pingReply()
Ping reply.
virtual void listReply(std::list< const Variable * > &variables, std::list< std::string > &directories)
Reply to list() call.
void messageHistory(unsigned int limit) const
Request history of messages from the process.
virtual std::string hostname() const
Host name of remote server.
virtual void flush()=0
Flush unsent data in output buffer.
void ping() const
Ping server.
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.
bool login(const char *mech, const char *clientData) const
Perform SASL login step.
LogLevel_t
Log levels.
Definition: Process.h:474
virtual void messageHistoryEnd(unsigned int count)
End of message history block.
Process variable.
Definition: Variable.h:43
virtual std::string applicationName() const
Name of application user application.
virtual int read(char *buf, size_t count)=0
Read data from server.
Base class for PdCom protocol handler.
Definition: Process.h:87
virtual ~Process()
Destructor.
virtual void write(const char *buf, size_t count)=0
Write data to server.
bool list(const std::string &path) const
List a directory path.
virtual void processMessage(LogLevel_t level, const std::string &path, int index, bool state, uint64_t time_ns, const std::string &text)
Message event from process.
virtual void findReply(const Variable *variable)
Reply to find()
virtual void protocolLog(LogLevel_t severity, const std::string &message)
Message event from protocol handler.
std::string version() const
Remote process version string.
void logout() const
Logout from server.
void reset()
Reset communications and clean up internal buffers.
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.
bool startTLS() const
Start TLS.
bool find(const std::string &path) const
Find a variable with a corresponding path.