// Copyright 2020 Fuzhou Rockchip Electronics Co., Ltd. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef __DBSERVER_H #define __DBSERVER_H #ifdef __cplusplus extern "C" { #endif #define DBSERVER "rockchip.dbserver" #define DBSERVER_PATH "/" #define DBSERVER_NET_INTERFACE DBSERVER ".net" #define DBSERVER_STORAGE_INTERFACE DBSERVER ".storage" #define DBSERVER_MEDIA_INTERFACE DBSERVER ".media" #define DBSERVER_SYSTEM_INTERFACE DBSERVER ".system" #define DBSERVER_EVENT_INTERFACE DBSERVER ".event" #define DBSERVER_PERIPHERALS_INTERFACE DBSERVER ".peripherals" #define DS_SIGNAL_DATACHANGED "DataChanged" /* network */ #define TABLE_NETWORK_IP "NetworkIP" #define TABLE_NETWORK_SERVICE "NetworkService" #define TABLE_NETWORK_POWER "NetworkPower" #define TABLE_NTP "ntp" #define TABLE_ZONE "zone" #define TABLE_PORT "port" /* storage */ #define TABLE_STORAGE_DISK_PATH "StorageDiskPath" #define TABLE_STORAGE_MEDIA_FOLDER "StorageMediaFolder" #define TABLE_STORAGE_CONFIG "StorageConfig" #define TABLE_STORAGE_PLAN_SNAP "StoragePlanSnap" #define TABLE_STORAGE_ADVANCE_PARA "StorageAdvancePara" /* media */ #define TABLE_VIDEO "video" #define TABLE_VIDEO_ADVANCED_ENC "video_advanced_enc" #define TABLE_VIDEO_REGION_CLIP "video_region_clip" #define TABLE_AUDIO "audio" #define TABLE_STREAM_URL "stream_url" #define TABLE_IMAGE_SCENARIO "image_scenario" #define TABLE_IMAGE_ADJUSTMENT "image_adjustment" #define TABLE_IMAGE_EXPOSURE "image_exposure" #define TABLE_IMAGE_NIGHT_TO_DAY "image_night_to_day" #define TABLE_IMAGE_BLC "image_blc" #define TABLE_IMAGE_WHITE_BLANCE "image_white_blance" #define TABLE_IMAGE_ENHANCEMENT "image_enhancement" #define TABLE_IMAGE_VIDEO_ADJUSTMEN "image_video_adjustment" #define TABLE_NORMALIZED_SCREEN_SIZE "normalized_screen_size" #define TABLE_OSD "osd" #define TABLE_ROI "roi" #define TABLE_MOVE_DETECTION "MoveDetection" #define TABLE_REGIONAL_INVASION "RegionalInvasion" #define TABLE_PROFILE "profile" #define TABLE_METADATA "metadata" #define TABLE_VIDEO_SOURCE "video_source" #define TABLE_VIDEO_SOURCE_CONFIGURATION "video_source_configuration" /* system */ #define TABLE_SYSTEM_DEVICE_INFO "SystemDeviceInfo" #define TABLE_SYSTEM_PARA "SystemPara" #define TABLE_SYSTEM_USER "SystemUser" #define TABLE_SYSTEM_DISCOVERY "SystemDiscovery" #define TABLE_SYSTEM_SCOPES "SystemScopes" /* event */ #define TABLE_EVENT_TRIGGERS "EventTriggers" #define TABLE_EVENT_SCHEDULES "EventSchedules" #define TABLE_SMART_COVER "SmartCover" #define TABLE_SMART_COVER_OVERLAY "SmartCoverOverlay" #define TABLE_FACE_CONFIG "FaceConfig" #define TABLE_FACE_LIST "FaceList" #define TABLE_FACE_SNAPSHOT_RECORD "FaceSnapshotRecord" #define TABLE_FACE_CONTROL_RECORD "FaceControlRecord" /* peripherals */ #define TABLE_PERIPHERALS_RELAY "PeripheralsRelay" #define TABLE_PERIPHERALS_WEIGEN "PeripheralsWeigen" #define TABLE_PERIPHERALS_FILL_LIGHT "PeripheralsFillLight" #define TYPE_VIDEO 0 #define TYPE_PHOTO 1 #define TYPE_BLACK_LIST 2 #define TYPE_SNAPSHOT 3 #define TYPE_WHITE_LIST 4 #define MAX_OSD_NUM 15 struct period { int start_minute; int end_minute; char type[20]; }; struct day { struct period day_period[8]; }; struct week { struct day week_day[7]; }; struct DynamicLocation { char *cap_name; char *dynamic_key; char *dynamic_val; char *target_key; }; struct StaticLocation { char *cap_name; char *target_key; }; struct RangeJsonPara { int min; int max; int step; }; /* storage */ char *dbserver_update_storage_media_folder_duty(int camid, int type, int duty, int maxnum); char *dbserver_update_storage_config_mountpath(char *path); char *dbserver_update_storage_config_freesize(int freesize); char *dbserver_get_storage_disk_path(char *mountpath); char *dbserver_get_storage_media_folder(void); char *dbserver_get_storage_config(void); char *dbserver_get_storage_plan_snap(int id); char *dbserver_set_storage_plan_snap(char *json, int id); void dbserver_storage_snap_plan_parse(int type_id, int *ebaled, int *quality, int *interval, int *num); void dbserver_storage_video_plan_parse(int *enbaled); char *dbserver_storage_get(char *table); char *dbserver_storage_set(char *table, char *json, int id); char *dbserver_storage_disk_path_get_by_name(char *name); char *dbserver_storage_disk_path_set_by_name(char *name, char *mountpath); /* network */ char *dbserver_network_power_get(char *type); char *dbserver_network_ipv4_set(char *interface, char *Method, char *Address, char *Netmask, char *Gateway); char *dbserver_network_dns_set(char *interface, char *dns1, char *dns2); char *dbserver_network_nicspeed_set(char *interface, char *nicspeed); char *dbserver_network_ip_get(char *interface); char *dbserver_network_service_delete(char *service); char *dbserver_network_service_connect_set(char *service, char *password, int *favorite, int *autoconnect); char *dbserver_network_service_get(char *service); char *dbserver_network_power_set(char *type, int power); char *dbserver_wifi_power_set(int power); char *dbserver_ethernet_power_set(int power); char *dbserver_wifi_power_get(void); char *dbserver_ethernet_power_get(void); char *dbserver_ntp_set(char *servers, char *timezone, char *timezonefile, char *timezonefiledst, int *autodst, int *automode, int *time); char *dbserver_ntp_get(void); char *dbserver_zone_get(void); char *dbserver_port_set(char *json, int id); char *dbserver_port_get(void); /* media */ char *dbserver_media_set(char *table, char *json, int id); char *dbserver_media_set_by_token(char *table, char *json, char *token); void dbserver_media_del_by_token(char *table, char *token); char *dbserver_media_get(char *table); char *dbserver_media_get_by_id(char *table, int id); char *dbserver_osd_get(void); char *dbserver_audio_set(char *json); char *dbserver_audio_get(void); char *dbserver_video_set(char *json, char *stream_type); char *dbserver_video_get(void); char *dbserver_video_region_clip_set(char *json, int id); char *dbserver_video_region_clip_get(void); char *dbserver_stream_url_set(char *json, int id); char *dbserver_stream_url_get(void); char *dbserver_media_profile_get(char *token); char *dbserver_media_get_by_key_char(char *table, char *key_word, char *val); char *dbserver_video_source_cfg_get(char *token); char *dbserver_video_source_get(char *token); char *dbserver_video_enc_cfg_get(char *token); /* system */ char *dbserver_system_set(char *table, char *json, int id); char *dbserver_system_get(char *table); char *dbserver_system_get_by_key_char(char *table, char *key_word, char *val); char *dbserver_system_para_get_by_name(char *para_name); char *dbserver_system_para_set_by_name(char *para_name, char *para); void dbserver_set_static_cap_option(struct StaticLocation location, char *options); void dbserver_set_dynamic_cap_option(struct DynamicLocation location, char *options); void dbserver_set_static_cap_range(struct StaticLocation location, struct RangeJsonPara range); void dbserver_set_dynamic_cap_range(struct DynamicLocation location, struct RangeJsonPara range); void dbserver_system_user_delete(int id); char *dbserver_system_user_add(char *username, char *password, int *authlevel, int *userlevel, int *fixed); char *dbserver_system_user_del_username(char *username); char *dbserver_system_user_set(char *username, char *password, int *authlevel, int *userlevel); char *dbserver_system_user_get(char *username, char *password, int *authlevel, int *userlevel); int dbserver_system_user_num_get(char *username, char *password, int *authlevel, int *userlevel); void dbserver_scopes_add(char *scopesItem); void dbserver_system_del_by_key_char(char *table, char *key_word, char* key_content); void dbserver_system_del_by_key_int(char *table, char *key_word, int key_content); /* event */ char *dbserver_event_set(char *table, char *json, int id); char *dbserver_event_set_by_char_key(char *table, char *json, char* key_name, char* key_content); char *dbserver_event_get(char *table); char *dbserver_event_get_by_id(char *table, int id); char *dbserver_event_get_by_key_int(char *table, char *key_word, int val); char *dbserver_event_get_by_key_char(char *table, char *key_word, char *val); void dbserver_event_delete_by_key_int(char *table, char *key_word, int val); void dbserver_event_delete_by_key_char(char *table, char *key_word, char *val); void dbserver_face_list_add(int id, char *path, char *name, char *type); void dbserver_face_load_complete(int id, int flag); void dbserver_face_load_complete_by_path(char* path, int flag, int face_db_id); char *dbserver_face_list_delete(int id); void dbserver_snapshot_record_set(char *path); void dbserver_face_reset(char *table); void dbserver_control_record_set(int face_id, char *path, char *status, char *similarity); void dbserver_event_schedules_parse(struct week *schedule, int type_id); void dbserver_event_triggers_parse(int id, int *record_ebaled); /* peripherals */ char *dbserver_peripherals_set(char *table, char *json, int id); char *dbserver_peripherals_get(char *table); /* basic */ char *dbserver_select(char *json, char *interface); char *dbserver_update(char *json, char *interface); char *dbserver_delete(char *json, char *interface); char *dbserver_sql(char *sql, char *interface); char *dbserver_drop_table(char *table, char *interface); char *dbserver_create_table(char *table, char *col, char *interface); int dbserver_reset_face_table(char *table); void dbserver_free(char *ret_str); #ifdef __cplusplus } #endif #endif