init_param.h 2.2 KB
Newer Older
Z
zhong_ning 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/*
 * Copyright (c) 2020 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef BASE_STARTUP_INIT_PARAM_H
#define BASE_STARTUP_INIT_PARAM_H
S
sun_fan 已提交
18
#include <stdint.h>
Z
zhong_ning 已提交
19 20
#include <stdio.h>

S
sun_fan 已提交
21 22
#include "cJSON.h"
#include "param.h"
Z
zhong_ning 已提交
23 24 25 26 27 28 29 30 31 32
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif
/**
 * Init 接口
 * 初始化参数服务
 *
 */
S
sun_fan 已提交
33
void InitParamService(void);
Z
zhong_ning 已提交
34 35 36 37 38 39

/**
 * Init 接口
 * 启动参数服务,在main启动的最后调用,阻赛当前线程
 *
 */
S
sun_fan 已提交
40
int StartParamService(void);
Z
zhong_ning 已提交
41 42 43 44 45 46

/**
 * Init 接口
 * 停止参数服务
 *
 */
S
sun_fan 已提交
47
void StopParamService(void);
Z
zhong_ning 已提交
48 49 50 51 52 53

/**
 * Init 接口
 * 加载默认的参数值
 *
 */
4
411148299@qq.com 已提交
54
int LoadDefaultParams(const char *fileName, unsigned int mode);
Z
zhong_ning 已提交
55 56 57 58 59 60

/**
 * Init 接口
 * 加载默认参数。
 *
 */
S
sun_fan 已提交
61
int LoadPersistParams(void);
Z
zhong_ning 已提交
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81

/**
 * Init 接口
 * 设置参数,主要用于其他进程使用,通过管道修改参数
 *
 */
int SystemWriteParam(const char *name, const char *value);

/**
 * Init 接口
 * 查询参数。
 *
 */
int SystemReadParam(const char *name, char *value, unsigned int *len);

/**
 * 对Init接口
 * 触发一个trigger操作。
 *
 */
S
sun_fan 已提交
82
void PostTrigger(EventType type, const char *content, uint32_t contentLen);
Z
zhong_ning 已提交
83 84 85 86 87 88

/**
 * 对Init接口
 * 解析trigger文件。
 *
 */
S
sun_fan 已提交
89
int ParseTriggerConfig(const cJSON *fileRoot);
Z
zhong_ning 已提交
90 91 92 93 94 95

/**
 * 对Init接口
 * 按名字执行对应的trigger。
 *
 */
S
sun_fan 已提交
96
void DoTriggerExec(const char *triggerName);
Z
zhong_ning 已提交
97 98 99 100 101 102 103 104 105 106 107 108 109 110

/**
 * 对Init接口
 * 按名字执行对应的trigger。
 *
 */
int SystemTraversalParam(void (*traversalParameter)(ParamHandle handle, void* cookie), void* cookie);

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
#endif