mqtt specific components for the impact mbed endpoint library

Dependents:   mbed_mqtt_endpoint_ublox_ethernet mbed_mqtt_endpoint_ublox_cellular mbed_mqtt_endpoint_nxp

Revision:
5:1ba6e68bf50e
Parent:
4:380d79b22468
Child:
11:9ae0fe4517c1
diff -r 380d79b22468 -r 1ba6e68bf50e EmulatedResourceFactory.cpp
--- a/EmulatedResourceFactory.cpp	Thu Mar 27 03:52:29 2014 +0000
+++ b/EmulatedResourceFactory.cpp	Thu Mar 27 17:48:38 2014 +0000
@@ -19,105 +19,18 @@
  // class definition
  #include "EmulatedResourceFactory.h"
  
- // MBEDEndpoint support
+ // MBEDEndpoint instance support
  #include "MBEDEndpoint.h"
- 
- // MBED supports Battery Emulation
- #include "MBEDBattery.h"
- 
- // MBED supports Current Emulation
- #include "MBEDCurrent.h"
- 
- // MBED supports Temperature Sensing
- #include "MBEDTemperature.h"
- 
- // MBED supports GPS Emulation
- #include "MBEDgps.h"
- 
- // MBED supports RSSI Emulation
- #include "MBEDrssi.h"
- 
- // MBED supports Voltage Emulation
- #include "MBEDVoltage.h"
- 
- // MBED supports Wattage Emulation
- #include "MBEDWattage.h"
- 
- // Initializers
- void init_battery(Resource *resource) { if (resource != NULL) new MBEDBattery(resource->logger(),resource); }
- void init_current(Resource *resource) { if (resource != NULL) new MBEDCurrent(resource->logger(),resource); }
- void init_gps(Resource *resource) { if (resource != NULL) new MBEDgps(resource->logger(),resource); }
- void init_rssi(Resource *resource) { if (resource != NULL) new MBEDrssi(resource->logger(),resource); }
- void init_temperature(Resource *resource) { if (resource != NULL) new MBEDTemperature(resource->logger(),resource); }
- void init_voltage(Resource *resource) { if (resource != NULL) new MBEDVoltage(resource->logger(),resource); }
- void init_wattage(Resource *resource) { if (resource != NULL) new MBEDWattage(resource->logger(),resource); }
   
- // Ethernet
- #include "EthernetInterface.h"
- extern EthernetInterface ethernet;
- 
- // NSP supports Light Dimming
- extern void emulated_light_dimming_cb();
- 
- // NSP supports Light Switch 
- extern void emulated_light_switch_cb();
- 
  // default constructor
  EmulatedResourceFactory::EmulatedResourceFactory(ErrorHandler *error_handler,void *endpoint) : ResourceFactory(error_handler,endpoint) {  
-    this->initGPSCoords();
  }
  
  // default destructor
  EmulatedResourceFactory::~EmulatedResourceFactory() {
  }
  
- // initialize our GPS coords
- void EmulatedResourceFactory::initGPSCoords() {
-     memset(this->m_gps_coords,0,PREFERENCE_VALUE_LEN+1);
-     MBEDEndpoint *endpoint = (MBEDEndpoint *)this->m_endpoint;
-     endpoint->preferences()->getPreference("coords",this->m_gps_coords,PREFERENCE_VALUE_LEN,ENDPOINT_GPS_COORDS);
- }
- 
- // get our GPS coords from preferences
- char *EmulatedResourceFactory::getGPSCoords() { return this->m_gps_coords; }
- 
- // create resources
- void EmulatedResourceFactory::createResources(char *endpoint_name) {
-    // create all of the resources we expect for this endpoint
-    this->createResource("/dev/addldata","id:0");
-    this->createResource("/dev/location",ENDPOINT_LOCATION);
-    this->createResource("/fw/devtype","Light");
-    this->createResource("/dev/bat","5.0V",(void *)&init_battery,NULL);
-    this->createResource("/sen/I","0.1A",(void *)&init_current,NULL);
-    this->createResource("/dev/I","0.1A",(void *)&init_current,NULL);
-    this->createResource("/nw/ipaddr",ethernet.getIPAddress());
-    this->createResource(endpoint_name,"/lt/0/dim","25",(void *)&emulated_light_dimming_cb);          // Action: dim/brighten light
-    this->createResource("/nw/eripaddr","N/A");
-    this->createResource(endpoint_name,"/lt/0/on","1",(void *)&emulated_light_switch_cb);             // Action: light on/off
-    //this->createResource(endpoint_name,"/lt/0/ctr","1",(void *)&emulated_light_switch_cb);             // Action: light on/off
-    this->createResource("/dev/mdl","MQTT MBED Light");
-    this->createResource("/dev/mfg",PLATFORM_STRING);
-    this->createResource("/gps/int","60");
-    this->createResource("/gps/fix","1");
-    this->createResource("/nw/pipaddr","N/A");
-    this->createResource("/dev/W","0.1W",(void *)&init_wattage,NULL);
-    this->createResource("/nw/prssi","-75",(void *)&init_rssi,NULL);
-    this->createResource("/sen/temp","10.0C",(void *)&init_temperature,NULL);
-    this->createResource("/dev/t","10.0C",(void *)&init_temperature,NULL);
-    this->createResource("/sen/V","5.0V",(void *)&init_voltage,NULL);
-    this->createResource("/dev/V","5.0V",(void *)&init_voltage,NULL);
-    this->createResource("/gps/loc",this->getGPSCoords(),(void *)&init_gps,NULL);
-    this->createResource("/ns/nspaddr","(NA)");
-    this->createResource(endpoint_name,"/dev/panic","0",(void *)&emulated_light_switch_cb);             // Action: light on/off
-    
-#ifdef MAC_ADDRESS
-    extern char fmt_mac[RESOURCE_VALUE_LEN+1];
-    this->createResource("/nw/macaddr",fmt_mac);
-#else
-    this->createResource("/nw/macaddr","00:00:00:00:00");
-#endif
- } 
- 
+ // resource creators for the EmulatedResourceFactory...
  void EmulatedResourceFactory::createResource(char *name,char *value) { ResourceFactory::createResource(name,value); }
  void EmulatedResourceFactory::createResource(char *ep_name,char *name,char *value,void *cb) { ResourceFactory::createResource(ep_name,name,value,cb); }
  void EmulatedResourceFactory::createResource(char *name,char *value,void *io,void *notused) {