From 8fbb41a4296db7d59c2efb9dd327a1f75938f44f Mon Sep 17 00:00:00 2001 From: Victor Aprea Date: Wed, 8 Apr 2015 17:07:56 -0400 Subject: [PATCH 1/2] refactored constructors to use getters and setters --- PubSubClient/PubSubClient.cpp | 76 ++++++++++++++++++++++++----------- PubSubClient/PubSubClient.h | 8 ++++ 2 files changed, 60 insertions(+), 24 deletions(-) diff --git a/PubSubClient/PubSubClient.cpp b/PubSubClient/PubSubClient.cpp index b2764b9c..59d690e4 100755 --- a/PubSubClient/PubSubClient.cpp +++ b/PubSubClient/PubSubClient.cpp @@ -8,42 +8,46 @@ #include PubSubClient::PubSubClient() { - this->_client = NULL; - this->stream = NULL; + this->_client = 0; + setCallback(NULL); + setBrokerIP(ip); + setPort(1883); + setBrokerDomain(NULL); + this->stream = 0; } PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client) { - this->_client = &client; - this->callback = callback; - this->ip = ip; - this->port = port; - this->domain = NULL; - this->stream = NULL; + setClient(client); + setCallback(callback); + setBrokerIP(ip); + setPort(port); + setBrokerDomain(NULL); + this->stream = 0; } PubSubClient::PubSubClient(char* domain, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client) { - this->_client = &client; - this->callback = callback; - this->domain = domain; - this->port = port; - this->stream = NULL; + setClient(client); + setCallback(callback); + setBrokerDomain(domain); + setPort(port); + this->stream = 0; } PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client, Stream& stream) { - this->_client = &client; - this->callback = callback; - this->ip = ip; - this->port = port; - this->domain = NULL; - this->stream = &stream; + setClient(client); + setCallback(callback); + setBrokerIP(ip); + setPort(port); + setBrokerDomain(NULL); + setStream(stream); } PubSubClient::PubSubClient(char* domain, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client, Stream& stream) { - this->_client = &client; - this->callback = callback; - this->domain = domain; - this->port = port; - this->stream = &stream; + setClient(client); + setCallback(callback); + setBrokerDomain(domain); + setPort(port); + setStream(stream); } boolean PubSubClient::connect(char *id) { @@ -425,3 +429,27 @@ boolean PubSubClient::connected() { return rc; } +void PubSubClient::setBrokerIP(uint8_t * ip){ + this->domain = NULL; + this->ip = ip; +} + +void PubSubClient::setBrokerDomain(char * domain){ + this->domain = domain; +} + +void PubSubClient::setCallback(void(*callback)(char*,uint8_t*,unsigned int)){ + this->callback = callback; +} + +void PubSubClient::setPort(uint16_t port){ + this->port = port; +} + +void PubSubClient::setClient(Client& client){ + this->_client = &client; +} + +void PubSubClient::setStream(Stream& stream){ + this->stream = &stream; +} diff --git a/PubSubClient/PubSubClient.h b/PubSubClient/PubSubClient.h index 215be955..086dbb92 100755 --- a/PubSubClient/PubSubClient.h +++ b/PubSubClient/PubSubClient.h @@ -61,6 +61,14 @@ class PubSubClient { PubSubClient(uint8_t *, uint16_t, void(*)(char*,uint8_t*,unsigned int),Client& client, Stream&); PubSubClient(char*, uint16_t, void(*)(char*,uint8_t*,unsigned int),Client& client); PubSubClient(char*, uint16_t, void(*)(char*,uint8_t*,unsigned int),Client& client, Stream&); + + void setBrokerIP(uint8_t * ip); + void setBrokerDomain(char * domain); + void setCallback(void(*callback)(char*,uint8_t*,unsigned int)); + void setPort(uint16_t port); + void setClient(Client& client); + void setStream(Stream& stream); + boolean connect(char *); boolean connect(char *, char *, char *); boolean connect(char *, char *, uint8_t, uint8_t, char *); From fb7884573d42992f9b628e89e11fff5030f68d21 Mon Sep 17 00:00:00 2001 From: Victor Aprea Date: Wed, 8 Apr 2015 17:21:53 -0400 Subject: [PATCH 2/2] a couple functionally equivalent minor update based on pull request diff --- PubSubClient/PubSubClient.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/PubSubClient/PubSubClient.cpp b/PubSubClient/PubSubClient.cpp index 59d690e4..f7ca8877 100755 --- a/PubSubClient/PubSubClient.cpp +++ b/PubSubClient/PubSubClient.cpp @@ -8,12 +8,11 @@ #include PubSubClient::PubSubClient() { - this->_client = 0; + this->_client = NULL; + this->stream = NULL; setCallback(NULL); - setBrokerIP(ip); setPort(1883); setBrokerDomain(NULL); - this->stream = 0; } PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client) { @@ -22,7 +21,7 @@ PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,ui setBrokerIP(ip); setPort(port); setBrokerDomain(NULL); - this->stream = 0; + this->stream = NULL; } PubSubClient::PubSubClient(char* domain, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client) { @@ -30,7 +29,7 @@ PubSubClient::PubSubClient(char* domain, uint16_t port, void (*callback)(char*,u setCallback(callback); setBrokerDomain(domain); setPort(port); - this->stream = 0; + this->stream = NULL; } PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client, Stream& stream) {