Dreamforce 2014 Demo of RFID-based Salesforce Case generation for status reporting.
Dependencies: ID12RFID ReportDB SalesforceCaseGenerator SalesforceInterface
Dependents: mbed_mqtt_endpoint_ublox_ethernet mbed_mqtt_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_ethernet ... more
Revision 0:ba3327ba3a04, committed 2014-08-28
- Comitter:
- ansond
- Date:
- Thu Aug 28 20:18:55 2014 +0000
- Child:
- 1:e7c4a5fff33a
- Commit message:
- initial checkin
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ID12RFID.lib Thu Aug 28 20:18:55 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/ID12RFID/#280ef169667c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SalesforceCaseGenerator.lib Thu Aug 28 20:18:55 2014 +0000 @@ -0,0 +1,1 @@ +SalesforceCaseGenerator#175744b497e2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/StatusReporter.cpp Thu Aug 28 20:18:55 2014 +0000 @@ -0,0 +1,58 @@ +/* Copyright C2014 ARM, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files the "Software", to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + #include "StatusReporter.h" + + StatusReporter::StatusReporter(ErrorHandler *logger) : m_case_generator(logger), m_db(), m_rfid_reader(p13,p14) { + this->m_logger = logger; + } + + StatusReporter::~StatusReporter() { + } + + void StatusReporter::checkAndReportOnStatus() { + // look for a readable RFID tag + if(this->m_rfid_reader.readable()) { + // capture the RFID id... + this->m_logger->log("RFID: Found RFID.\r\nReading..."); + int rfid = this->m_rfid_reader.read(); + this->m_logger->log("RFID: ID %d found...\r\nProcessing...",rfid); + + // look it up in our WidgetDB... proceed only if we find something we know about... + char *name = this->m_db.lookupWidgetName(rfid); + if (name != NULL) { + // build out a simple subject for the case + char subject[MAX_NAME_LENGTH+1]; + memset(subject,0,MAX_NAME_LENGTH+1); + sprintf(subject,"%s case update",name); + + // create and dispatch a case + bool success = this->m_case_generator.createCase(subject,this->m_db.lookupWidgetDescription(rfid)); + if (success == true) { + this->m_logger->log("Case Generated!\r\nScanning..."); + } + else { + this->m_logger->log("Case Generation FAILED\r\nScanning..."); + } + } + else { + // unrecognized RFID + this->m_logger->log("RFID %d unknown.\r\nScanning...",rfid); + } + } + } \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/StatusReporter.h Thu Aug 28 20:18:55 2014 +0000 @@ -0,0 +1,42 @@ +/* Copyright C2014 ARM, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files the "Software", to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + #ifndef _STATUS_REPORTER_H_ + #define _STATUS_REPORTER_H_ + + #include "Definitions.h" + #include "ErrorHandler.h" + #include "SalesForceCaseGenerator.h" + #include "WidgetDB.h" + #include "ID12RFID.h" + + class StatusReporter { + private: + ErrorHandler *m_logger; + WidgetDB m_db; + SalesForceCaseGenerator m_case_generator; + ID12RFID m_rfid_reader; + + public: + StatusReporter(ErrorHandler *logger); + virtual ~StatusReporter(); + + void checkAndReportOnStatus(); + }; + + #endif // _STATUS_REPORTER_H_ \ No newline at end of file