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 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.
virtual void broadcastReply(const std::string &message, const std::string &attr)
Server broadcast.
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.
std::string version() const
Remote process version string.
virtual void pingReply()
Ping reply.
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.
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
void logout() const
Logout from server.
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.
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.
bool startTLS() const
Start TLS.
void reset()
Reset communications and clean up internal buffers.
void messageHistory(unsigned int limit) const
Request history of messages from the process.
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.
std::string name() const
Remote process name string.
void parameterMonitor(Subscriber *subscriber, bool state) const
Turn parameter monitoring on/off.