Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit eb4a398

Browse files
Merge pull request #113 from arduino-libraries/reduce-lora-api
Reduce public API by turning connect/disconnect into protected methods.
2 parents 6214b92 + 3142ff5 commit eb4a398

File tree

5 files changed

+58
-49
lines changed

5 files changed

+58
-49
lines changed

‎src/ArduinoIoTCloud.h‎

Lines changed: 3 additions & 2 deletions
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 void disconnect() = 0;
137+
137138
inline ArduinoIoTConnectionStatus getIoTStatus() { return _iot_status; }
138139

139140
ConnectionHandler * _connection = nullptr;

‎src/ArduinoIoTCloudLPWAN.cpp‎

Lines changed: 15 additions & 12 deletions
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,21 @@ 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+
void ArduinoIoTCloudLPWAN::disconnect()
118+
{
119+
_connection->disconnect();
120+
}
121+
119122
/******************************************************************************
120123
* PRIVATE MEMBER FUNCTIONS
121124
******************************************************************************/

‎src/ArduinoIoTCloudLPWAN.h‎

Lines changed: 6 additions & 2 deletions
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 void disconnect () override;
57+
58+
5559
private:
5660

5761
bool _retryEnable;

‎src/ArduinoIoTCloudTCP.cpp‎

Lines changed: 26 additions & 31 deletions
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,29 @@ 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)) return CONNECT_FAILURE;
211+
if (_mqttClient->subscribe(_stdinTopic) == 0) return CONNECT_FAILURE_SUBSCRIBE;
212+
if (_mqttClient->subscribe(_dataTopicIn) == 0) return CONNECT_FAILURE_SUBSCRIBE;
213+
214+
if (_shadowTopicIn != "")
215+
{
216+
if (_mqttClient->subscribe(_shadowTopicIn) == 0) return CONNECT_FAILURE_SUBSCRIBE;
217+
_syncStatus = ArduinoIoTSynchronizationStatus::SYNC_STATUS_WAIT_FOR_CLOUD_VALUES;
218+
_lastSyncRequestTickTime = 0;
219+
}
220+
221+
return CONNECT_SUCCESS;
222+
}
223+
224+
void ArduinoIoTCloudTCP::disconnect()
225+
{
226+
_mqttClient->stop();
232227
}
233228

234229
/******************************************************************************

‎src/ArduinoIoTCloudTCP.h‎

Lines changed: 8 additions & 2 deletions
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 void disconnect () override;
86+
87+
8288
private:
8389
static const int MQTT_TRANSMIT_BUFFER_SIZE = 256;
8490

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /