#include #include #include #include #include #include #include #include #include #include #include #include #include #include "json-c/json.h" #include "rkdb.h" #include "common.h" #define TABLE_NETWORK_IP "NetworkIP" #define TABLE_NETWORK_SERVICE "NetworkService" #define TABLE_NETWORK_POWER "NetworkPower" #define TABLE_NETWORK_NTP "ntp" #define TABLE_NETWORK_ZONE "zone" #define TABLE_NETWORK_PORT "port" #define TABLE_NETWORK_VERSION "NetworkVersion" #define NETWORK_VERSION "1.0.3" int network_dbus_register(DBusConnection *dbus_conn) { g_dbus_register_interface(dbus_conn, "/", DB_NET_INTERFACE, methods, signals, NULL, DB_NET_INTERFACE, NULL); return 0; } void network_init(void) { char *col_para; if (equal_version(TABLE_NETWORK_VERSION, NETWORK_VERSION)) return; g_free(rkdb_drop(TABLE_NETWORK_IP)); g_free(rkdb_drop(TABLE_NETWORK_SERVICE)); g_free(rkdb_drop(TABLE_NETWORK_POWER)); g_free(rkdb_drop(TABLE_NETWORK_NTP)); g_free(rkdb_drop(TABLE_NETWORK_ZONE)); g_free(rkdb_drop(TABLE_NETWORK_PORT)); g_free(rkdb_drop(TABLE_NETWORK_VERSION)); creat_version_table(TABLE_NETWORK_VERSION, NETWORK_VERSION); col_para = "id INTEGER PRIMARY KEY AUTOINCREMENT," \ "sService TEXT NOT NULL UNIQUE," \ "sPassword TEXT DEFAULT ''," \ "iFavorite INT DEFAULT 0," \ "iAutoconnect INT DEFAULT 0"; g_free(rkdb_create(TABLE_NETWORK_SERVICE, col_para)); col_para = "id INTEGER PRIMARY KEY AUTOINCREMENT," \ "sInterface TEXT NOT NULL UNIQUE," \ "sType TEXT NOT NULL," \ "sV4Method TEXT DEFAULT ''," \ "sV4Address TEXT DEFAULT ''," \ "sV4Netmask TEXT DEFAULT ''," \ "sV4Gateway TEXT DEFAULT ''," \ "sV6Method TEXT DEFAULT ''," \ "sV6Address TEXT DEFAULT ''," \ "sV6Netmask TEXT DEFAULT ''," \ "sV6Gateway TEXT DEFAULT ''," \ "sNicSpeed TEXT DEFAULT ''," \ "sDNS1 TEXT DEFAULT ''," \ "sDNS2 TEXT DEFAULT ''"; /* sNicSpeed:Auto,10baseT/Half,10baseT/Full,100baseT/Half,100baseT/Full,1000baseT/Half 1000baseT/Full */ g_free(rkdb_create(TABLE_NETWORK_IP, col_para)); g_free(rkdb_insert(TABLE_NETWORK_IP, "sInterface,sType,sV4Method", "'wlan0','wifi', 'dhcp'")); g_free(rkdb_insert(TABLE_NETWORK_IP, "sInterface,sType,sV4Method,sNicSpeed", "'eth0','ethernet', 'dhcp','Auto'")); col_para = "id INTEGER PRIMARY KEY AUTOINCREMENT," \ "sType TEXT NOT NULL UNIQUE," \ "iPower INT DEFAULT 0"; g_free(rkdb_create(TABLE_NETWORK_POWER, col_para)); g_free(rkdb_insert(TABLE_NETWORK_POWER, "sType,iPower", "'wifi',0")); g_free(rkdb_insert(TABLE_NETWORK_POWER, "sType,iPower", "'ethernet',1")); col_para = "id INTEGER PRIMARY KEY," \ "sNtpServers TEXT NOT NULL," \ "sTimeZone TEXT NOT NULL," \ "sTimeZoneFile TEXT NOT NULL," \ "sTimeZoneFileDst TEXT NOT NULL," \ "iAutoMode INT DEFAULT 0," \ "iAutoDst INT DEFAULT 0," \ "iRefreshTime INT DEFAULT 120"; g_free(rkdb_create(TABLE_NETWORK_NTP, col_para)); g_free(rkdb_insert(TABLE_NETWORK_NTP, "id,sNtpServers,sTimeZone,sTimeZoneFile,sTimeZoneFileDst,iAutoDst,iAutoMode,iRefreshTime", "0,'122.224.9.29 94.130.49.186','ChinaStandardTime-8','posix/Etc/GMT-8','posix/Asia/Shanghai',0,1,60")); col_para = "id INTEGER PRIMARY KEY AUTOINCREMENT," \ "sTimeZone TEXT NOT NULL," \ "sTimeZoneFile TEXT NOT NULL," \ "sTimeZoneFileDst TEXT NOT NULL"; g_free(rkdb_create(TABLE_NETWORK_ZONE, col_para)); g_free(rkdb_insert(TABLE_NETWORK_ZONE, "sTimeZone,sTimeZoneFile,sTimeZoneFileDst", "'HawaiianStandardTime10','posix/Etc/GMT+10','posix/US/Hawaii'"));//(UTC-10:00) 夏威夷 g_free(rkdb_insert(TABLE_NETWORK_ZONE, "sTimeZone,sTimeZoneFile,sTimeZoneFileDst", "'PacificStandardTime8DaylightTime,M3.2.0,M11.1.0','posix/Etc/GMT+8','posix/US/Pacific'"));//(UTC-08:00) 太平洋时间(美国和加拿大) g_free(rkdb_insert(TABLE_NETWORK_ZONE, "sTimeZone,sTimeZoneFile,sTimeZoneFileDst", "'GMTStandardTime0DaylightTime,M3.5.0/1,M10.5.0','posix/Etc/GMT-0','posix/Europe/London'"));//(UTC+00:00) 都柏林,爱丁堡,里斯本,伦敦 g_free(rkdb_insert(TABLE_NETWORK_ZONE, "sTimeZone,sTimeZoneFile,sTimeZoneFileDst", "'ChinaStandardTime-8','posix/Etc/GMT-8','posix/Asia/Shanghai'"));//(UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐 g_free(rkdb_insert(TABLE_NETWORK_ZONE, "sTimeZone,sTimeZoneFile,sTimeZoneFileDst", "'TokyoStandardTime-9','posix/Etc/GMT-9','posix/Asia/Tokyo'"));//(UTC+09:00) 大阪,札幌,东京 col_para = "id INTEGER PRIMARY KEY," \ "sProtocol TEXT NOT NULL," \ "iPortNo INT DEFAULT 0"; g_free(rkdb_create(TABLE_NETWORK_PORT, col_para)); g_free(rkdb_insert(TABLE_NETWORK_PORT, "id,sProtocol,iPortNo", "0,'HTTP',80")); g_free(rkdb_insert(TABLE_NETWORK_PORT, "id,sProtocol,iPortNo", "1,'HTTPS',443")); g_free(rkdb_insert(TABLE_NETWORK_PORT, "id,sProtocol,iPortNo", "2,'DEV_MANAGE',8080")); g_free(rkdb_insert(TABLE_NETWORK_PORT, "id,sProtocol,iPortNo", "3,'RTSP',554")); g_free(rkdb_insert(TABLE_NETWORK_PORT, "id,sProtocol,iPortNo", "4,'RTMP',1935")); }