create interface

This commit is contained in:
2023-11-29 11:53:20 +01:00
parent e8cb3ab9b9
commit 847393cec3
9 changed files with 148 additions and 1 deletions

35
stomp.h Normal file
View File

@@ -0,0 +1,35 @@
#ifndef STOMP_H
#define STOMP_H
#include <QObject>
#include "interface/iStompSubject.h"
#define MAX_OBSERVER 5
class Stomp : public QObject, public interface::iStompSubject{
public:
Stomp();
// iStompSubject interface
public:
bool subscribe(interface::iStompObserver* obs);
void unsubscribe(interface::iStompObserver* obs);
void connectRequest(QString host, int port, QString vhost, QString username, QString password);
void sendRequest(QString destination, QString body);
void subscribeRequest(QString destination, int id);
void disconnectRequest();
protected:
void notifyConnectConfirmation(bool success, int version);
void notifySendConfirmation(bool success);
void notifySubscribeConfirmation(bool success);
void notifyReceiveIndication(int id, QString destination, QString body);
void notifyDisconnectConfirmation();
void notifyDisconnectIndication();
protected:
interface::iStompObserver* observer_[MAX_OBSERVER];
};
#endif // STOMP_H