Code written by Paul Rabbat, Angel Daruna, Jarel Hawkins, and Cordel Williams

Dependencies:   4DGL-uLCD-SE EthernetInterface HTTPClient NTPClient PinDetect SDFileSystem mbed-rpc mbed-rtos mbed wave_player

Fork of ECE4180_FinalProject by Angel Daruna

Committer:
prabbat3
Date:
Sun Dec 07 20:53:05 2014 +0000
Revision:
12:a99989062fee
Parent:
0:0a99e3fc2a46
Code cleanup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
prabbat3 0:0a99e3fc2a46 1 #include "RPCObjectManager.h"
prabbat3 0:0a99e3fc2a46 2 #include "mbed.h"
prabbat3 0:0a99e3fc2a46 3
prabbat3 0:0a99e3fc2a46 4 RPCObjectManager& RPCObjectManager::instance()
prabbat3 0:0a99e3fc2a46 5 {
prabbat3 0:0a99e3fc2a46 6 static RPCObjectManager om;
prabbat3 0:0a99e3fc2a46 7 return om;
prabbat3 0:0a99e3fc2a46 8 }
prabbat3 0:0a99e3fc2a46 9
prabbat3 0:0a99e3fc2a46 10 RPCObjectManager::RPCObjectManager():
prabbat3 0:0a99e3fc2a46 11 objects()
prabbat3 0:0a99e3fc2a46 12 {
prabbat3 0:0a99e3fc2a46 13 }
prabbat3 0:0a99e3fc2a46 14
prabbat3 0:0a99e3fc2a46 15 RPCObjectManager::~RPCObjectManager()
prabbat3 0:0a99e3fc2a46 16 {
prabbat3 0:0a99e3fc2a46 17 for(std::list<char*>::iterator itor = objects.begin();
prabbat3 0:0a99e3fc2a46 18 itor != objects.end();
prabbat3 0:0a99e3fc2a46 19 ++itor)
prabbat3 0:0a99e3fc2a46 20 delete *itor;
prabbat3 0:0a99e3fc2a46 21 }
prabbat3 0:0a99e3fc2a46 22
prabbat3 0:0a99e3fc2a46 23 void RPCObjectManager::store_object(char *obj_name)
prabbat3 0:0a99e3fc2a46 24 {
prabbat3 0:0a99e3fc2a46 25 char *obj = new char[strlen(obj_name)+1];
prabbat3 0:0a99e3fc2a46 26 strcpy(obj, obj_name);
prabbat3 0:0a99e3fc2a46 27 obj[strlen(obj_name)] = '\0';
prabbat3 0:0a99e3fc2a46 28 objects.push_back(obj);
prabbat3 0:0a99e3fc2a46 29 }
prabbat3 0:0a99e3fc2a46 30
prabbat3 0:0a99e3fc2a46 31 void RPCObjectManager::remove_object(char *obj_name)
prabbat3 0:0a99e3fc2a46 32 {
prabbat3 0:0a99e3fc2a46 33 for(std::list<char*>::iterator itor = objects.begin();
prabbat3 0:0a99e3fc2a46 34 itor != objects.end();
prabbat3 0:0a99e3fc2a46 35 ++itor)
prabbat3 0:0a99e3fc2a46 36 if(!strcmp(obj_name, *itor))
prabbat3 0:0a99e3fc2a46 37 {
prabbat3 0:0a99e3fc2a46 38 delete *itor;
prabbat3 0:0a99e3fc2a46 39 objects.erase(itor);
prabbat3 0:0a99e3fc2a46 40 break;
prabbat3 0:0a99e3fc2a46 41 }
prabbat3 0:0a99e3fc2a46 42 }
prabbat3 0:0a99e3fc2a46 43
prabbat3 0:0a99e3fc2a46 44 bool RPCObjectManager::lookup_object(char *obj_name)
prabbat3 0:0a99e3fc2a46 45 {
prabbat3 0:0a99e3fc2a46 46 for(std::list<char*>::iterator itor = objects.begin();
prabbat3 0:0a99e3fc2a46 47 itor != objects.end();
prabbat3 0:0a99e3fc2a46 48 ++itor)
prabbat3 0:0a99e3fc2a46 49 if(!strcmp(obj_name, *itor))
prabbat3 0:0a99e3fc2a46 50 return true;
prabbat3 0:0a99e3fc2a46 51 return false;
prabbat3 0:0a99e3fc2a46 52 }
prabbat3 0:0a99e3fc2a46 53
prabbat3 0:0a99e3fc2a46 54 bool RPCObjectManager::is_empty()
prabbat3 0:0a99e3fc2a46 55 {
prabbat3 0:0a99e3fc2a46 56 return objects.empty();
prabbat3 0:0a99e3fc2a46 57 }
prabbat3 0:0a99e3fc2a46 58
prabbat3 0:0a99e3fc2a46 59 std::list<char*>::iterator RPCObjectManager::begin()
prabbat3 0:0a99e3fc2a46 60 {
prabbat3 0:0a99e3fc2a46 61 return objects.begin();
prabbat3 0:0a99e3fc2a46 62 }
prabbat3 0:0a99e3fc2a46 63
prabbat3 0:0a99e3fc2a46 64 std::list<char*>::iterator RPCObjectManager::end()
prabbat3 0:0a99e3fc2a46 65 {
prabbat3 0:0a99e3fc2a46 66 return objects.end();
prabbat3 0:0a99e3fc2a46 67 }
prabbat3 0:0a99e3fc2a46 68