MQTTClient.h
#import <Foundation/Foundation.h>
@protocol MQTTDelegate <NSObject>
/**
* @brief 连接服务器
*
* @param [in] N/A
* @param [out] N/A
* @return void
* @note
*/
- (void) didConnect: (NSUInteger)code;
/**
* @brief 与服务器断开连接
*
* @param [in] N/A
* @param [out] N/A
* @return void
* @note
*/
- (void) didDisconnect;
/**
* @brief
*
* @param [in] N/A
* @param [out] N/A
* @return void
* @note
*/
- (void) didPublish: (NSUInteger)messageId;
// FIXME: create MosquittoMessage class
/**
* @brief 接收消息
*
* @param [in] N/A
* @param [out] N/A
* @return void
* @note
*/
- (void) didReceiveMessage: (NSString*)message topic:(NSString*)topic;
/**
* @brief
*
* @param [in] N/A
* @param [out] N/A
* @return void
* @note
*/
- (void) didSubscribe: (NSUInteger)messageId grantedQos:(NSArray*)qos;
/**
* @brief
*
* @param [in] N/A
* @param [out] N/A
* @return void
* @note
*/
- (void) didUnsubscribe: (NSUInteger)messageId;
@end
@interface MQTTClient : NSObject
{
struct mosquitto *mosq;
NSString *host;
unsigned short port;
NSString *username;
NSString *password;
unsigned short keepAlive;
BOOL cleanSession;
id<MQTTDelegate> delegate;
NSTimer *timer;
}
@property (readwrite,retain) NSString *host;
@property (readwrite,assign) unsigned short port;
@property (readwrite,retain) NSString *username;
@property (readwrite,retain) NSString *password;
@property (readwrite,assign) unsigned short keepAlive;
@property (readwrite,assign) BOOL cleanSession;
@property (readwrite,assign) id<MQTTDelegate> delegate;
/**
* @brief 单例模式的设置
*
* @param [in] N/A
* @param [out] N/A
* @return void
* @note
*/
+(MQTTClient *)getMQTTInstance;
/**
* @brief
*
* &