Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: mbed-mqtt-master/paho_mqtt-sn_embedded_c/MQTTSNGateway/src/MQTTSNGWAdapterManager.h
- Revision:
- 0:ba7e439238ab
diff -r 000000000000 -r ba7e439238ab mbed-mqtt-master/paho_mqtt-sn_embedded_c/MQTTSNGateway/src/MQTTSNGWAdapterManager.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-mqtt-master/paho_mqtt-sn_embedded_c/MQTTSNGateway/src/MQTTSNGWAdapterManager.h Mon Jun 20 16:24:43 2022 +0000
@@ -0,0 +1,70 @@
+/**************************************************************************************
+ * Copyright (c) 2018, Tomoaki Yamaguchi
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v1.0 which accompany this distribution.
+ *
+ * The Eclipse Public License is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ * Tomoaki Yamaguchi - initial API and implementation and/or initial documentation
+ **************************************************************************************/
+
+#ifndef MQTTSNGATEWAY_SRC_MQTTSNGWADAPTERMANAGER_H_
+#define MQTTSNGATEWAY_SRC_MQTTSNGWADAPTERMANAGER_H_
+
+#include "MQTTSNGWAggregater.h"
+#include "MQTTSNGWQoSm1Proxy.h"
+namespace MQTTSNGW
+{
+class Gateway;
+class Client;
+class QoSm1Proxy;
+class Aggregater;
+class ForwarderList;
+class Forwarder;
+class MQTTSNPacket;
+class MQTTSNGWPacket;
+class ClientRecvTask;
+class ClientSendTask;
+
+/*=====================================
+ Class AdapterManager
+ =====================================*/
+class AdapterManager
+{
+public:
+ AdapterManager(Gateway* gw);
+ ~AdapterManager(void);
+ void initialize(void);
+ ForwarderList* getForwarderList(void);
+ QoSm1Proxy* getQoSm1Proxy(void);
+ Aggregater* getAggregater(void);
+ void checkConnection(void);
+
+ bool isAggregatedClient(Client* client);
+ Client* getClient(Client& client);
+ Client* convertClient(uint16_t msgId, uint16_t* clientMsgId);
+ int unicastToClient(Client* client, MQTTSNPacket* packet, ClientSendTask* task);
+ bool isAggregaterActive(void);
+ AggregateTopicElement* createClientList(Topic* topic);
+ int addAggregateTopic(Topic* topic, Client* client);
+ void removeAggregateTopic(Topic* topic, Client* client);
+ void removeAggregateTopicList(Topics* topics, Client* client);
+
+private:
+ Gateway* _gateway {nullptr};
+ ForwarderList* _forwarders {nullptr};
+ QoSm1Proxy* _qosm1Proxy {nullptr};
+ Aggregater* _aggregater {nullptr};
+};
+
+
+
+
+}
+#endif /* MQTTSNGATEWAY_SRC_MQTTSNGWADAPTERMANAGER_H_ */