37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef ISTOMPSUBJECT_H
 | |
| #define ISTOMPSUBJECT_H
 | |
| 
 | |
| #include "iStompObserver.h"
 | |
| #include <QString>
 | |
| 
 | |
| namespace interface {
 | |
| class iStompSubject {
 | |
| 
 | |
| public:
 | |
|     virtual ~iStompSubject() {}
 | |
| 
 | |
| protected:
 | |
|     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, const QByteArray& 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
 | |
| 
 | |
| #endif // ISTOMPSUBJECT_H
 |