blob: eec4bc6b53ccac6ad460bee716d0831576b526cf [file] [log] [blame]
Alexandre Lisionddd731e2014-01-31 11:50:08 -05001#ifndef COMMONCPP_NUMBERS_H_
2#define COMMONCPP_NUMBERS_H_
3
4#ifndef COMMONCPP_CONFIG_H_
5#include <commoncpp/config.h>
6#endif
7
8#ifndef COMMONCPP_STRING_H_
9#include <commoncpp/string.h>
10#endif
11
12typedef ucommon::DateTimeString DateTimeString;
13typedef ucommon::DateNumber DateNumber;
14
15class __EXPORT Date : public ucommon::Date
16{
17protected:
18 inline void toJulian(long year, long month, long day)
19 {ucommon::Date::set(year, month, day);}
20
21 inline void fromJulian(char *buf) const
22 {put(buf);}
23
24public:
25 inline Date(time_t value) : ucommon::Date(value) {};
26
27 inline Date(struct tm *object) : ucommon::Date(object) {};
28
29 inline Date(const char *ptr, size_t size = 0) : ucommon::Date(ptr, size) {};
30
31 inline Date(int y, unsigned m, unsigned d) : ucommon::Date(y, m, d) {};
32
33 inline Date(const Date& object) : ucommon::Date(object) {};
34
35 inline Date() : ucommon::Date() {};
36
37 inline int getYear(void) const
38 {return year();}
39
40 inline unsigned getMonth(void) const
41 {return month();}
42
43 inline unsigned getDay(void) const
44 {return day();}
45
46 inline unsigned getDayOfWeek(void) const
47 {return dow();}
48
49 inline long getJulian(void) const
50 {return julian;}
51
52 inline const char *get(char *buffer) const
53 {return put(buffer);}
54
55 inline time_t getTime(void) const
56 {return timeref();}
57
58 inline bool isValid(void) const
59 {return is_valid();}
60};
61
62class __EXPORT Time : public ucommon::Time
63{
64protected:
65 inline void toSeconds(int h, int m = 0, int s = 0)
66 {set(h, m, s);}
67
68 inline void fromSeconds(char *buf) const
69 {put(buf);}
70
71public:
72 inline Time(time_t value) : ucommon::Time(value) {};
73
74 inline Time(tm_t *object) : ucommon::Time(object) {};
75
76 inline Time(const char *ptr, size_t size) : ucommon::Time(ptr, size) {};
77
78 inline Time(int h, int m, int s) : ucommon::Time(h, m, s) {};
79
80 inline Time() : ucommon::Time() {};
81
82 inline int getHour(void) const
83 {return hour();}
84
85 inline int getMinute(void) const
86 {return minute();}
87
88 inline int getSecond(void) const
89 {return second();}
90
91 inline const char *get(char *buffer) const
92 {return put(buffer);}
93
94 inline bool isValid(void) const
95 {return is_valid();}
96
97};
98
99class __EXPORT DateTime : public ucommon::DateTime
100{
101public:
102 inline DateTime(time_t time) : ucommon::DateTime(time) {};
103
104 inline DateTime(struct tm *dt) : ucommon::DateTime(dt) {};
105
106
107 inline DateTime(int year, unsigned month, unsigned day,
108 int hour = 0, int minute = 0, int second = 0) :
109 ucommon::DateTime(year, month, day, hour, minute, second) {};
110
111 inline DateTime(const char *ptr, size_t size) :
112 ucommon::DateTime(ptr, size) {};
113
114 inline DateTime(const DateTime& obj) : ucommon::DateTime(obj) {};
115
116 inline DateTime() : ucommon::DateTime() {};
117
118 inline int getYear(void) const
119 {return year();}
120
121 inline unsigned getMonth(void) const
122 {return month();}
123
124 inline unsigned getDay(void) const
125 {return day();}
126
127 inline unsigned getDayOfWeek(void) const
128 {return dow();}
129
130 inline long getJulian(void) const
131 {return julian;}
132
133 inline const char *get(char *buffer) const
134 {return ucommon::DateTime::put(buffer);}
135
136 inline time_t getTime(void) const
137 {return ucommon::DateTime::timeref();}
138
139 inline bool isValid(void) const
140 {return ucommon::DateTime::is_valid();}
141
142 inline int getHour(void) const
143 {return hour();}
144
145 inline int getMinute(void) const
146 {return minute();}
147
148 inline int getSecond(void) const
149 {return second();}
150
151 inline static tm_t *glt(time_t *time = NULL)
152 {return ucommon::DateTime::local(time);}
153};
154
155#endif
156