Core Base Classes for the Light Endpoints
Dependents: mbed_mqtt_endpoint_ublox_ethernet mbed_mqtt_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_ethernet ... more
Diff: MBEDToIOCResourceMap.cpp
- Revision:
- 20:f2dbbd852e08
- Parent:
- 13:17feb3b34619
- Child:
- 21:cfdaee0a2b50
--- a/MBEDToIOCResourceMap.cpp Wed Feb 26 07:22:26 2014 +0000 +++ b/MBEDToIOCResourceMap.cpp Wed Feb 26 18:59:01 2014 +0000 @@ -19,21 +19,27 @@ #include "MBEDToIOCResourceMap.h" // default constructor - MBEDToIOCResourceMap::MBEDToIOCResourceMap() { - this->m_map.clear(); + MBEDToIOCResourceMap::MBEDToIOCResourceMap(ErrorHandler *error_handler) { + this->m_error_handler = error_handler; + for(int i=0;i<NUM_MAPPINGS;++i) this->m_map[i] = NULL; this->createMap(); } // destructor MBEDToIOCResourceMap::~MBEDToIOCResourceMap() { + for(int i=0;i<NUM_MAPPINGS;++i) + if (this->m_map[i] != NULL) delete this->m_map[i]; } + + // get our error handler + ErrorHandler *MBEDToIOCResourceMap::logger() { return this->m_error_handler; } // lookup MBED equivalent to IOC input char *MBEDToIOCResourceMap::getMBEDMappedName(char *ioc_name) { bool found = false; char *mbed_name = NULL; - for(int i=0;i<this->m_map.size() && !found;++i) { + for(int i=0;i<NUM_MAPPINGS && !found && this->m_map[i] != NULL;++i) { if (strcmp(this->m_map[i]->iocName(),ioc_name) == 0) { found = true; mbed_name = this->m_map[i]->mbedName(); @@ -44,20 +50,24 @@ // create our map - this MUST match the Resource Mapping found in the gateway mapping database void MBEDToIOCResourceMap::createMap() { - this->m_map.push_back(new MapEntry("Property_1","/dev/addldata")); - this->m_map.push_back(new MapEntry("Property_2","/dev/location")); - this->m_map.push_back(new MapEntry("Property_3","/dev/bat")); - this->m_map.push_back(new MapEntry("Property_4","/sen/I")); - this->m_map.push_back(new MapEntry("Property_5","/nw/ipaddr")); - this->m_map.push_back(new MapEntry("Property_6","/lt/0/dim","Dimming")); - this->m_map.push_back(new MapEntry("Property_7","/nw/eripaddr")); - this->m_map.push_back(new MapEntry("Property_8","/lt/0/on","EnpointStatus")); - this->m_map.push_back(new MapEntry("Property_9","/dev/mdl")); - this->m_map.push_back(new MapEntry("Property_10","/gps/int")); - this->m_map.push_back(new MapEntry("Property_11","/gps/fix")); - this->m_map.push_back(new MapEntry("Property_12","/nw/pipaddr")); - this->m_map.push_back(new MapEntry("Property_13","/nw/prssi")); - this->m_map.push_back(new MapEntry("Property_14","/sen/temp")); - this->m_map.push_back(new MapEntry("Property_15","/sen/V")); - this->m_map.push_back(new MapEntry("LOCATION","/gps/loc")); + int i = 0; + this->m_map[i++] = new MapEntry("Property_1","/dev/addldata"); + this->m_map[i++] = new MapEntry("Property_2","/dev/location"); + this->m_map[i++] = new MapEntry("Property_3","/dev/bat"); + this->m_map[i++] = new MapEntry("Property_4","/sen/I"); + this->m_map[i++] = new MapEntry("Property_5","/nw/ipaddr"); + this->m_map[i++] = new MapEntry("Property_6","/lt/0/dim","Dimming"); + this->m_map[i++] = new MapEntry("Property_7","/nw/eripaddr"); + this->m_map[i++] = new MapEntry("Property_8","/lt/0/on","EnpointStatus"); + this->m_map[i++] = new MapEntry("Property_9","/dev/mdl"); + this->m_map[i++] = new MapEntry("Property_10","/gps/int"); + this->m_map[i++] = new MapEntry("Property_11","/gps/fix"); + this->m_map[i++] = new MapEntry("Property_12","/nw/pipaddr"); + this->m_map[i++] = new MapEntry("Property_13","/nw/prssi"); + this->m_map[i++] = new MapEntry("Property_14","/sen/temp"); + this->m_map[i++] = new MapEntry("Property_15","/sen/V"); + this->m_map[i++] = new MapEntry("LOCATION","/gps/loc"); + + // DEBUG + this->logger()->log("Installed %d Resource Mappings.",i); } \ No newline at end of file