dmpserverconfig.cpp 2.5 KB
/**************************************************************************
* file:              dmpserverconfig.cpp

* Author:            wanzhongping
* Date:              2021-12-16 16:55:51
* Email:             zhongpingw@chinadci.com
* copyright:         广州城市信息研究所有限公司
***************************************************************************/

#include <iostream>
#include "dmpserverconfig.h"
#include "dmpapplication.h"
#include "dmphttputils.h"
DmpServerConfig::DmpServerConfig()
{
    std::string iniFile = DmpApplication::Instance()->libexecPath() + iniFileName_;
    if (boost::filesystem::exists(iniFile))
    {
        boost::property_tree::ini_parser::read_ini(iniFile, ptIni_);
    }
    else
    {
        ptIni_.put<std::string>("MetaData.pgsqlConnect", "\"hostaddr=localhost port=5432 dbname='dmap_dms' user='postgres' password='chinadci'\"");
        ptIni_.put<std::string>("MetaData.metaUrl", "http://ip:port");
        boost::property_tree::ini_parser::write_ini(iniFile, ptIni_);
    }
}

DmpServerConfig::~DmpServerConfig()
{
}

DmpServerConfig *DmpServerConfig::Instance()
{
    static DmpServerConfig instance;
    return &instance;
}

std::string DmpServerConfig::getPqsqlConnect()
{
    std::string conn = "";
    try
    {
        boost::property_tree::ptree ptMeta;
        ptMeta = ptIni_.get_child("MetaData");
        conn = ptMeta.get<std::string>("pgsqlConnect");
    }
    catch (std::exception &e)
    {
        std::cerr << "Exception: " << e.what() << "\n";
    }
    return conn;
}

std::string DmpServerConfig::getMetaUrl()
{
    std::string url = "";
    try
    {
        boost::property_tree::ptree ptMeta;
        ptMeta = ptIni_.get_child("MetaData");
        url = ptMeta.get<std::string>("metaUrl");
    }
    catch (std::exception &e)
    {
        std::cerr << "Exception: " << e.what() << "\n";
    }
    return url;
}

std::string DmpServerConfig::getValue(const std::string &section,const std::string &key)
{
    std::string value = "";
    try
    {
        boost::property_tree::ptree ptMeta;
        ptMeta = ptIni_.get_child(section);
        value = ptMeta.get<std::string>(key);
    }
    catch (std::exception &e)
    {
        std::cerr << "Exception: " << e.what() << "\n";
    }
    return value;
}

std::string DmpServerConfig::HttpPost(const std::string& url, std::string& postData)
{
    return DmpHttp::post(url, postData);
}

std::string DmpServerConfig::HttpGet(const std::string& url)
{
    return DmpHttp::get(url);
}