27 #ifndef PDCOM5_PROCESS_H 28 #define PDCOM5_PROCESS_H 35 #include <pdcom5_export.h> 51 class MessageManagerBase;
88 friend class impl::Process;
108 std::string name()
const;
111 std::string version()
const;
133 void callPendingCallbacks();
141 broadcast(
const std::string &message,
const std::string &attr =
"text");
153 subscription(subscription),
154 subscriber(subscriber),
159 std::vector<SubscriptionInfo> getActiveSubscriptions()
const;
184 virtual std::string
hostname()
const {
return {}; }
211 virtual int read(
char *buf,
int count) = 0;
241 virtual void write(
const char *buf,
size_t count) = 0;
262 virtual void flush() = 0;
277 virtual void connected() = 0;
309 bool list(
const std::string &path =
"");
325 listReply(std::vector<Variable> variables, std::vector<std::string> dirs);
343 bool find(
const std::string &path);
354 virtual void findReply(
const Variable &variable);
360 void getClientStatistics();
365 clientStatisticsReply(std::vector<ClientStatistics> statistics);
385 virtual bool alive() {
return true; }
393 void setAuthManager(
Sasl *);
399 Sasl *getAuthManager()
const;
420 virtual void broadcastReply(
421 const std::string &message,
422 const std::string &attr,
423 std::chrono::nanoseconds time_ns,
424 const std::string &user);
427 std::shared_ptr<impl::Process> pimpl;
428 explicit Process(std::shared_ptr<impl::Process> impl);
432 #endif // PDCOM5_PROCESS_H
virtual std::string hostname() const
Host name of remote server.
Definition: Process.h:184
virtual std::string applicationName() const
Name of application user application.
Definition: Process.h:172
virtual bool alive()
Test from process whether client is alive.
Definition: Process.h:385
virtual void pingReply()
Ping reply.
Definition: Process.h:375
PdCom Variable interface.
Definition: Variable.h:67
PdCom Subscription interface.
Definition: Subscription.h:64
Definition: SecureProcess.h:45
Base class for PdCom protocol handler.
Definition: Process.h:86
Definition: Subscriber.h:106
Definition: MessageManagerBase.h:66
SASL Interface for PdCom.
Definition: Sasl.h:41
Definition: ClientStatistics.h:31
Definition: Process.h:143