Dependencies:   EthernetNetIf NTPClient_NetServices mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ItemSet.cpp Source File

ItemSet.cpp

00001 #include "ItemSet.h"
00002 #include "mbed.h"
00003 using namespace mbed;
00004 
00005 ItemSet::ItemSet() {
00006     firstItem = currentItem = NULL;
00007     numOfItems = 0;
00008 }
00009 
00010 Object* ItemSet::First() {
00011     currentItem = firstItem;
00012     if (currentItem == NULL) return(NULL);
00013 
00014     return(currentItem->object);
00015 }
00016 
00017 Object* ItemSet::Next() {
00018     if (currentItem != NULL) {
00019         if (currentItem->nextItem != NULL) {
00020             currentItem = currentItem->nextItem;
00021         }else{
00022             return NULL;
00023         }
00024         return(currentItem->object);
00025     } else {
00026         return(NULL);
00027     }
00028 }
00029 
00030 void ItemSet::AddItem(Object* inObj) {
00031     Item*  theItem;
00032     theItem = new Item;
00033     theItem->object = inObj;
00034 
00035     if (numOfItems == 0) {
00036         theItem->nextItem =NULL;
00037         firstItem = theItem;
00038     } else {
00039         theItem->nextItem = firstItem;
00040         firstItem =theItem;
00041     }
00042 
00043     currentItem = theItem;
00044     numOfItems++;
00045 
00046     return;
00047 }
00048 
00049 int ItemSet::GetNumOfItems() {
00050     return(numOfItems);
00051 }
00052 
00053 Object* ItemSet::GetCurrentObject() {
00054 
00055     if (currentItem != NULL) {
00056         return(currentItem->object);
00057     } else {
00058         return(NULL);
00059     }
00060 }
00061 
00062 
00063 Object* ItemSet::SerchId(unsigned int inId) {
00064     Item* item=firstItem;
00065 
00066     while (item != NULL) {
00067         if (item->object->CompareId(inId)) {
00068             return(item->object);
00069         }
00070         item = item->nextItem;
00071     }
00072 
00073     return NULL;
00074 }