Merge pull request #60 from vicatcu/master

refactored constructors to use getters and setters
This commit is contained in:
Nick O'Leary 2015-08-26 21:22:43 +01:00
commit 5418f32458
2 changed files with 56 additions and 21 deletions

View File

@ -10,40 +10,43 @@
PubSubClient::PubSubClient() { PubSubClient::PubSubClient() {
this->_client = NULL; 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) { PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client) {
this->_client = &client; setClient(client);
this->callback = callback; setCallback(callback);
this->ip = ip; setBrokerIP(ip);
this->port = port; setPort(port);
this->domain = NULL; setBrokerDomain(NULL);
this->stream = NULL; this->stream = NULL;
} }
PubSubClient::PubSubClient(char* domain, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client) { PubSubClient::PubSubClient(char* domain, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client) {
this->_client = &client; setClient(client);
this->callback = callback; setCallback(callback);
this->domain = domain; setBrokerDomain(domain);
this->port = port; setPort(port);
this->stream = NULL; this->stream = NULL;
} }
PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client, Stream& stream) { PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client, Stream& stream) {
this->_client = &client; setClient(client);
this->callback = callback; setCallback(callback);
this->ip = ip; setBrokerIP(ip);
this->port = port; setPort(port);
this->domain = NULL; setBrokerDomain(NULL);
this->stream = &stream; setStream(stream);
} }
PubSubClient::PubSubClient(char* domain, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client, Stream& stream) { PubSubClient::PubSubClient(char* domain, uint16_t port, void (*callback)(char*,uint8_t*,unsigned int), Client& client, Stream& stream) {
this->_client = &client; setClient(client);
this->callback = callback; setCallback(callback);
this->domain = domain; setBrokerDomain(domain);
this->port = port; setPort(port);
this->stream = &stream; setStream(stream);
} }
boolean PubSubClient::connect(char *id) { boolean PubSubClient::connect(char *id) {
@ -425,3 +428,27 @@ boolean PubSubClient::connected() {
return rc; 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;
}

View File

@ -61,6 +61,14 @@ public:
PubSubClient(uint8_t *, uint16_t, void(*)(char*,uint8_t*,unsigned int),Client& client, Stream&); 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);
PubSubClient(char*, uint16_t, void(*)(char*,uint8_t*,unsigned int),Client& client, Stream&); 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 *);
boolean connect(char *, char *, char *); boolean connect(char *, char *, char *);
boolean connect(char *, char *, uint8_t, uint8_t, char *); boolean connect(char *, char *, uint8_t, uint8_t, char *);