Server that executes RPC commands through HTTP.
Dependencies: EthernetInterface mbed-rpc mbed-rtos mbed
RPCObjectManager.cpp
00001 #include "RPCObjectManager.h" 00002 #include "mbed.h" 00003 00004 RPCObjectManager& RPCObjectManager::instance() 00005 { 00006 static RPCObjectManager om; 00007 return om; 00008 } 00009 00010 RPCObjectManager::RPCObjectManager(): 00011 objects() 00012 { 00013 } 00014 00015 RPCObjectManager::~RPCObjectManager() 00016 { 00017 for(std::list<char*>::iterator itor = objects.begin(); 00018 itor != objects.end(); 00019 ++itor) 00020 delete *itor; 00021 } 00022 00023 void RPCObjectManager::store_object(char *obj_name) 00024 { 00025 char *obj = new char[strlen(obj_name)+1]; 00026 strcpy(obj, obj_name); 00027 obj[strlen(obj_name)] = '\0'; 00028 objects.push_back(obj); 00029 } 00030 00031 void RPCObjectManager::remove_object(char *obj_name) 00032 { 00033 for(std::list<char*>::iterator itor = objects.begin(); 00034 itor != objects.end(); 00035 ++itor) 00036 if(!strcmp(obj_name, *itor)) 00037 { 00038 delete *itor; 00039 objects.erase(itor); 00040 break; 00041 } 00042 } 00043 00044 bool RPCObjectManager::lookup_object(char *obj_name) 00045 { 00046 for(std::list<char*>::iterator itor = objects.begin(); 00047 itor != objects.end(); 00048 ++itor) 00049 if(!strcmp(obj_name, *itor)) 00050 return true; 00051 return false; 00052 } 00053 00054 bool RPCObjectManager::is_empty() 00055 { 00056 return objects.empty(); 00057 } 00058 00059 std::list<char*>::iterator RPCObjectManager::begin() 00060 { 00061 return objects.begin(); 00062 } 00063 00064 std::list<char*>::iterator RPCObjectManager::end() 00065 { 00066 return objects.end(); 00067 } 00068
Generated on Tue Jul 12 2022 18:58:44 by 1.7.2