Jack Hansdampf / mbed-mqtt-GSOE1

Dependents:   ESP8266MQTT

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MQTTGWPublishHandler.h Source File

MQTTGWPublishHandler.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 MQTTGWPUBLISHHANDLER_H_
00017 #define MQTTGWPUBLISHHANDLER_H_
00018 
00019 #include "MQTTSNGWDefines.h"
00020 #include "MQTTSNGWPacket.h"
00021 #include "MQTTSNGateway.h"
00022 
00023 namespace MQTTSNGW
00024 {
00025 
00026 class MQTTGWPublishHandler
00027 {
00028 public:
00029     MQTTGWPublishHandler(Gateway* gateway);
00030     ~MQTTGWPublishHandler();
00031     void handlePublish(Client* client, MQTTGWPacket* packet);
00032     void handlePuback(Client* client, MQTTGWPacket* packet);
00033     void handleAck(Client* client, MQTTGWPacket* packet, int type);
00034 
00035     void handleAggregatePublish(Client* client, MQTTGWPacket* packet);
00036     void handleAggregatePuback(Client* client, MQTTGWPacket* packet);
00037     void handleAggregateAck(Client* client, MQTTGWPacket* packet, int type);
00038     void handleAggregatePubrel(Client* client, MQTTGWPacket* packet);
00039 
00040 private:
00041     void replyACK(Client* client, Publish* pub, int type);
00042 
00043     Gateway* _gateway;
00044 };
00045 
00046 }
00047 
00048 
00049 
00050 #endif /* MQTTGWPUBLISHHANDLER_H_ */