Jack Hansdampf / mbed-mqtt-GSOE1

Dependents:   ESP8266MQTT

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MQTTSNGWPublishHandler.h Source File

MQTTSNGWPublishHandler.h

00001 /**************************************************************************************
00002  * Copyright (c) 2016, Tomoaki Yamaguchi
00003  *
00004  * All rights reserved. This program and the accompanying materials
00005  * are made available under the terms of the Eclipse Public License v1.0
00006  * and Eclipse Distribution License v1.0 which accompany this distribution.
00007  *
00008  * The Eclipse Public License is available at
00009  *    http://www.eclipse.org/legal/epl-v10.html
00010  * and the Eclipse Distribution License is available at
00011  *   http://www.eclipse.org/org/documents/edl-v10.php.
00012  *
00013  * Contributors:
00014  *    Tomoaki Yamaguchi - initial API and implementation and/or initial documentation
00015  **************************************************************************************/
00016 #ifndef MQTTSNGWPUCLISHHANDLER_H_
00017 #define MQTTSNGWPUCLISHHANDLER_H_
00018 
00019 #include "MQTTGWPacket.h"
00020 #include "MQTTSNGateway.h"
00021 #include "MQTTSNGWClient.h"
00022 
00023 namespace MQTTSNGW
00024 {
00025 class MQTTSNPublishHandler
00026 {
00027 public:
00028     MQTTSNPublishHandler(Gateway* gateway);
00029     ~MQTTSNPublishHandler();
00030     MQTTGWPacket* handlePublish(Client* client, MQTTSNPacket* packet);
00031     void handlePuback(Client* client, MQTTSNPacket* packet);
00032     void handleAck(Client* client, MQTTSNPacket* packet, uint8_t packetType);
00033     void handleRegister(Client* client, MQTTSNPacket* packet);
00034     void handleRegAck( Client* client, MQTTSNPacket* packet);
00035 
00036     void handleAggregatePublish(Client* client, MQTTSNPacket* packet);
00037     void handleAggregateAck(Client* client, MQTTSNPacket* packet, int type);
00038 
00039 private:
00040     Gateway* _gateway;
00041 };
00042 
00043 }
00044 #endif /* MQTTSNGWPUCLISHHANDLER_H_ */