ServerCore/Subscription.h

41 lines
919 B
C++

#ifndef __Subscription_h__
#define __Subscription_h__
#include "ZString.h"
#include <vector>
#include <string>
namespace core {
class TCPSession;
class Subscription {
public:
Subscription(std::string id, std::string mode = "*AUTHOR");
Subscription(std::string id, TCPSession &session, std::string mode = "*AUTHOR");
virtual ~Subscription();
int subscribe(TCPSession &session);
int unsubscribe(TCPSession &session);
virtual int process(coreutils::ZString &request, std::stringstream &out);
virtual int onSubscribe(TCPSession &session);
int event(std::stringstream &out);
bool ifSubscriber(TCPSession &session);
// int processCommand(coreutils::ZString &request, TCPSession &session) override;
std::string id;
std::string mode;
TCPSession *owner;
std::vector<TCPSession *> subscribers;
};
}
#endif