00001 00013 #ifndef STATION_H_INCLUDED 00014 #define STATION_H_INCLUDED 00015 00016 #include <string> 00017 #include <boost/noncopyable.hpp> 00018 #include <boost/shared_ptr.hpp> 00019 00021 class Station : boost::noncopyable 00022 { 00023 const std::wstring name_; 00024 int id_; 00025 Station(int id, const std::wstring &name); 00026 00027 public: 00028 00029 static boost::shared_ptr<const Station> Create( 00030 int id, 00031 const std::wstring &name); 00032 00033 const std::wstring& getName() const; 00034 00035 int getID() const; 00036 }; 00037 00038 typedef boost::shared_ptr<const Station> SharedConstStation; 00039 typedef boost::shared_ptr<Station> SharedStation; 00040 00041 inline const std::wstring& Station::getName() const 00042 { 00043 return name_; 00044 } 00045 00046 inline int Station::getID() const 00047 { 00048 return id_; 00049 } 00050 00051 #endif // STATION_H_INCLUDED