|
|
@@ -1,31 +1,31 @@
|
|
|
#include <stdlib.h>
|
|
|
#include <stdio.h>
|
|
|
#include <math.h>
|
|
|
+#include <rtklibc.h>
|
|
|
#include "sys.h"
|
|
|
-#include "file.h"
|
|
|
+#include "fs.h"
|
|
|
#include "lock.h"
|
|
|
-#include "xlist.h"
|
|
|
+#include "list.h"
|
|
|
#include "paras.h"
|
|
|
-#include "cascade.h"
|
|
|
-#include "switch_ctrl.h"
|
|
|
#include "dictionary.h"
|
|
|
#include "iniparser.h"
|
|
|
-#include "sqlite_handle.h"
|
|
|
-
|
|
|
-
|
|
|
-//#define READ_INI
|
|
|
+#include "db.h"
|
|
|
+#include <rtdbg.h>
|
|
|
|
|
|
|
|
|
#if 1
|
|
|
- #define LOGD log_d
|
|
|
- #define LOGE log_e
|
|
|
- #define LOGW log_w
|
|
|
+ #define LOGD LOG_D
|
|
|
+ #define LOGE LOG_E
|
|
|
+ #define LOGW LOG_W
|
|
|
#else
|
|
|
#define LOGD printf
|
|
|
#define LOGE printf
|
|
|
#define LOGW printf
|
|
|
#endif
|
|
|
|
|
|
+#define MALLOC malloc
|
|
|
+#define FREE free
|
|
|
+
|
|
|
enum {
|
|
|
TYPE_INT=0,
|
|
|
TYPE_STR,
|
|
|
@@ -39,33 +39,25 @@ enum {
|
|
|
PARAS_CREATE,
|
|
|
};
|
|
|
|
|
|
-extern GlobalDeviceInfo DFLT_PARAS;
|
|
|
+extern paras_data_t DFLT_PARAS;
|
|
|
|
|
|
typedef struct {
|
|
|
dictionary *dic;
|
|
|
- GlobalDeviceInfo *info;
|
|
|
+ paras_data_t paras;
|
|
|
char path[200];
|
|
|
}paras_handle_t;
|
|
|
static paras_handle_t paraHandle={0};
|
|
|
|
|
|
|
|
|
#if 1
|
|
|
-static GlobalDeviceManager *get_dm(void)
|
|
|
-{
|
|
|
- return &__globalDeviceManage;
|
|
|
-}
|
|
|
static int is_power3(void)
|
|
|
{
|
|
|
- GlobalDeviceManager *dm=get_dm();
|
|
|
- if(dm->_globalDevInfo.product.pwr_type>=SmartPDU_Tree_AC_Tree) {
|
|
|
+ paras_handle_t *h=¶Handle;
|
|
|
+ if(h->paras.prod.pwr_type>=PDU_AC_I3O3) {
|
|
|
return 1;
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
-static GlobalDeviceInfo *get_info(void)
|
|
|
-{
|
|
|
- return &get_dm()->_globalDevInfo;
|
|
|
-}
|
|
|
static int feq(double a, double b)
|
|
|
{
|
|
|
return (fabs(a-b)<(1e-6))?1:0;
|
|
|
@@ -88,7 +80,7 @@ static int str_del(char *b, char *s)
|
|
|
}
|
|
|
|
|
|
int sl=strlen(s);
|
|
|
- char *p1,*p2,*b2=strdup(b);
|
|
|
+ char *p1,*p2,*b2=rt_strdup(b);
|
|
|
if(!b2) return -1;
|
|
|
|
|
|
p1=b2;
|
|
|
@@ -98,7 +90,7 @@ static int str_del(char *b, char *s)
|
|
|
memcpy(b,p1,p2-p1);
|
|
|
b += p2-p1; p1 = p2+sl;
|
|
|
}
|
|
|
- strcpy(b,p1); free(b2);
|
|
|
+ strcpy(b,p1); FREE(b2);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
@@ -223,7 +215,7 @@ static int ini_rw(dictionary *dic, char *key, void *val, int len, int type, int
|
|
|
}
|
|
|
|
|
|
|
|
|
-static int proc_prod(dictionary *dic, int op, ProductInfo_t *prod)
|
|
|
+static int proc_prod(dictionary *dic, int op, product_data_t *prod)
|
|
|
{
|
|
|
int r=0;
|
|
|
char *p=NULL;
|
|
|
@@ -239,7 +231,7 @@ static int proc_prod(dictionary *dic, int op, ProductInfo_t *prod)
|
|
|
LOGE("___ check product.type %d is wrong\n", prod->type);
|
|
|
r = -1;
|
|
|
}
|
|
|
- if(prod->pwr_type>SmartPDU_Tree_AC_One_B) {
|
|
|
+ if(prod->pwr_type>PDU_AC_I3O3_X) {
|
|
|
LOGE("___ check product.pwr_type %d is wrong\n", prod->pwr_type);
|
|
|
r = -1;
|
|
|
}
|
|
|
@@ -470,7 +462,7 @@ static int proc_prod(dictionary *dic, int op, ProductInfo_t *prod)
|
|
|
|
|
|
return r;
|
|
|
}
|
|
|
-static int proc_modbus(dictionary *dic, int op, ModbusInfo_t *mb)
|
|
|
+static int proc_modbus(dictionary *dic, int op, modbus_data_t *mb)
|
|
|
{
|
|
|
int r=0;
|
|
|
char temp[100];
|
|
|
@@ -540,11 +532,11 @@ static int proc_modbus(dictionary *dic, int op, ModbusInfo_t *mb)
|
|
|
LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
return -1;
|
|
|
} else {
|
|
|
- mb->baudrate = r;
|
|
|
+ mb->baud = r;
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- sprintf(temp, "%d", mb->baudrate);
|
|
|
+ sprintf(temp, "%d", mb->baud);
|
|
|
r = iniparser_set(dic, token, temp);
|
|
|
if(r) {
|
|
|
LOGE("___ iniparser_set %s failed\n", token);
|
|
|
@@ -559,6 +551,8 @@ static int proc_modbus(dictionary *dic, int op, ModbusInfo_t *mb)
|
|
|
|
|
|
return r;
|
|
|
}
|
|
|
+
|
|
|
+#if 0
|
|
|
static int proc_ptotal(dictionary *dic, int op, PowerTotal_t *ptotal)
|
|
|
{
|
|
|
int r=0;
|
|
|
@@ -1599,14 +1593,15 @@ quit:
|
|
|
iniparser_freedict(dic);
|
|
|
return r;
|
|
|
}
|
|
|
-static int proc_role(char *path, int op, RoleInfo *role, handle_t l)
|
|
|
+
|
|
|
+
|
|
|
+static int proc_role(char *path, int op, role_data_t *role, handle_t l)
|
|
|
{
|
|
|
int i=1,r=0;
|
|
|
char temp[100];
|
|
|
char *p,token[100];
|
|
|
dictionary *dic=NULL;
|
|
|
- RoleInfo role2,*prole=role;
|
|
|
- GlobalDeviceManager *dm=get_dm();
|
|
|
+ role_data_t role2,*prole=role;
|
|
|
|
|
|
switch(op) {
|
|
|
case PARAS_CHECK:
|
|
|
@@ -1754,10 +1749,6 @@ static int proc_role(char *path, int op, RoleInfo *role, handle_t l)
|
|
|
cnt++;
|
|
|
}
|
|
|
|
|
|
- list_for_each_entry_safe(node,next,&prole->list,list) {
|
|
|
- list_del(&node->list); free(node);
|
|
|
- }
|
|
|
-
|
|
|
if(cnt>0) {
|
|
|
r = ini_dump(path, dic);
|
|
|
}
|
|
|
@@ -1775,7 +1766,7 @@ static int proc_role(char *path, int op, RoleInfo *role, handle_t l)
|
|
|
static int find_role_id(handle_t l, node_t *node, node_t *xd, void *arg, int *act)
|
|
|
{
|
|
|
int id=(*(int*)arg);
|
|
|
- RoleInfo *info=(RoleInfo*)xd->buf;
|
|
|
+ role_data_t *info=(RoleInfo*)xd->buf;
|
|
|
|
|
|
if(id==info->roleID) {
|
|
|
*act = LIST_ACT_STOP;
|
|
|
@@ -1783,14 +1774,13 @@ static int find_role_id(handle_t l, node_t *node, node_t *xd, void *arg, int *ac
|
|
|
}
|
|
|
return -1;
|
|
|
}
|
|
|
-static int proc_user(char *path, int op, UserInfo *user, handle_t l)
|
|
|
+static int proc_user(char *path, int op, user_data_t *user, handle_t l)
|
|
|
{
|
|
|
int i=1,r=0;
|
|
|
char temp[100];
|
|
|
char *p,token[100];
|
|
|
dictionary *dic=NULL;
|
|
|
- UserInfo user2,*puser=user;
|
|
|
- GlobalDeviceManager *dm=get_dm();
|
|
|
+ user_data_t user2,*puser=user;
|
|
|
|
|
|
switch(op) {
|
|
|
case PARAS_CHECK:
|
|
|
@@ -1968,7 +1958,6 @@ static int proc_group(char *path, int op, GroupInfo *group)
|
|
|
char *p,token[100];
|
|
|
dictionary *dic=NULL;
|
|
|
GroupInfo group2,*pgroup=group;
|
|
|
- GlobalDeviceManager *dm=get_dm();
|
|
|
|
|
|
switch(op) {
|
|
|
case PARAS_CHECK:
|
|
|
@@ -3050,7 +3039,7 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
-#if 0
|
|
|
+
|
|
|
static int proc_timer(char *path, int op, timer_data_t *timer)
|
|
|
{
|
|
|
int r=0;
|
|
|
@@ -3218,7 +3207,7 @@ quit:
|
|
|
#endif
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
-static dictionary* ini_load(char *path, GlobalDeviceInfo *info)
|
|
|
+static dictionary* ini_load(char *path, paras_data_t *info)
|
|
|
{
|
|
|
int r=-1;
|
|
|
|
|
|
@@ -3227,41 +3216,34 @@ static dictionary* ini_load(char *path, GlobalDeviceInfo *info)
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
- r = proc_prod(dic, PARAS_READ, &info->product);
|
|
|
+ r = proc_prod(dic, PARAS_READ, &info->prod);
|
|
|
if(r) {
|
|
|
LOGE("___proc_prod failed\n");
|
|
|
}
|
|
|
|
|
|
- r = proc_modbus(dic, PARAS_READ, &info->cascade);
|
|
|
+ r = proc_modbus(dic, PARAS_READ, &info->cas);
|
|
|
if(r) {
|
|
|
LOGE("___proc_modbus failed\n");
|
|
|
}
|
|
|
|
|
|
- r = proc_ptotal(dic, PARAS_READ, &info->ptotal);
|
|
|
- if(r) {
|
|
|
- LOGE("___proc_ptotal failed\n");
|
|
|
- }
|
|
|
-
|
|
|
- r = proc_webcfg(dic, PARAS_READ, &info->webcfg);
|
|
|
- if(r) {
|
|
|
- LOGE("___proc_webcfg failed\n");
|
|
|
- }
|
|
|
-
|
|
|
+#if 0
|
|
|
r = proc_misc(dic, PARAS_READ, &info->misc);
|
|
|
if(r) {
|
|
|
LOGE("___proc_misc failed\n");
|
|
|
}
|
|
|
-
|
|
|
+#endif
|
|
|
+
|
|
|
return dic;
|
|
|
}
|
|
|
static int ini_check(char *path)
|
|
|
{
|
|
|
- GlobalDeviceInfo info=DFLT_PARAS;
|
|
|
- dictionary *dic=ini_load(path, &info);
|
|
|
-
|
|
|
- if(!dic) {
|
|
|
+ paras_data_t *p=(paras_data_t*)MALLOC(sizeof(paras_data_t));
|
|
|
+
|
|
|
+ if(!p) {
|
|
|
return -1;
|
|
|
}
|
|
|
+
|
|
|
+ dictionary *dic=ini_load(path, p);
|
|
|
iniparser_freedict(dic);
|
|
|
|
|
|
return 0;
|
|
|
@@ -3270,8 +3252,8 @@ static int ini_reset(paras_handle_t *h)
|
|
|
{
|
|
|
int r;
|
|
|
FILE *fp=NULL;
|
|
|
- char tmp[200];
|
|
|
- GlobalDeviceInfo *info=&DFLT_PARAS;
|
|
|
+ char tmp[100];
|
|
|
+ paras_data_t *p=&DFLT_PARAS;
|
|
|
|
|
|
fp = fopen(h->path, "w");
|
|
|
if (fp==NULL) {
|
|
|
@@ -3280,55 +3262,36 @@ static int ini_reset(paras_handle_t *h)
|
|
|
}
|
|
|
|
|
|
fprintf(fp, "[product]\n");
|
|
|
- fprintf(fp, "id = \"%d\"\n", info->product.id);
|
|
|
- fprintf(fp, "number = \"%s\"\n", info->product.number);
|
|
|
- fprintf(fp, "name = \"%s\"\n", info->product.name);
|
|
|
- fprintf(fp, "type = \"%d\"\n", info->product.type);
|
|
|
- fprintf(fp, "pwrtype = \"%d\"\n", info->product.pwr_type);
|
|
|
- //fprintf(fp, "version = %s\\"n", info->product.version);
|
|
|
- fprintf(fp, "language = \"%d\"\n", info->product.language);
|
|
|
- fprintf(fp, "samptime = \"%d\"\n", info->product.samp_time);
|
|
|
- fprintf(fp, "savetime = \"%d\"\n", info->product.save_time);
|
|
|
- fprintf(fp, "ph_group = \"%d\"\n", info->product.ph_group);
|
|
|
- fprintf(fp, "ch_delay = \"%d\"\n", info->product.ch_delay);
|
|
|
+ fprintf(fp, "id = \"%d\"\n", p->prod.id);
|
|
|
+ fprintf(fp, "number = \"%s\"\n", p->prod.number);
|
|
|
+ fprintf(fp, "name = \"%s\"\n", p->prod.name);
|
|
|
+ fprintf(fp, "type = \"%d\"\n", p->prod.type);
|
|
|
+ fprintf(fp, "pwrtype = \"%d\"\n", p->prod.pwr_type);
|
|
|
+ //fprintf(fp, "version = %s\\"n", p->prod.version);
|
|
|
+ fprintf(fp, "language = \"%d\"\n", p->prod.language);
|
|
|
+ fprintf(fp, "samptime = \"%d\"\n", p->prod.samp_time);
|
|
|
+ fprintf(fp, "savetime = \"%d\"\n", p->prod.save_time);
|
|
|
+ fprintf(fp, "ph_group = \"%d\"\n", p->prod.ph_group);
|
|
|
+ fprintf(fp, "ch_delay = \"%d\"\n", p->prod.ch_delay);
|
|
|
fprintf(fp, "\n");
|
|
|
|
|
|
fprintf(fp, "[modbus]\n");
|
|
|
- fprintf(fp, "mode = \"%d\"\n", info->cascade.mode);
|
|
|
- fprintf(fp, "address = \"%d\"\n", info->cascade.addr);
|
|
|
- fprintf(fp, "baudrate = \"%d\"\n", info->cascade.baudrate);
|
|
|
- fprintf(fp, "\n");
|
|
|
-
|
|
|
- fprintf(fp, "[ptotal]\n");
|
|
|
- fprintf(fp, "voltage = \"%d\"\n", info->ptotal.voltage);
|
|
|
- fprintf(fp, "current = \"%d\"\n", info->ptotal.current);
|
|
|
- fprintf(fp, "power = \"%d\"\n", info->ptotal.power);
|
|
|
- fprintf(fp, "brd_max = \"%d\"\n", info->ptotal.brdMax);
|
|
|
- fprintf(fp, "\n");
|
|
|
-
|
|
|
- fprintf(fp, "[webcfg]\n");
|
|
|
- fprintf(fp, "monway = \"%d\"\n", info->webcfg.monway);
|
|
|
- fprintf(fp, "netsw = \"%d\"\n", info->webcfg.netsw);
|
|
|
- fprintf(fp, "nwire = \"%d\"\n", info->webcfg.nwire);
|
|
|
- fprintf(fp, "ipv4 = \"%d\"\n", info->webcfg.ipv4);
|
|
|
- fprintf(fp, "ipv6 = \"%d\"\n", info->webcfg.ipv6);
|
|
|
+ fprintf(fp, "mode = \"%d\"\n", p->cas.mode);
|
|
|
+ fprintf(fp, "address = \"%d\"\n", p->cas.addr);
|
|
|
+ fprintf(fp, "baudrate = \"%d\"\n", p->cas.baud);
|
|
|
fprintf(fp, "\n");
|
|
|
|
|
|
fprintf(fp, "[misc]\n");
|
|
|
- fprintf(fp, "watchdog = \"%d\"\n", info->misc.watchdog);
|
|
|
- fprintf(fp, "fliptime = \"%d\"\n", info->misc.flip_time);
|
|
|
+ fprintf(fp, "watchdog = \"%d\"\n", p->misc.watchdog);
|
|
|
+ fprintf(fp, "fliptime = \"%d\"\n", p->misc.flip_time);
|
|
|
fprintf(fp, "\n");
|
|
|
|
|
|
fclose(fp);
|
|
|
|
|
|
- sys_get_path(tmp, INI_FILE_BAK_NAME);
|
|
|
- file_copy(tmp, h->path);
|
|
|
- sys_chmod();
|
|
|
-
|
|
|
if(h->dic) {
|
|
|
iniparser_freedict(h->dic);
|
|
|
}
|
|
|
- h->dic = ini_load(h->path, h->info);
|
|
|
+ h->dic = ini_load(h->path, &h->paras);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
@@ -3341,13 +3304,13 @@ static int ini_save(paras_handle_t *h)
|
|
|
{
|
|
|
int r=-1;
|
|
|
|
|
|
- r = proc_prod(h->dic, PARAS_WRITE, &h->info->product);
|
|
|
+ r = proc_prod(h->dic, PARAS_WRITE, &h->paras.prod);
|
|
|
if(r) {
|
|
|
LOGE("___ini_w_dev failed\n");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
- r = proc_modbus(h->dic, PARAS_WRITE, &h->info->cascade);
|
|
|
+ r = proc_modbus(h->dic, PARAS_WRITE, &h->paras.cas);
|
|
|
if(r) {
|
|
|
LOGE("___ini_w_modbus failed\n");
|
|
|
return -1;
|
|
|
@@ -3365,20 +3328,122 @@ static int ini_save(paras_handle_t *h)
|
|
|
}
|
|
|
#endif
|
|
|
////////////////////////////////////////////////////////////
|
|
|
+static char *str_get(char *buf, char *tok, char *dst, int dstlen)
|
|
|
+{
|
|
|
+ int n=0;
|
|
|
+ char *t=dst,*p=strstr(buf,tok);
|
|
|
+ if(!p) {
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+ while((*p)!=':') {
|
|
|
+ if((*p)=='\r' || (*p)=='\n') {
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+ p++;
|
|
|
+ }
|
|
|
+ p++;
|
|
|
+
|
|
|
+ while((*p)!='"') {
|
|
|
+ if((*p)=='\r' || (*p)=='\n') {
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+ p++;
|
|
|
+ }
|
|
|
+ p++;
|
|
|
+
|
|
|
+ while((*p)!='"') {
|
|
|
+ if((*p)=='\r' || (*p)=='\n') {
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+
|
|
|
+ *dst++ = *p++;
|
|
|
+ n++;
|
|
|
+ if(n>=dstlen-1) {
|
|
|
+ LOGE("str_get %s, dst buf length %d is too small!\n", tok, dstlen);
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ *dst = 0;
|
|
|
+
|
|
|
+ return t;
|
|
|
+}
|
|
|
+
|
|
|
+static int get_prod(paras_data_t *info)
|
|
|
+{
|
|
|
+ int r;
|
|
|
+ char *p,*tok;
|
|
|
+ buf_t fbuf;
|
|
|
+ char path[100]={0};
|
|
|
+
|
|
|
+ r = fs_load(INF_NAME, &fbuf);
|
|
|
+ if(r) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ tok = "product_name";
|
|
|
+ p = str_get(fbuf.buf, tok, info->prod.pname, sizeof(info->prod.pname));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ tok = "product_sn";
|
|
|
+ p = str_get(fbuf.buf, tok, info->prod.pnumber, sizeof(info->prod.pnumber));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+#if 0
|
|
|
+ tok = "device_name";
|
|
|
+ p = str_get(fbuf.buf, tok, info->prod.name, sizeof(info->prod.name));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+#endif
|
|
|
+
|
|
|
+ tok = "device_no";
|
|
|
+ p = str_get(fbuf.buf, tok, info->prod.number, sizeof(info->prod.number));
|
|
|
+ if (p)
|
|
|
+ LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ tok = "device_date";
|
|
|
+ p = str_get(fbuf.buf, tok, info->prod.date, sizeof(info->prod.date));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ tok = "device_batch";
|
|
|
+ p = str_get(fbuf.buf, tok, info->prod.batch, sizeof(info->prod.batch));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ tok = "service_name";
|
|
|
+ p = str_get(fbuf.buf, tok, info->serv.name, sizeof(info->serv.name));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ tok = "service_site";
|
|
|
+ p = str_get(fbuf.buf, tok, info->serv.site, sizeof(info->serv.site));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ tok = "service_mail";
|
|
|
+ p = str_get(fbuf.buf, tok, info->serv.mail, sizeof(info->serv.mail));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ tok = "service_address";
|
|
|
+ p = str_get(fbuf.buf, tok, info->serv.addr, sizeof(info->serv.addr));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ tok = "service_telephone";
|
|
|
+ p = str_get(fbuf.buf, tok, info->serv.tele, sizeof(info->serv.tele));
|
|
|
+ if(p) LOGD("___%s:%s\n", tok, p);
|
|
|
+
|
|
|
+ FREE(fbuf.buf);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
|
|
|
int paras_init(void)
|
|
|
{
|
|
|
int r=0;
|
|
|
- GlobalDeviceManager *dm=get_dm();
|
|
|
paras_handle_t *h=¶Handle;
|
|
|
|
|
|
lock_s_hold(LOCK_ID_PARAS);
|
|
|
memset(¶Handle, 0, sizeof(paraHandle));
|
|
|
- h->info = get_info();
|
|
|
- *h->info=DFLT_PARAS;
|
|
|
- sys_get_prod(h->info);
|
|
|
- sys_get_path(h->path, INI_FILE_NAME);
|
|
|
- h->dic = ini_load(h->path, h->info);
|
|
|
+ h->paras = DFLT_PARAS;
|
|
|
+ get_prod(&h->paras);
|
|
|
+ sprintf(h->path, "/cfg/%s", INI_NAME);
|
|
|
+ h->dic = ini_load(h->path, &h->paras);
|
|
|
if(h->dic==NULL) {
|
|
|
r = ini_reset(h);
|
|
|
}
|
|
|
@@ -3420,7 +3485,7 @@ int paras_load(char *path)
|
|
|
|
|
|
lock_s_hold(LOCK_ID_PARAS);
|
|
|
ini_free(h);
|
|
|
- h->dic = ini_load(path, h->info);
|
|
|
+ h->dic = ini_load(path, &h->paras);
|
|
|
if(h->dic) r = 0;
|
|
|
lock_s_release(LOCK_ID_PARAS);
|
|
|
|
|
|
@@ -3446,7 +3511,7 @@ int paras_copy(char *dst, char *src)
|
|
|
int r=-1;
|
|
|
|
|
|
lock_s_hold(LOCK_ID_PARAS);
|
|
|
- r = file_copy(dst, src);
|
|
|
+ r = fs_copy(dst, src);
|
|
|
lock_s_release(LOCK_ID_PARAS);
|
|
|
|
|
|
return r;
|
|
|
@@ -3477,27 +3542,27 @@ int paras_serv_xport(char *path, int io)
|
|
|
l = NULL;//xlist_init(&lc);
|
|
|
|
|
|
//r *= proc_role(path, PARAS_READ, NULL, l);
|
|
|
- r *= proc_user(path, PARAS_READ, NULL, l);
|
|
|
- r *= proc_group(path, PARAS_READ, NULL);
|
|
|
- r *= proc_ntp(path, PARAS_READ, NULL);
|
|
|
- r *= proc_mqtt(path, PARAS_READ, NULL);
|
|
|
- r *= proc_mail(path, PARAS_READ, NULL);
|
|
|
- r *= proc_snmp(path, PARAS_READ, NULL);
|
|
|
+ //r *= proc_user(path, PARAS_READ, NULL, l);
|
|
|
+ //r *= proc_group(path, PARAS_READ, NULL);
|
|
|
+ //r *= proc_ntp(path, PARAS_READ, NULL);
|
|
|
+ //r *= proc_mqtt(path, PARAS_READ, NULL);
|
|
|
+ //r *= proc_mail(path, PARAS_READ, NULL);
|
|
|
+ //r *= proc_snmp(path, PARAS_READ, NULL);
|
|
|
//r *= proc_timer(path, PARAS_READ, NULL);
|
|
|
|
|
|
//xlist_free(l);
|
|
|
}
|
|
|
else if(io==PARAS_EXPORT) {
|
|
|
- get_curtime_str(temp,sizeof(temp));
|
|
|
- sprintf(path, "/tmp/service_%s.ini", temp);
|
|
|
+ //get_curtime_str(temp,sizeof(temp));
|
|
|
+ //sprintf(path, "/tmp/service_%s.ini", temp);
|
|
|
|
|
|
//r *= proc_role(path, PARAS_WRITE, NULL, NULL);
|
|
|
- r *= proc_user(path, PARAS_WRITE, NULL, NULL);
|
|
|
- r *= proc_group(path, PARAS_WRITE, NULL);
|
|
|
- r *= proc_ntp(path, PARAS_WRITE, NULL);
|
|
|
- r *= proc_mqtt(path, PARAS_WRITE, NULL);
|
|
|
- r *= proc_mail(path, PARAS_WRITE, NULL);
|
|
|
- r *= proc_snmp(path, PARAS_WRITE, NULL);
|
|
|
+ //r *= proc_user(path, PARAS_WRITE, NULL, NULL);
|
|
|
+ //r *= proc_group(path, PARAS_WRITE, NULL);
|
|
|
+ //r *= proc_ntp(path, PARAS_WRITE, NULL);
|
|
|
+ //r *= proc_mqtt(path, PARAS_WRITE, NULL);
|
|
|
+ //r *= proc_mail(path, PARAS_WRITE, NULL);
|
|
|
+ //r *= proc_snmp(path, PARAS_WRITE, NULL);
|
|
|
//r *= proc_timer(path, PARAS_WRITE, NULL);
|
|
|
}
|
|
|
|
|
|
@@ -3512,21 +3577,21 @@ int paras_alarm_xport(char *path, int io)
|
|
|
pwr3 = is_power3();
|
|
|
if(io==PARAS_IMPORT) {
|
|
|
if(pwr3) {
|
|
|
- r = proc_power3(path, PARAS_READ, NULL);
|
|
|
+ //r = proc_power3(path, PARAS_READ, NULL);
|
|
|
}
|
|
|
else {
|
|
|
- r = proc_power(path, PARAS_READ, NULL);
|
|
|
+ //r = proc_power(path, PARAS_READ, NULL);
|
|
|
}
|
|
|
}
|
|
|
else if(io==PARAS_EXPORT) {
|
|
|
- get_curtime_str(temp,sizeof(temp));
|
|
|
+ //get_curtime_str(temp,sizeof(temp));
|
|
|
sprintf(path, "/tmp/power_%s.ini", temp);
|
|
|
|
|
|
if(pwr3) {
|
|
|
- r = proc_power3(path, PARAS_WRITE, NULL);
|
|
|
+ //r = proc_power3(path, PARAS_WRITE, NULL);
|
|
|
}
|
|
|
else {
|
|
|
- r = proc_power(path, PARAS_WRITE, NULL);
|
|
|
+ //r = proc_power(path, PARAS_WRITE, NULL);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -3539,13 +3604,13 @@ int paras_sensor_xport(char *path, int io)
|
|
|
char temp[100];
|
|
|
|
|
|
if(io==PARAS_IMPORT) {
|
|
|
- r = proc_sensor(path, PARAS_READ, NULL);
|
|
|
+ //r = proc_sensor(path, PARAS_READ, NULL);
|
|
|
}
|
|
|
else if(io==PARAS_EXPORT) {
|
|
|
- get_curtime_str(temp,sizeof(temp));
|
|
|
+ //get_curtime_str(temp,sizeof(temp));
|
|
|
sprintf(path, "/tmp/sensor_%s.ini", temp);
|
|
|
|
|
|
- r = proc_sensor(path, PARAS_WRITE, NULL);
|
|
|
+ //r = proc_sensor(path, PARAS_WRITE, NULL);
|
|
|
}
|
|
|
|
|
|
return r;
|