diff --git a/PubSubClient/PubSubClient.cpp b/PubSubClient/PubSubClient.cpp index b2764b9..f7ca887 100755 --- a/PubSubClient/PubSubClient.cpp +++ b/PubSubClient/PubSubClient.cpp @@ -9,41 +9,44 @@ PubSubClient::PubSubClient() { this->_client = NULL; - this->stream = NULL; + this->stream = NULL; + setCallback(NULL); + setPort(1883); + setBrokerDomain(NULL); } 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; + setClient(client); + setCallback(callback); + setBrokerIP(ip); + setPort(port); + setBrokerDomain(NULL); this->stream = NULL; } 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; + setClient(client); + setCallback(callback); + setBrokerDomain(domain); + setPort(port); this->stream = NULL; } 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 +428,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 215be95..086dbb9 100755 --- a/PubSubClient/PubSubClient.h +++ b/PubSubClient/PubSubClient.h @@ -61,6 +61,14 @@ public: 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 *);