Commit 756d10aa by xiongziliang

支持导出默认配置文件

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