Skip to content

Commit f675a81

Browse files
committed
Turning connect/disconnect into protected functions because there is no need to access those functions from the outside. It might be relevant to add a 'end' function which does the opposite of the 'begin' function, that is ramping everything down in an orderly fashion
1 parent 399bd8f commit f675a81

5 files changed

+66
-49
lines changed

Diff for: src/ArduinoIoTCloud.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,6 @@ class ArduinoIoTCloudClass
8181
virtual ~ArduinoIoTCloudClass() { }
8282

8383

84-
virtual int connect () = 0;
85-
virtual bool disconnect () = 0;
8684
virtual void update () = 0;
8785
virtual int connected () = 0;
8886
virtual void printDebugInfo() = 0;
@@ -134,6 +132,9 @@ class ArduinoIoTCloudClass
134132

135133
protected:
136134

135+
virtual int connect () = 0;
136+
virtual bool disconnect() = 0;
137+
137138
inline ArduinoIoTConnectionStatus getIoTStatus() { return _iot_status; }
138139

139140
ConnectionHandler * _connection = nullptr;

Diff for: src/ArduinoIoTCloudLPWAN.cpp

+16-12
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,6 @@ ArduinoIoTCloudLPWAN::ArduinoIoTCloudLPWAN()
4747
* PUBLIC MEMBER FUNCTIONS
4848
******************************************************************************/
4949

50-
int ArduinoIoTCloudLPWAN::connect()
51-
{
52-
_connection->connect();
53-
return 1;
54-
}
55-
56-
bool ArduinoIoTCloudLPWAN::disconnect()
57-
{
58-
_connection->disconnect();
59-
return true;
60-
}
61-
6250
int ArduinoIoTCloudLPWAN::connected()
6351
{
6452
return (_connection->getStatus() == NetworkConnectionState::CONNECTED) ? 1 : 0;
@@ -116,6 +104,22 @@ void ArduinoIoTCloudLPWAN::printDebugInfo()
116104
Debug.print(DBG_INFO, "Thing ID: %s", getThingId().c_str());
117105
}
118106

107+
/******************************************************************************
108+
* PROTECTED MEMBER FUNCTIONS
109+
******************************************************************************/
110+
111+
int ArduinoIoTCloudLPWAN::connect()
112+
{
113+
_connection->connect();
114+
return 1;
115+
}
116+
117+
bool ArduinoIoTCloudLPWAN::disconnect()
118+
{
119+
_connection->disconnect();
120+
return true;
121+
}
122+
119123
/******************************************************************************
120124
* PRIVATE MEMBER FUNCTIONS
121125
******************************************************************************/

Diff for: src/ArduinoIoTCloudLPWAN.h

+6-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ class ArduinoIoTCloudLPWAN : public ArduinoIoTCloudClass
3535
ArduinoIoTCloudLPWAN();
3636
virtual ~ArduinoIoTCloudLPWAN() { }
3737

38-
virtual int connect () override;
39-
virtual bool disconnect () override;
4038
virtual void update () override;
4139
virtual int connected () override;
4240
virtual void printDebugInfo() override;
@@ -52,6 +50,12 @@ class ArduinoIoTCloudLPWAN : public ArduinoIoTCloudClass
5250
inline void setIntervalRetry(long val) { _intervalRetry = val; }
5351

5452

53+
protected:
54+
55+
virtual int connect () override;
56+
virtual bool disconnect () override;
57+
58+
5559
private:
5660

5761
bool _retryEnable;

Diff for: src/ArduinoIoTCloudTCP.cpp

+33-31
Original file line numberDiff line numberDiff line change
@@ -141,35 +141,6 @@ int ArduinoIoTCloudTCP::begin(String brokerAddress, uint16_t brokerPort)
141141
return 1;
142142
}
143143

144-
int ArduinoIoTCloudTCP::connect()
145-
{
146-
if (!_mqttClient->connect(_brokerAddress.c_str(), _brokerPort)) {
147-
return CONNECT_FAILURE;
148-
}
149-
if (_mqttClient->subscribe(_stdinTopic) == 0) {
150-
return CONNECT_FAILURE_SUBSCRIBE;
151-
}
152-
if (_mqttClient->subscribe(_dataTopicIn) == 0) {
153-
return CONNECT_FAILURE_SUBSCRIBE;
154-
}
155-
if (_shadowTopicIn != "") {
156-
if (_mqttClient->subscribe(_shadowTopicIn) == 0) {
157-
return CONNECT_FAILURE_SUBSCRIBE;
158-
}
159-
_syncStatus = ArduinoIoTSynchronizationStatus::SYNC_STATUS_WAIT_FOR_CLOUD_VALUES;
160-
_lastSyncRequestTickTime = 0;
161-
}
162-
163-
return CONNECT_SUCCESS;
164-
}
165-
166-
167-
bool ArduinoIoTCloudTCP::disconnect()
168-
{
169-
_mqttClient->stop();
170-
return true;
171-
}
172-
173144
void ArduinoIoTCloudTCP::update()
174145
{
175146
// Check if a primitive property wrapper is locally changed
@@ -209,6 +180,11 @@ void ArduinoIoTCloudTCP::update()
209180
}
210181
}
211182

183+
int ArduinoIoTCloudTCP::connected()
184+
{
185+
return _mqttClient->connected();
186+
}
187+
212188
void ArduinoIoTCloudTCP::printDebugInfo()
213189
{
214190
Debug.print(DBG_INFO, "***** Arduino IoT Cloud - configuration info *****");
@@ -225,10 +201,36 @@ int ArduinoIoTCloudTCP::reconnect()
225201
return connect();
226202
}
227203

204+
/******************************************************************************
205+
* PROTECTED MEMBER FUNCTIONS
206+
******************************************************************************/
228207

229-
int ArduinoIoTCloudTCP::connected()
208+
int ArduinoIoTCloudTCP::connect()
230209
{
231-
return _mqttClient->connected();
210+
if (!_mqttClient->connect(_brokerAddress.c_str(), _brokerPort)) {
211+
return CONNECT_FAILURE;
212+
}
213+
if (_mqttClient->subscribe(_stdinTopic) == 0) {
214+
return CONNECT_FAILURE_SUBSCRIBE;
215+
}
216+
if (_mqttClient->subscribe(_dataTopicIn) == 0) {
217+
return CONNECT_FAILURE_SUBSCRIBE;
218+
}
219+
if (_shadowTopicIn != "") {
220+
if (_mqttClient->subscribe(_shadowTopicIn) == 0) {
221+
return CONNECT_FAILURE_SUBSCRIBE;
222+
}
223+
_syncStatus = ArduinoIoTSynchronizationStatus::SYNC_STATUS_WAIT_FOR_CLOUD_VALUES;
224+
_lastSyncRequestTickTime = 0;
225+
}
226+
227+
return CONNECT_SUCCESS;
228+
}
229+
230+
bool ArduinoIoTCloudTCP::disconnect()
231+
{
232+
_mqttClient->stop();
233+
return true;
232234
}
233235

234236
/******************************************************************************

Diff for: src/ArduinoIoTCloudTCP.h

+8-2
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ class ArduinoIoTCloudTCP: public ArduinoIoTCloudClass
5353
ArduinoIoTCloudTCP();
5454
virtual ~ArduinoIoTCloudTCP();
5555

56-
virtual int connect () override;
57-
virtual bool disconnect () override;
56+
5857
virtual void update () override;
5958
virtual int connected () override;
6059
virtual void printDebugInfo() override;
@@ -79,6 +78,13 @@ class ArduinoIoTCloudTCP: public ArduinoIoTCloudClass
7978

8079
friend class CloudSerialClass;
8180

81+
82+
protected:
83+
84+
virtual int connect () override;
85+
virtual bool disconnect () override;
86+
87+
8288
private:
8389
static const int MQTT_TRANSMIT_BUFFER_SIZE = 256;
8490

0 commit comments

Comments
 (0)