/*
 * objectlist.h
 *
 *  Created on: 4 Jun 2013
 *      Author: john
 */

#ifndef OBJECTLIST_H_
#define OBJECTLIST_H_

#include <object.h>
#include <list>

class cObject;

class cObjectList : public cKlog
{
public:
   cObjectList();
   ~cObjectList();
   void add(cObject *);
   void setMsgType(uint8_t);
   uint8_t getMsgType();
   void setMsgSeq(uint8_t);
   uint8_t getMsgSeq();
   void setEvent();
   cObject* get();
   bool remove(cObject *);
   cObject * get(cObject *);
   cObject * next();
   cObject * first();
   KMsg * toMsg();
   bool match(KMsg *);
   void deleteObjects();
   int numObjects();

private:
   std::list<cObject*> mList;
   uint8_t mMsgType;
   uint8_t mMsgSeq;
   bool mEvent;
   std::list<cObject*>::iterator mIterator;
};



#endif /* OBJECTLIST_H_ */
