This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
rc2007-soccer/source/Concept/robot.h
2007-01-14 18:07:03 +00:00

46 lines
No EOL
751 B
C++

#ifndef _ROBOT_H
#define _ROBOT_H
#include "stdafx.h"
class IO_Module;
class Sensor;
class Engine;
class Robot
{
public:
~Robot();
private:
typedef hash_map<uint32, IO_Module*> moduleMap;
moduleMap modules;
public:
bool AddModule(IO_Module* newModule);
template <class T> T* GetModule(uint32 moduleId)
{
moduleMap::const_iterator itr = modules.find(moduleId);
if(itr == modules.end())
return NULL;
else
return ((T*)itr->second);
}
bool RemoveModule(uint32 moduleId)
{
moduleMap::iterator itr = modules.find(moduleId);
if(itr == modules.end())
return false;
modules.erase(itr);
return true;
}
bool RemoveModule(IO_Module* oldModule);
void Update();
};
#endif