mirror of
https://github.com/eclipse/paho.mqtt-sn.embedded-c.git
synced 2025-12-15 16:36:52 +01:00
67 lines
2.0 KiB
C++
67 lines
2.0 KiB
C++
/**************************************************************************************
|
|
* 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(char* gwName, bool aggregater, bool fowarder, bool qosM1);
|
|
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);
|
|
|
|
private:
|
|
Gateway* _gateway {nullptr};
|
|
ForwarderList* _forwarders {nullptr};
|
|
QoSm1Proxy* _qosm1Proxy {nullptr};
|
|
Aggregater* _aggregater {nullptr};
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|
|
#endif /* MQTTSNGATEWAY_SRC_MQTTSNGWADAPTERMANAGER_H_ */
|