implements oberver pattern

This commit is contained in:
2023-11-30 09:53:53 +01:00
parent 0907d3373c
commit 5388d154da
7 changed files with 164 additions and 21 deletions

View File

@ -5,12 +5,20 @@
namespace interface {
class iStompObserver {
virtual void connectConfirmation(bool success, int version);
virtual void sendConfirmation(bool success);
virtual void subscribeConfirmation(bool success);
virtual void receiveIndication(int id, QString destination, QString body);
virtual void disconnectConfirmation();
virtual void disconnectIndication();
public:
virtual ~iStompObserver() {}
protected:
iStompObserver() {}
public:
virtual void connectConfirmation(bool success, int version) = 0;
virtual void sendConfirmation(bool success) = 0;
virtual void subscribeConfirmation(bool success) = 0;
virtual void receiveIndication(int id, QString destination, QString body) = 0;
virtual void disconnectConfirmation() = 0;
virtual void disconnectIndication() = 0;
};
}
#endif // ISTOMPOBSERVER_H

View File

@ -6,22 +6,29 @@
namespace interface {
class iStompSubject {
public:
virtual bool subscribe(iStompObserver* obs);
virtual void unsubscribe(iStompObserver* obs);
virtual void connectRequest(QString host, int port, QString vhost, QString username, QString password);
virtual void sendRequest(QString destination, QString body);
virtual void subscribeRequest(QString destination, int id);
virtual void disconnectRequest();
public:
virtual ~iStompSubject() {}
protected:
virtual void notifyConnectConfirmation(bool success, int version);
virtual void notifySendConfirmation(bool success);
virtual void notifySubscribeConfirmation(bool success);
virtual void notifyReceiveIndication(int id, QString destination, QString body);
virtual void notifyDisconnectConfirmation();
virtual void notifyDisconnectIndication();
iStompSubject() {}
public:
virtual bool subscribe(iStompObserver* obs) = 0;
virtual void unsubscribe(iStompObserver* obs) = 0;
virtual int connectRequest(QString host, int port, QString vhost, QString username, QString password) = 0;
virtual void sendRequest(QString destination, QString body) = 0;
virtual void subscribeRequest(QString destination, int id) = 0;
virtual void disconnectRequest() = 0;
protected:
virtual void notifyConnectConfirmation(bool success, QString version) = 0;
virtual void notifySendConfirmation(bool success) = 0;
virtual void notifySubscribeConfirmation(bool success) = 0;
virtual void notifyReceiveIndication(int id, QString destination, QString body) = 0;
virtual void notifyDisconnectConfirmation() = 0;
virtual void notifyDisconnectIndication() = 0;
};
} // namespace