TrainInfoLib
TrainInfo.h
- Committer:
- rinosh2
- Date:
- 2010-11-19
- Revision:
- 0:475be92c8304
File content as of revision 0:475be92c8304:
/////////////////////////////////////////////////////////////////////////////// // TrainInfo: Next train and delayed information library by rinos 2010 /////////////////////////////////////////////////////////////////////////////// #ifndef __TRAININFO_H__ #define __TRAININFO_H__ #include "NextTrainFile.h" #include "IniFile.h" class TrainInfo { // defines ///////////////////////////////////////////////////////////////// public: typedef enum { DTYPE_NONE, DTYPE_TOKYU, DTYPE_MAX, } DelayType; static const int MAX_DELAY_MESSAGE = 256; // error code typedef enum { S_SUCCESS = 0, S_INI_OPEN_ERROR, S_ALREADY_OPEN, S_INI_FORMAT_ERROR, S_NEXTTRAIN_OPEN_ERROR = 100, S_NEXTTRAIN_OPTION_OVERFLOW, S_NEXTTRAIN_NO_TRAIN, S_NEXTTRAIN_INVALID_OPTION_ID, S_DELAY_DETECTED = 200, S_DELAY_NONE, S_DELAY_TYPE_ERROR, S_DELAY_WRITE_ERROR, S_DELAY_DOWNLOAD_ERROR, S_DELAY_NOINFO, } Status; // internal member/method ////////////////////////////////////////////////// private: IniFile m_ini; NextTrainFile m_ntf; char m_delay[MAX_DELAY_MESSAGE]; // Invalid method protected: TrainInfo(const TrainInfo& v); const TrainInfo& operator =(const TrainInfo& v); public: TrainInfo(const char* inifile = 0); ~TrainInfo(); Status open(const char* inifile); Status close(); // NextTrainFile I/F void use_shortopt(bool f) { m_ntf.use_shortopt(f); } NextTrainFile::Status search(time_t dt = 0, int offset = 0) { return m_ntf.search(dt, offset); } const NextTrainFile::NextInfo* next() const { return m_ntf.next(); } // Delay information I/F Status checkDelay(); Status getDelayMessage(char* buf, int size); }; #endif