35 lines
716 B
C++
35 lines
716 B
C++
#ifndef __Subscription_h__
|
|
#define __Subscription_h__
|
|
|
|
#include "TCPSession.h"
|
|
#include "Command.h"
|
|
#include "ZString.h"
|
|
#include <vector>
|
|
#include <string>
|
|
|
|
namespace core {
|
|
|
|
class Subscription : public Command {
|
|
|
|
public:
|
|
Subscription(std::string id, TCPSession &session);
|
|
~Subscription();
|
|
|
|
int subscribe(TCPSession &session);
|
|
int unsubscribe(TCPSession &session);
|
|
virtual int process(coreutils::ZString &request, std::stringstream &out);
|
|
|
|
int event(std::stringstream &out);
|
|
|
|
int processCommand(coreutils::ZString &request, TCPSession &session) override;
|
|
|
|
std::string id;
|
|
TCPSession &owner;
|
|
|
|
std::vector<TCPSession *> subscribers;
|
|
|
|
};
|
|
}
|
|
|
|
#endif
|