00001 /******************************************************************************* 00002 * MapManager.h 00003 * 00004 * (C) 2007 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * Information on Code Review state: 00008 * Author: DG; DevelTest: ; Reviewer: initials; Review: date State: NOK 00009 * 00010 * Additional information: 00011 * $Id: PoiManager.h 44313 2011-04-06 22:46:28Z agas $ 00012 *******************************************************************************/ 00013 00014 #ifndef POI_MANAGER_H 00015 #define POI_MANAGER_H 00016 00017 #include "PointOfInterest.h" 00018 #include <list> 00019 00020 00028 class PoiManager { 00029 00030 public: 00031 00033 PoiManager(); 00034 00036 PoiManager( std::list< PointOfInterest > pois ); 00037 00039 ~PoiManager() {}; 00040 00045 int addPointOfInterest( const PointOfInterest* poi ); 00046 00053 bool modifyPointOfInterest( const PointOfInterest* poi ); 00054 00060 bool deletePointOfInterest( int id ); 00061 00066 int deletePointOfInterest( std::string namePart ); 00067 00071 std::list< PointOfInterest > getList(); 00072 00073 private: 00074 00078 bool addPointOfInterest( int id, const PointOfInterest* poi ); 00079 00083 bool poiExists( int id ); 00084 00088 PoiManager( const PoiManager& instance ); 00089 00091 std::list< PointOfInterest > m_Pois; 00092 00094 int m_CurrentId; 00095 00096 }; 00097 00098 00099 #undef PoiManager 00100 00101 #endif