Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface mbed-rpc mbed-rtos mbed
Diff: RPCObjectManager.cpp
- Revision:
- 5:8ab27ca793cd
- Parent:
- 0:9e4bcb10b3e3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/RPCObjectManager.cpp Wed Jul 17 15:01:05 2013 +0000
@@ -0,0 +1,68 @@
+#include "RPCObjectManager.h"
+#include "mbed.h"
+
+RPCObjectManager& RPCObjectManager::instance()
+{
+ static RPCObjectManager om;
+ return om;
+}
+
+RPCObjectManager::RPCObjectManager():
+objects()
+{
+}
+
+RPCObjectManager::~RPCObjectManager()
+{
+ for(std::list<char*>::iterator itor = objects.begin();
+ itor != objects.end();
+ ++itor)
+ delete *itor;
+}
+
+void RPCObjectManager::store_object(char *obj_name)
+{
+ char *obj = new char[strlen(obj_name)+1];
+ strcpy(obj, obj_name);
+ obj[strlen(obj_name)] = '\0';
+ objects.push_back(obj);
+}
+
+void RPCObjectManager::remove_object(char *obj_name)
+{
+ for(std::list<char*>::iterator itor = objects.begin();
+ itor != objects.end();
+ ++itor)
+ if(!strcmp(obj_name, *itor))
+ {
+ delete *itor;
+ objects.erase(itor);
+ break;
+ }
+}
+
+bool RPCObjectManager::lookup_object(char *obj_name)
+{
+ for(std::list<char*>::iterator itor = objects.begin();
+ itor != objects.end();
+ ++itor)
+ if(!strcmp(obj_name, *itor))
+ return true;
+ return false;
+}
+
+bool RPCObjectManager::is_empty()
+{
+ return objects.empty();
+}
+
+std::list<char*>::iterator RPCObjectManager::begin()
+{
+ return objects.begin();
+}
+
+std::list<char*>::iterator RPCObjectManager::end()
+{
+ return objects.end();
+}
+