Sample code for the NextTrainFileLib

Committer:
rinosh2
Date:
Tue Nov 16 16:39:23 2010 +0000
Revision:
0:eb1d0360fe8d

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rinosh2 0:eb1d0360fe8d 1 ///////////////////////////////////////////////////////////////////////////////
rinosh2 0:eb1d0360fe8d 2 // NextTrainFile: NextTrain file parser by rinos 2010
rinosh2 0:eb1d0360fe8d 3 ///////////////////////////////////////////////////////////////////////////////
rinosh2 0:eb1d0360fe8d 4
rinosh2 0:eb1d0360fe8d 5 #include "NextTrainFile.h"
rinosh2 0:eb1d0360fe8d 6
rinosh2 0:eb1d0360fe8d 7 #define ROOT_PATH "/local/"
rinosh2 0:eb1d0360fe8d 8 #define ROOT_LEN (sizeof(ROOT_PATH) - 1)
rinosh2 0:eb1d0360fe8d 9
rinosh2 0:eb1d0360fe8d 10 const char NT_FILE[] = ROOT_PATH "test.tbl";
rinosh2 0:eb1d0360fe8d 11
rinosh2 0:eb1d0360fe8d 12 int main() {
rinosh2 0:eb1d0360fe8d 13 LocalFileSystem local("local");
rinosh2 0:eb1d0360fe8d 14
rinosh2 0:eb1d0360fe8d 15 NextTrainFile ntf(NT_FILE);
rinosh2 0:eb1d0360fe8d 16
rinosh2 0:eb1d0360fe8d 17 time_t now = time(0);
rinosh2 0:eb1d0360fe8d 18
rinosh2 0:eb1d0360fe8d 19 for(int i = 0 ; i < 24 ; ++i){
rinosh2 0:eb1d0360fe8d 20 struct tm* st = localtime(&now);
rinosh2 0:eb1d0360fe8d 21 printf("NextTrainFile: W(%d)%02d:%02d:%02d: ", st->tm_wday, st->tm_hour, st->tm_min, st->tm_sec);
rinosh2 0:eb1d0360fe8d 22 NextTrainFile::Status ret = ntf.search(now);
rinosh2 0:eb1d0360fe8d 23 if(ret){
rinosh2 0:eb1d0360fe8d 24 printf("No train (error %d)\n", ret);
rinosh2 0:eb1d0360fe8d 25 } else {
rinosh2 0:eb1d0360fe8d 26 const NextTrainFile::NextInfo* p = ntf.next();
rinosh2 0:eb1d0360fe8d 27 printf("Next:%02d:%02d(%s) \tLeft:%5ds (%s)\n", p->m_hour, p->m_min, p->m_option, p->m_diff, p->m_title);
rinosh2 0:eb1d0360fe8d 28 }
rinosh2 0:eb1d0360fe8d 29 now = now + 3600 - 5 * 60;
rinosh2 0:eb1d0360fe8d 30 }
rinosh2 0:eb1d0360fe8d 31
rinosh2 0:eb1d0360fe8d 32 return 0;
rinosh2 0:eb1d0360fe8d 33 }
rinosh2 0:eb1d0360fe8d 34
rinosh2 0:eb1d0360fe8d 35
rinosh2 0:eb1d0360fe8d 36 /* test.tbl
rinosh2 0:eb1d0360fe8d 37
rinosh2 0:eb1d0360fe8d 38 ; ‹ž‰¤‘Š–ÍŒ´ü ‹ž‰¤‚æ‚Ý‚¤‚胉ƒ“ƒh‰w ’²•z•û–Ê
rinosh2 0:eb1d0360fe8d 39 a:Šâ–{’¬;Šâ
rinosh2 0:eb1d0360fe8d 40 b:÷ã…;÷
rinosh2 0:eb1d0360fe8d 41 c:Vh;V
rinosh2 0:eb1d0360fe8d 42 d:‘哇;‘å
rinosh2 0:eb1d0360fe8d 43 e:’²•z;’²
rinosh2 0:eb1d0360fe8d 44 f:–{”ª”¦;–{
rinosh2 0:eb1d0360fe8d 45 g:‰õ‘¬;‰õ
rinosh2 0:eb1d0360fe8d 46 h:’ʋΉõ‘¬;’Ê
rinosh2 0:eb1d0360fe8d 47 i:•’Ê;•
rinosh2 0:eb1d0360fe8d 48 j:‰^“]“ú’ˆÓ;Ÿ
rinosh2 0:eb1d0360fe8d 49
rinosh2 0:eb1d0360fe8d 50 [MON][TUE][WED][THU][FRI]
rinosh2 0:eb1d0360fe8d 51 # ‹ž‰¤‚æ‚Ý‚¤‚胉ƒ“ƒh ’²•z•û–Ê(•½“ú)
rinosh2 0:eb1d0360fe8d 52 5: ic14 ie19 hc33 ie39 ie54
rinosh2 0:eb1d0360fe8d 53 6: ic09 ic24 ic34 ic44 hc52 ic56
rinosh2 0:eb1d0360fe8d 54 7: hf01 hc04 ic09 hc14 ic21 hf27 hc33 ic42 hf46 ic51 hc54
rinosh2 0:eb1d0360fe8d 55 8: ic02 hd07 hc14 ic22 hd29 ic36 ic46 hc51
rinosh2 0:eb1d0360fe8d 56 9: hf01 hf10 hc18 hf25 gf42 gc58
rinosh2 0:eb1d0360fe8d 57 10: gf06 gc20 gc38 ie47
rinosh2 0:eb1d0360fe8d 58 11: gc00 ie06 gc20 ie27 gc40 ie46
rinosh2 0:eb1d0360fe8d 59 12: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 60 13: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 61 14: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 62 15: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 63 16: gc00 ie06 gc20 ie26 gc40 ie46 ie57
rinosh2 0:eb1d0360fe8d 64 17: gf05 ie17 ie27 ie37 ie47 ie57
rinosh2 0:eb1d0360fe8d 65 18: ie07 ie17 ie27 ie37 ie47 ie57
rinosh2 0:eb1d0360fe8d 66 19: ie07 ie17 ie27 ie37 ie47 ie57
rinosh2 0:eb1d0360fe8d 67 20: ie07 ie17 ie27 ie37 ie47 ie57
rinosh2 0:eb1d0360fe8d 68 21: ie07 ie17 ie27 ie37 ie47 ie57
rinosh2 0:eb1d0360fe8d 69 22: ie07 ie17 ie25 gf31 ie36 ie44 if50
rinosh2 0:eb1d0360fe8d 70 23: ic06 gc12 ie22 gc29 ia39 ie56
rinosh2 0:eb1d0360fe8d 71
rinosh2 0:eb1d0360fe8d 72 [SAT][SUN][HOL]
rinosh2 0:eb1d0360fe8d 73 # ‹ž‰¤‚æ‚Ý‚¤‚胉ƒ“ƒh ’²•z•û–Ê(“y‹x“ú)
rinosh2 0:eb1d0360fe8d 74 5: ic14 ic34 ie52
rinosh2 0:eb1d0360fe8d 75 6: ie06 ie26 ie36 ic46 ie51
rinosh2 0:eb1d0360fe8d 76 7: gd04 ie14 gd23 ie30 ib36 gd45 ic56
rinosh2 0:eb1d0360fe8d 77 8: gd08 gc17 ie25 gc40 ie45
rinosh2 0:eb1d0360fe8d 78 9: gc00 ie06 gc20 ie24 gc40 ie47
rinosh2 0:eb1d0360fe8d 79 10: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 80 11: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 81 12: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 82 13: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 83 14: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 84 15: gc00 ie06 gc20 ie26 gc40 ie46
rinosh2 0:eb1d0360fe8d 85 16: gc00 ie06 gc20 ie26 gc40 ie46 gc58
rinosh2 0:eb1d0360fe8d 86 17: ie06 gc19 ie26 gc39 ie46 gc59
rinosh2 0:eb1d0360fe8d 87 18: ie06 gc19 ie24 gf29 ie43 gf49 ie55
rinosh2 0:eb1d0360fe8d 88 19: gf09 ie16 gf30 ie36 gf50 ie56
rinosh2 0:eb1d0360fe8d 89 20: gf10 gc20 gf30 gc40 gf50
rinosh2 0:eb1d0360fe8d 90 21: gc00 gf10 gc20 ie29 ie38 ie47 ie57
rinosh2 0:eb1d0360fe8d 91 22: ie07 ie17 ie26 ie34 ie46 ie56
rinosh2 0:eb1d0360fe8d 92 23: ie06 ie16 ie30 ia40 ie56
rinosh2 0:eb1d0360fe8d 93 */