Files
andrey 2605446573 refactor: rename __PIP_TYPENAME_DECLARE to PIP_REGISTER_TYPENAME, add PIP_DECLARE_TYPENAME macro
- Rename __PIP_TYPENAME_DECLARE to PIP_REGISTER_TYPENAME across all headers
- Add PIP_DECLARE_TYPENAME(name) macro for in-class type name declaration
- Replace all static const char * __pip_typename__() member functions with PIP_DECLARE_TYPENAME
2026-08-24 19:31:41 +03:00

36 lines
846 B
C++

#ifndef CLOUDSERVER_H
#define CLOUDSERVER_H
#include "dispatcherclient.h"
class CloudServer: public PIObject {
PIOBJECT(CloudServer)
public:
CloudServer(DispatcherClient * c, const PIByteArray & sname);
~CloudServer();
PIByteArray serverUUID() const;
void addClient(DispatcherClient * c);
void removeClient(DispatcherClient * c);
PIVector<DispatcherClient *> getClients();
EVENT_HANDLER0(void, printStatus);
const DispatcherClient * getConnection() const { return server; }
double lastPing();
void close();
void stop();
private:
PIVector<PIObject::Connection> connects;
DispatcherClient * server;
PIVector<DispatcherClient *> clients;
PIMap<uint, DispatcherClient *> index_clients;
PIByteArray server_uuid;
PITimeMeasurer last_ping;
PIMutex mutex_clients;
};
PIP_REGISTER_TYPENAME(CloudServer *)
#endif // CLOUDSERVER_H