1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-24 11:45:18 +03:00
aports/testing/timed/0001-Fixes-build.patch
2020-05-04 10:32:10 +00:00

455 lines
22 KiB
Diff

The build system refers to unexisting files, this patch adds these.
This patch is not ready for upstreaming yet.
It seems to build fine on RPM-based systems, so why it doesn't on Alpine has to be investigated first.
diff --git a/src/server/adaptor.h b/src/server/adaptor.h
index 76faa2c..65fa2cc 100644
--- a/src/server/adaptor.h
+++ b/src/server/adaptor.h
@@ -35,6 +35,7 @@
#include <QString>
#include <QDBusAbstractAdaptor>
#include <QDBusMessage>
+#include <QDateTime>
#include "../lib/event-io.h"
#include "../lib/wall-info.h"
diff --git a/src/server/config.type.cpp b/src/server/config.type.cpp
new file mode 100644
index 0000000..790a2c3
--- /dev/null
+++ b/src/server/config.type.cpp
@@ -0,0 +1,33 @@
+#include <iodata-qt5/validator>
+#include "config.type.h"
+iodata::validator * etc_timed_rc_validator(){
+static bool init_done = false ;
+static iodata::validator A ;
+static iodata::/*validator::*/record_type record_type1 = { "config_t", vector<iodata::/*validator::*/node*>(10) } ;
+static iodata::/*validator::*/node_integer node1("queue_threshold_long", 0, 0, 5000) ;
+static iodata::/*validator::*/node_integer node2("queue_threshold_short", 0, 0, 1000) ;
+static iodata::/*validator::*/node_bytes node3("data_directory", 0, 0, ".timed") ;
+static iodata::/*validator::*/node_bytes node4("settings_file", 0, 0, "settings.data") ;
+static iodata::/*validator::*/node_bytes node5("events_file", 0, 0, "events.data") ;
+static iodata::/*validator::*/node_bytes node6("default_timezone", 0, 0, "Europe/Helsinki") ;
+static iodata::/*validator::*/node_integer node7("default_gmt_offset", 0, 0, 7200) ;
+static iodata::/*validator::*/node_integer node8("voland_ping_retries", 0, 0, 5) ;
+static iodata::/*validator::*/node_integer node9("voland_ping_sleep", 0, 0, 3000) ;
+static iodata::/*validator::*/node_integer node10("dialog_discard_threshold", 0, 0, 1440) ;
+if (not init_done) { init_done = true ;
+A.set_static() ;
+record_type1.nodes[0] = &node1 ;
+record_type1.nodes[1] = &node2 ;
+record_type1.nodes[2] = &node3 ;
+record_type1.nodes[3] = &node4 ;
+record_type1.nodes[4] = &node5 ;
+record_type1.nodes[5] = &node6 ;
+record_type1.nodes[6] = &node7 ;
+record_type1.nodes[7] = &node8 ;
+record_type1.nodes[8] = &node9 ;
+record_type1.nodes[9] = &node10 ;
+A.types["config_t"] = &record_type1 ;
+}
+return &A ;
+}
+
diff --git a/src/server/config.type.h b/src/server/config.type.h
new file mode 100644
index 0000000..19e45fa
--- /dev/null
+++ b/src/server/config.type.h
@@ -0,0 +1,5 @@
+#ifndef iodata_type_to_cxx_36533611597108116361108110310010049508410010747524756545672528056120841041181141165169122701225010353577311276108891018747
+#define iodata_type_to_cxx_36533611597108116361108110310010049508410010747524756545672528056120841041181141165169122701225010353577311276108891018747
+#include <iodata-qt5/validator>
+iodata::validator * etc_timed_rc_validator() ;
+#endif
diff --git a/src/server/customization.type.cpp b/src/server/customization.type.cpp
new file mode 100644
index 0000000..cac87d3
--- /dev/null
+++ b/src/server/customization.type.cpp
@@ -0,0 +1,23 @@
+#include <iodata-qt5/validator>
+#include "customization.type.h"
+iodata::validator * customization_data_validator(){
+static bool init_done = false ;
+static iodata::validator A ;
+static iodata::/*validator::*/record_type record_type1 = { "customization_t", vector<iodata::/*validator::*/node*>(5) } ;
+static iodata::/*validator::*/node_bytes node1("format24", 0, 0, "True") ;
+static iodata::/*validator::*/node_bytes node2("useNitz", 0, 0, "True") ;
+static iodata::/*validator::*/node_bytes node3("autoTime", 0, 0, "True") ;
+static iodata::/*validator::*/node_bytes node4("guessTz", 0, 0, "True") ;
+static iodata::/*validator::*/node_bytes node5("tz", 0, 0, "Europe/Helsinki") ;
+if (not init_done) { init_done = true ;
+A.set_static() ;
+record_type1.nodes[0] = &node1 ;
+record_type1.nodes[1] = &node2 ;
+record_type1.nodes[2] = &node3 ;
+record_type1.nodes[3] = &node4 ;
+record_type1.nodes[4] = &node5 ;
+A.types["customization_t"] = &record_type1 ;
+}
+return &A ;
+}
+
diff --git a/src/server/customization.type.h b/src/server/customization.type.h
new file mode 100644
index 0000000..85a6217
--- /dev/null
+++ b/src/server/customization.type.h
@@ -0,0 +1,5 @@
+#ifndef iodata_type_to_cxx_3653361159710811636788649106102111118575712255688710012010311353120977411580115471047269494690121985674481075775871147349
+#define iodata_type_to_cxx_3653361159710811636788649106102111118575712255688710012010311353120977411580115471047269494690121985674481075775871147349
+#include <iodata-qt5/validator>
+iodata::validator * customization_data_validator() ;
+#endif
diff --git a/src/server/queue.type.cpp b/src/server/queue.type.cpp
new file mode 100644
index 0000000..c307310
--- /dev/null
+++ b/src/server/queue.type.cpp
@@ -0,0 +1,115 @@
+#include <iodata-qt5/validator>
+#include "queue.type.h"
+iodata::validator * events_data_validator(){
+static bool init_done = false ;
+static iodata::validator A ;
+static iodata::/*validator::*/record_type record_type1 = { "action_t", vector<iodata::/*validator::*/node*>(3) } ;
+static iodata::/*validator::*/record_type record_type2 = { "b_attr_t", vector<iodata::/*validator::*/node*>(1) } ;
+static iodata::/*validator::*/record_type record_type3 = { "broken_down_t", vector<iodata::/*validator::*/node*>(5) } ;
+static iodata::/*validator::*/record_type record_type4 = { "cred_modifier_t", vector<iodata::/*validator::*/node*>(2) } ;
+static iodata::/*validator::*/record_type record_type5 = { "credentials_t", vector<iodata::/*validator::*/node*>(3) } ;
+static iodata::/*validator::*/record_type record_type6 = { "event_queue_t", vector<iodata::/*validator::*/node*>(2) } ;
+static iodata::/*validator::*/record_type record_type7 = { "event_t", vector<iodata::/*validator::*/node*>(15) } ;
+static iodata::/*validator::*/record_type record_type8 = { "key_value_t", vector<iodata::/*validator::*/node*>(2) } ;
+static iodata::/*validator::*/record_type record_type9 = { "recurrence_pattern_t", vector<iodata::/*validator::*/node*>(6) } ;
+static const char *bitmask_list1[] = { NULL } ;
+static iodata::/*validator::*/node_bitmask node1("flags", 0, 0, iodata::bitmask(0, bitmask_list1)) ;
+static iodata::/*validator::*/node_record node2("attr", 1, 0, "key_value_t", &record_type8) ;
+static iodata::/*validator::*/node_record node3("cred_modifier", 1, 0, "cred_modifier_t", &record_type4) ;
+static iodata::/*validator::*/node_record node4("attr", 1, 0, "key_value_t", &record_type8) ;
+static iodata::/*validator::*/node_integer node5("year", 0, 0, 0) ;
+static iodata::/*validator::*/node_integer node6("month", 0, 0, 0) ;
+static iodata::/*validator::*/node_integer node7("day", 0, 0, 0) ;
+static iodata::/*validator::*/node_integer node8("hour", 0, 0, 0) ;
+static iodata::/*validator::*/node_integer node9("minute", 0, 0, 0) ;
+static iodata::/*validator::*/node_bytes node10("token", 0, 1, "") ;
+static iodata::/*validator::*/node_integer node11("accrue", 0, 0, 0) ;
+static iodata::/*validator::*/node_bytes node12("uid", 0, 0, "nobody") ;
+static iodata::/*validator::*/node_bytes node13("gid", 0, 0, "nogroup") ;
+static iodata::/*validator::*/node_bytes node14("tokens", 1, 0, "") ;
+static iodata::/*validator::*/node_integer node15("next_cookie", 0, 0, 1) ;
+static iodata::/*validator::*/node_record node16("events", 1, 0, "event_t", &record_type7) ;
+static iodata::/*validator::*/node_integer node17("cookie", 0, 1, 0) ;
+static iodata::/*validator::*/node_integer node18("ticker", 0, 0, 0) ;
+static iodata::/*validator::*/node_record node19("t", 0, 0, "broken_down_t", &record_type3) ;
+static iodata::/*validator::*/node_bytes node20("tz", 0, 0, "") ;
+static iodata::/*validator::*/node_record node21("attr", 1, 0, "key_value_t", &record_type8) ;
+static const char *bitmask_list2[] = { NULL } ;
+static iodata::/*validator::*/node_bitmask node22("flags", 0, 0, iodata::bitmask(0, bitmask_list2)) ;
+static iodata::/*validator::*/node_record node23("recrs", 1, 0, "recurrence_pattern_t", &record_type9) ;
+static iodata::/*validator::*/node_record node24("actions", 1, 0, "action_t", &record_type1) ;
+static iodata::/*validator::*/node_integer node25("snooze", 1, 0, 0) ;
+static iodata::/*validator::*/node_record node26("b_attr", 1, 0, "b_attr_t", &record_type2) ;
+static iodata::/*validator::*/node_integer node27("dialog_time", 0, 0, 0) ;
+static iodata::/*validator::*/node_integer node28("tsz_max", 0, 0, 0) ;
+static iodata::/*validator::*/node_integer node29("tsz_counter", 0, 0, 0) ;
+static iodata::/*validator::*/node_record node30("client_creds", 0, 0, "credentials_t", &record_type5) ;
+static iodata::/*validator::*/node_record node31("cred_modifier", 1, 0, "cred_modifier_t", &record_type4) ;
+static iodata::/*validator::*/node_bytes node32("key", 0, 0, "") ;
+static iodata::/*validator::*/node_bytes node33("val", 0, 0, "") ;
+static const char *bitmask_list3[] = { NULL } ;
+static iodata::/*validator::*/node_bitmask node34("flags", 0, 0, iodata::bitmask(0, bitmask_list3)) ;
+static const char *bitmask_list4[] = { "any_mins", NULL } ;
+static iodata::/*validator::*/node_bitmask node35("mins", 0, 0, iodata::bitmask(0, bitmask_list4)) ;
+static const char *bitmask_list5[] = { "any_hour", NULL } ;
+static iodata::/*validator::*/node_bitmask node36("hour", 0, 0, iodata::bitmask(0, bitmask_list5)) ;
+static const char *bitmask_list6[] = { "any_mday", NULL } ;
+static iodata::/*validator::*/node_bitmask node37("mday", 0, 0, iodata::bitmask(0, bitmask_list6)) ;
+static const char *bitmask_list7[] = { "any_wday", NULL } ;
+static iodata::/*validator::*/node_bitmask node38("wday", 0, 0, iodata::bitmask(0, bitmask_list7)) ;
+static const char *bitmask_list8[] = { "any_mons", NULL } ;
+static iodata::/*validator::*/node_bitmask node39("mons", 0, 0, iodata::bitmask(0, bitmask_list8)) ;
+if (not init_done) { init_done = true ;
+A.set_static() ;
+record_type1.nodes[0] = &node1 ;
+record_type1.nodes[1] = &node2 ;
+record_type1.nodes[2] = &node3 ;
+A.types["action_t"] = &record_type1 ;
+record_type2.nodes[0] = &node4 ;
+A.types["b_attr_t"] = &record_type2 ;
+record_type3.nodes[0] = &node5 ;
+record_type3.nodes[1] = &node6 ;
+record_type3.nodes[2] = &node7 ;
+record_type3.nodes[3] = &node8 ;
+record_type3.nodes[4] = &node9 ;
+A.types["broken_down_t"] = &record_type3 ;
+record_type4.nodes[0] = &node10 ;
+record_type4.nodes[1] = &node11 ;
+A.types["cred_modifier_t"] = &record_type4 ;
+record_type5.nodes[0] = &node12 ;
+record_type5.nodes[1] = &node13 ;
+record_type5.nodes[2] = &node14 ;
+A.types["credentials_t"] = &record_type5 ;
+record_type6.nodes[0] = &node15 ;
+record_type6.nodes[1] = &node16 ;
+A.types["event_queue_t"] = &record_type6 ;
+record_type7.nodes[0] = &node17 ;
+record_type7.nodes[1] = &node18 ;
+record_type7.nodes[2] = &node19 ;
+record_type7.nodes[3] = &node20 ;
+record_type7.nodes[4] = &node21 ;
+record_type7.nodes[5] = &node22 ;
+record_type7.nodes[6] = &node23 ;
+record_type7.nodes[7] = &node24 ;
+record_type7.nodes[8] = &node25 ;
+record_type7.nodes[9] = &node26 ;
+record_type7.nodes[10] = &node27 ;
+record_type7.nodes[11] = &node28 ;
+record_type7.nodes[12] = &node29 ;
+record_type7.nodes[13] = &node30 ;
+record_type7.nodes[14] = &node31 ;
+A.types["event_t"] = &record_type7 ;
+record_type8.nodes[0] = &node32 ;
+record_type8.nodes[1] = &node33 ;
+A.types["key_value_t"] = &record_type8 ;
+record_type9.nodes[0] = &node34 ;
+record_type9.nodes[1] = &node35 ;
+record_type9.nodes[2] = &node36 ;
+record_type9.nodes[3] = &node37 ;
+record_type9.nodes[4] = &node38 ;
+record_type9.nodes[5] = &node39 ;
+A.types["recurrence_pattern_t"] = &record_type9 ;
+}
+return &A ;
+}
+
diff --git a/src/server/queue.type.h b/src/server/queue.type.h
new file mode 100644
index 0000000..aeb4a6a
--- /dev/null
+++ b/src/server/queue.type.h
@@ -0,0 +1,5 @@
+#ifndef iodata_type_to_cxx_365336115971081163699676812048721149972120559810779841095611711010510311310371579971775271102888690508111211551651205047
+#define iodata_type_to_cxx_365336115971081163699676812048721149972120559810779841095611711010510311310371579971775271102888690508111211551651205047
+#include <iodata-qt5/validator>
+iodata::validator * events_data_validator() ;
+#endif
diff --git a/src/server/server.pro b/src/server/server.pro
index 3bec0c7..3b00d76 100644
--- a/src/server/server.pro
+++ b/src/server/server.pro
@@ -10,7 +10,7 @@ VERSION = $$(TIMED_VERSION)
INCLUDEPATH += ../h
QMAKE_LIBDIR_FLAGS += -L../lib -L../voland
-LIBS += -ltimed-qt5 -ltimed-voland-qt5
+LIBS += -ltimed-qt5 -ltimed-voland-qt5 -liodata-qt5
IODATA_TYPES = queue.type config.type settings.type customization.type tzdata.type
@@ -70,7 +70,13 @@ SOURCES += \
ofonomodemmanager.cpp \
modemwatcher.cpp \
ofonoconstants.cpp \
- ntpcontroller.cpp
+ ntpcontroller.cpp \
+ config.type.cpp \
+ customization.type.cpp \
+ queue.type.cpp \
+ settings.type.cpp \
+ timed-cust-rc.type.cpp \
+ tzdata.type.cpp
SOURCES += credentials.cpp
HEADERS += credentials.h
diff --git a/src/server/settings.type.cpp b/src/server/settings.type.cpp
new file mode 100644
index 0000000..2a85916
--- /dev/null
+++ b/src/server/settings.type.cpp
@@ -0,0 +1,59 @@
+#include <iodata-qt5/validator>
+#include "settings.type.h"
+iodata::validator * settings_data_validator(){
+static bool init_done = false ;
+static iodata::validator A ;
+static iodata::/*validator::*/record_type record_type1 = { "empty_t", vector<iodata::/*validator::*/node*>(0) } ;
+static iodata::/*validator::*/record_type record_type2 = { "generic_zone_t", vector<iodata::/*validator::*/node*>(1) } ;
+static iodata::/*validator::*/record_type record_type3 = { "key_int_t", vector<iodata::/*validator::*/node*>(2) } ;
+static iodata::/*validator::*/record_type record_type4 = { "manual_offset_t", vector<iodata::/*validator::*/node*>(1) } ;
+static iodata::/*validator::*/record_type record_type5 = { "settings_t", vector<iodata::/*validator::*/node*>(15) } ;
+static iodata::/*validator::*/node_bytes node1("value", 0, 0, "[unknown]") ;
+static iodata::/*validator::*/node_bytes node2("key", 0, 1, "") ;
+static iodata::/*validator::*/node_integer node3("value", 0, 0, 0) ;
+static iodata::/*validator::*/node_integer node4("value", 0, 0, -1) ;
+static iodata::/*validator::*/node_integer node5("time_nitz", 0, 0, -1) ;
+static iodata::/*validator::*/node_integer node6("local_cellular", 0, 0, -1) ;
+static iodata::/*validator::*/node_integer node7("format_24", 0, 0, -1) ;
+static iodata::/*validator::*/node_integer node8("auto_dst", 0, 0, 1) ;
+static iodata::/*validator::*/node_record node9("manual_utc", 0, 0, "empty_t", &record_type1) ;
+static iodata::/*validator::*/node_record node10("nitz_utc", 0, 0, "empty_t", &record_type1) ;
+static iodata::/*validator::*/node_record node11("gps_utc", 0, 0, "empty_t", &record_type1) ;
+static iodata::/*validator::*/node_record node12("ntp_utc", 0, 0, "empty_t", &record_type1) ;
+static iodata::/*validator::*/node_record node13("manual_offset", 0, 0, "manual_offset_t", &record_type4) ;
+static iodata::/*validator::*/node_record node14("nitz_offset", 0, 0, "empty_t", &record_type1) ;
+static iodata::/*validator::*/node_record node15("manual_zone", 0, 0, "generic_zone_t", &record_type2) ;
+static iodata::/*validator::*/node_record node16("cellular_zone", 0, 0, "generic_zone_t", &record_type2) ;
+static iodata::/*validator::*/node_integer node17("default_snooze", 0, 0, 300) ;
+static iodata::/*validator::*/node_record node18("app_snooze", 1, 0, "key_int_t", &record_type3) ;
+static iodata::/*validator::*/node_integer node19("alarms", 0, 0, 1) ;
+if (not init_done) { init_done = true ;
+A.set_static() ;
+A.types["empty_t"] = &record_type1 ;
+record_type2.nodes[0] = &node1 ;
+A.types["generic_zone_t"] = &record_type2 ;
+record_type3.nodes[0] = &node2 ;
+record_type3.nodes[1] = &node3 ;
+A.types["key_int_t"] = &record_type3 ;
+record_type4.nodes[0] = &node4 ;
+A.types["manual_offset_t"] = &record_type4 ;
+record_type5.nodes[0] = &node5 ;
+record_type5.nodes[1] = &node6 ;
+record_type5.nodes[2] = &node7 ;
+record_type5.nodes[3] = &node8 ;
+record_type5.nodes[4] = &node9 ;
+record_type5.nodes[5] = &node10 ;
+record_type5.nodes[6] = &node11 ;
+record_type5.nodes[7] = &node12 ;
+record_type5.nodes[8] = &node13 ;
+record_type5.nodes[9] = &node14 ;
+record_type5.nodes[10] = &node15 ;
+record_type5.nodes[11] = &node16 ;
+record_type5.nodes[12] = &node17 ;
+record_type5.nodes[13] = &node18 ;
+record_type5.nodes[14] = &node19 ;
+A.types["settings_t"] = &record_type5 ;
+}
+return &A ;
+}
+
diff --git a/src/server/settings.type.h b/src/server/settings.type.h
new file mode 100644
index 0000000..b9f714c
--- /dev/null
+++ b/src/server/settings.type.h
@@ -0,0 +1,5 @@
+#ifndef iodata_type_to_cxx_365336115971081163666995311270727910611411411610510212256121100122102102108106881131027886118102116768979491097256122728512211253
+#define iodata_type_to_cxx_365336115971081163666995311270727910611411411610510212256121100122102102108106881131027886118102116768979491097256122728512211253
+#include <iodata-qt5/validator>
+iodata::validator * settings_data_validator() ;
+#endif
diff --git a/src/server/timed-cust-rc.type.cpp b/src/server/timed-cust-rc.type.cpp
new file mode 100644
index 0000000..4c00f02
--- /dev/null
+++ b/src/server/timed-cust-rc.type.cpp
@@ -0,0 +1,25 @@
+#include <iodata-qt5/validator>
+#include "timed-cust-rc.type.h"
+iodata::validator * foo(){
+static bool init_done = false ;
+static iodata::validator A ;
+static iodata::/*validator::*/record_type record_type1 = { "const_t", vector<iodata::/*validator::*/node*>(1) } ;
+static iodata::/*validator::*/record_type record_type2 = { "timed_cust_rc_t", vector<iodata::/*validator::*/node*>(4) } ;
+static iodata::/*validator::*/node_bytes node1("rc_location", 0, 0, "/etc/timed-cust.rc") ;
+static iodata::/*validator::*/node_bytes node2("time_nitz", 0, 0, "yes") ;
+static iodata::/*validator::*/node_bytes node3("format_24", 0, 0, "r") ;
+static iodata::/*validator::*/node_bytes node4("default_tz", 0, 0, "327") ;
+static iodata::/*validator::*/node_bytes node5("hash", 0, 0, "") ;
+if (not init_done) { init_done = true ;
+A.set_static() ;
+record_type1.nodes[0] = &node1 ;
+A.types["const_t"] = &record_type1 ;
+record_type2.nodes[0] = &node2 ;
+record_type2.nodes[1] = &node3 ;
+record_type2.nodes[2] = &node4 ;
+record_type2.nodes[3] = &node5 ;
+A.types["timed_cust_rc_t"] = &record_type2 ;
+}
+return &A ;
+}
+
diff --git a/src/server/timed-cust-rc.type.h b/src/server/timed-cust-rc.type.h
new file mode 100644
index 0000000..105e4a9
--- /dev/null
+++ b/src/server/timed-cust-rc.type.h
@@ -0,0 +1,5 @@
+#ifndef iodata_type_to_cxx_36533611597108116368011599807010649105105698254817310669119488253122761187875110121101100114764965104578410911453886910253
+#define iodata_type_to_cxx_36533611597108116368011599807010649105105698254817310669119488253122761187875110121101100114764965104578410911453886910253
+#include <iodata-qt5/validator>
+iodata::validator * foo() ;
+#endif
diff --git a/src/server/tzdata.type.cpp b/src/server/tzdata.type.cpp
new file mode 100644
index 0000000..65f7d72
--- /dev/null
+++ b/src/server/tzdata.type.cpp
@@ -0,0 +1,53 @@
+#include <iodata-qt5/validator>
+#include "tzdata.type.h"
+iodata::validator * tzdata_validator(){
+static bool init_done = false ;
+static iodata::validator A ;
+static iodata::/*validator::*/record_type record_type1 = { "country_record_t", vector<iodata::/*validator::*/node*>(3) } ;
+static iodata::/*validator::*/record_type record_type2 = { "mcc_country_pair_t", vector<iodata::/*validator::*/node*>(2) } ;
+static iodata::/*validator::*/record_type record_type3 = { "mcc_to_xy_t", vector<iodata::/*validator::*/node*>(1) } ;
+static iodata::/*validator::*/record_type record_type4 = { "tz_distinct_info_t", vector<iodata::/*validator::*/node*>(2) } ;
+static iodata::/*validator::*/record_type record_type5 = { "tz_distinct_t", vector<iodata::/*validator::*/node*>(1) } ;
+static iodata::/*validator::*/record_type record_type6 = { "tz_single_info_t", vector<iodata::/*validator::*/node*>(2) } ;
+static iodata::/*validator::*/record_type record_type7 = { "tz_single_t", vector<iodata::/*validator::*/node*>(1) } ;
+static iodata::/*validator::*/record_type record_type8 = { "zones_by_country_t", vector<iodata::/*validator::*/node*>(1) } ;
+static iodata::/*validator::*/node_bytes node1("xy", 0, 1, "") ;
+static iodata::/*validator::*/node_bytes node2("major", 1, 1, "") ;
+static iodata::/*validator::*/node_bytes node3("minor", 1, 1, "") ;
+static iodata::/*validator::*/node_integer node4("mcc", 0, 1, 0) ;
+static iodata::/*validator::*/node_bytes node5("country", 0, 1, "") ;
+static iodata::/*validator::*/node_record node6("mcc_to_xy", 1, 1, "mcc_country_pair_t", &record_type2) ;
+static iodata::/*validator::*/node_integer node7("mcc", 0, 1, 0) ;
+static iodata::/*validator::*/node_bytes node8("tz", 1, 1, "") ;
+static iodata::/*validator::*/node_record node9("list", 1, 1, "tz_distinct_info_t", &record_type4) ;
+static iodata::/*validator::*/node_integer node10("mcc", 0, 1, 0) ;
+static iodata::/*validator::*/node_bytes node11("tz", 0, 1, "") ;
+static iodata::/*validator::*/node_record node12("list", 1, 1, "tz_single_info_t", &record_type6) ;
+static iodata::/*validator::*/node_record node13("xy_to_tz", 1, 1, "country_record_t", &record_type1) ;
+if (not init_done) { init_done = true ;
+A.set_static() ;
+record_type1.nodes[0] = &node1 ;
+record_type1.nodes[1] = &node2 ;
+record_type1.nodes[2] = &node3 ;
+A.types["country_record_t"] = &record_type1 ;
+record_type2.nodes[0] = &node4 ;
+record_type2.nodes[1] = &node5 ;
+A.types["mcc_country_pair_t"] = &record_type2 ;
+record_type3.nodes[0] = &node6 ;
+A.types["mcc_to_xy_t"] = &record_type3 ;
+record_type4.nodes[0] = &node7 ;
+record_type4.nodes[1] = &node8 ;
+A.types["tz_distinct_info_t"] = &record_type4 ;
+record_type5.nodes[0] = &node9 ;
+A.types["tz_distinct_t"] = &record_type5 ;
+record_type6.nodes[0] = &node10 ;
+record_type6.nodes[1] = &node11 ;
+A.types["tz_single_info_t"] = &record_type6 ;
+record_type7.nodes[0] = &node12 ;
+A.types["tz_single_t"] = &record_type7 ;
+record_type8.nodes[0] = &node13 ;
+A.types["zones_by_country_t"] = &record_type8 ;
+}
+return &A ;
+}
+
diff --git a/src/server/tzdata.type.h b/src/server/tzdata.type.h
new file mode 100644
index 0000000..4a2e83b
--- /dev/null
+++ b/src/server/tzdata.type.h
@@ -0,0 +1,5 @@
+#ifndef iodata_type_to_cxx_36533611597108116361031117710974501117811888881171217311611611669711187210849114110110759797717767100113100831164710747669855
+#define iodata_type_to_cxx_36533611597108116361031117710974501117811888881171217311611611669711187210849114110110759797717767100113100831164710747669855
+#include <iodata-qt5/validator>
+iodata::validator * tzdata_validator() ;
+#endif