27 #ifndef PDCOM5_PROCESS_H 28 #define PDCOM5_PROCESS_H 31 #include "visibility.h" 88 friend class impl::Process;
89 friend class SecureProcess;
94 using Exception::Exception;
109 std::string name()
const;
112 std::string version()
const;
136 virtual std::string
hostname()
const {
return {}; }
165 virtual size_t read(
char *buf,
size_t count) = 0;
195 virtual void write(
const char *buf,
size_t count) = 0;
216 virtual void flush() = 0;
239 void callPendingCallbacks();
255 virtual void connected() = 0;
288 bool list(
const std::string &path =
"");
305 listReply(std::vector<Variable> variables, std::vector<std::string> dirs);
324 bool find(
const std::string &path);
335 virtual void findReply(
const Variable &variable);
347 virtual void pingReply() {}
357 virtual bool alive() {
return true; }
372 virtual void transmitSemaphore(
bool ) {}
381 void setAuthManager(Sasl *);
389 broadcast(
const std::string &message,
const std::string &attr =
"text");
403 virtual void broadcastReply(
404 const std::string &message,
405 const std::string &attr,
406 std::chrono::nanoseconds time_ns,
407 const std::string &user);
410 std::unique_ptr<impl::Process> pimpl;
414 #endif // PDCOM5_PROCESS_H virtual std::string hostname() const
Host name of remote server.
Definition: Process.h:136
virtual std::string applicationName() const
Name of application user application.
Definition: Process.h:124
Definition: Exception.h:33
PdCom Variable interface.
Definition: Variable.h:56
Base class for PdCom protocol handler.
Definition: Process.h:86
library version string as "major.minor.patch"
Definition: details.h:37