Commit 756d10aa by xiongziliang

支持导出默认配置文件

parent c72dd5b4
......@@ -54,7 +54,7 @@ typedef struct {
// 配置文件是内容还是路径
int ini_is_path;
// 配置文件内容或路径,可以为NULL
// 配置文件内容或路径,可以为NULL,如果该文件不存在,那么将导出默认配置至该文件
const char *ini;
// ssl证书是内容还是路径
......@@ -78,20 +78,20 @@ API_EXPORT void API_CALL mk_stop_all_server();
/**
* 基础类型参数版本的mk_env_init,为了方便其他语言调用
* @param thread_num 线程数
* @param log_level 日志级别,支持0~4
* @param ini_is_path 配置文件是内容还是路径
* @param ini 配置文件内容或路径,可以为NULL,如果该文件不存在,那么将导出默认配置至该文件
* @param ssl_is_path ssl证书是内容还是路径
* @param ssl ssl证书内容或路径,可以为NULL
* @param ssl_pwd 证书密码,可以为NULL
*/
API_EXPORT void API_CALL mk_env_init1( // 线程数
int thread_num,
// 日志级别,支持0~4
API_EXPORT void API_CALL mk_env_init1( int thread_num,
int log_level,
// 配置文件是内容还是路径
int ini_is_path,
// 配置文件内容或路径,可以为NULL
const char *ini,
// ssl证书是内容还是路径
int ssl_is_path,
// ssl证书内容或路径,可以为NULL
const char *ssl,
// 证书密码,可以为NULL
const char *ssl_pwd);
/**
......
......@@ -88,7 +88,12 @@ API_EXPORT void API_CALL mk_env_init1( int thread_num,
if (ini && ini[0]) {
//设置配置文件
if (ini_is_path) {
mINI::Instance().parseFile(ini);
try{
mINI::Instance().parseFile(ini);
}catch (std::exception &ex) {
InfoL << "dump ini file to:" << ini;
mINI::Instance().dumpFile(ini);
}
} else {
mINI::Instance().parse(ini);
}
......
......@@ -25,14 +25,17 @@
*/
#include <csignal>
#include <string>
#include "mediakit.h"
#ifdef _WIN32
#include "windows.h"
#else
#include "unistd.h"
#endif
using namespace std;
int main(int argc,char *argv[]){
mk_env_init1(0,0,0, nullptr,0, nullptr, nullptr);
mk_env_init1(0,0,1, (string(argv[0]) + ".ini").data(),0, nullptr, nullptr);
mk_http_server_start(80,false);
mk_rtsp_server_start(554,false);
mk_rtmp_server_start(1935,false);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论