diff options
Diffstat (limited to 'worldtime/timezone.h')
-rw-r--r-- | worldtime/timezone.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/worldtime/timezone.h b/worldtime/timezone.h new file mode 100644 index 0000000..0770976 --- /dev/null +++ b/worldtime/timezone.h @@ -0,0 +1,44 @@ +#ifndef _TIMEZONE_H
+#define _TIMEZONE_H
+
+#define TZREG "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones"
+#define TZREG_9X "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Time Zones"
+//#define TZREG2 "SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation"
+#define MAX_SIZE 512
+
+#include <vector>
+#include <algorithm>
+
+struct REG_TZI {
+ long Bias;
+ long StandardBias;
+ long DaylightBias;
+ SYSTEMTIME StandardDate;
+ SYSTEMTIME DaylightDate;
+};
+
+
+struct LS_TZREG {
+ TCHAR tcName[MAX_SIZE];
+ TCHAR tcDisp[MAX_SIZE];
+ TCHAR tcDLT[MAX_SIZE];
+ TCHAR tcSTD[MAX_SIZE];
+ TCHAR MapID[MAX_SIZE];
+ DWORD Index;
+ DWORD ActiveTimeBias;
+ //TIME_ZONE_INFORMATION TZI;
+ REG_TZI TZI;
+
+ unsigned int list_index;
+
+ bool operator<(const LS_TZREG &other);
+};
+
+typedef std::vector< LS_TZREG > TimeList;
+
+extern TimeList timezone_list, geo_timezone_list;
+bool build_timezone_list();
+
+void convert_regdata_to_tzi(int vector_index);
+
+#endif
|