DPS/include/DBPlatformNew.h

141 lines
4.3 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include <iostream>
#include "CommonDataPublic.h"
using namespace std;
namespace DBPlatformSpace
{
class DBPService;
class DBPSession;
class MetaDataManager;
class InstanceDataManager;
class LogManager;
#define M_DPS_VERSION 3
///数据平台初始化类
class DBPlatformNew
{
private:
static DBPService* _spCurrService;
static string _sReleaseVersion; ///<(数据平台内部用) 发布版本信息 [5/9/2022 wwu]
public:
static MetaDataManager* _spCurrDBPConfigMDM; ///<(数据平台内部用)
static InstanceDataManager* _spCurrDBPConfigIDM; ///<(数据平台内部用)
static InstanceDataManager* _spCurrDBPProjectManageIDM; ///<(数据平台内部用)
static InstanceDataManager* _spCurrWorkDBIDM; ///<(数据平台内部用)
static string _sPlatformStatus; ///< 平台状态,返回接口执行结果。
static string _sDefaultProjectTopFolder; ///<(数据平台内部用)
static string _sXMLTemplatePath; ///<(数据平台内部用)// [5/9/2024 wwu]
public:
ODI DBPlatformNew();
ODI ~DBPlatformNew();
///以元模型数据文件路径初始化 // [5/3/2022 wwu]
ODI DBPlatformNew(string dbConfigDBPath);
void DBPlatformNew_initial();
///设置当前工作db文件
/**
* @param [in] dbPath db文件的完整路径
*@param [in] isAutoUpgrade 设置工作文件的时候是否自动升级0不自动1自动。默认自动1。
* @return 执行状态,状态码+返回信息字符串
*/
static ODI ResultMsg setCurrentWorkDB(string dbPath,int isAutoUpgrade= 1);
static ODI InstanceDataManager* getCurrentWorkDBIDM();
static ODI string getCurrentWorkDB();
//// [9/1/2023 wwu]
//static ODI ResultMsg getCurrentWorkDBInfo(string &metaProjectGUID, string &metaProjectID, string &metaModelID);
///设置项目文件夹默认存储总路径
/**
* @param [in] folderPath 默认目录完整路径
* @return 执行状态,状态码+返回信息字符串
*/
static ODI ResultMsg setDefaultProjectTopFolder(string folderPath);
///获取项目文件夹默认存储总路径
/**
* @return 路径字符串
*/
static ODI string getDefaultProjectTopFolder();
///批量提交更新命令(待细化)
/**
* @return 执行状态,状态码+返回信息字符串
*/
static ODI ResultMsg updateCommit();
///获取当前数据平台版本信息
static ODI string getReleaseVersion();
///(数据平台内部用)
static ResultMsg createNewDBP(string modelName, string dbFileName, string location, string desc,int modelType = 0);
static ODI LogManager* LOGGER();
///设置当前元数据db文件*.dbp
/**
* @param [in] dbPath db文件的完整路径
* @return 执行状态,状态码+返回信息字符串
*/
static ODI ResultMsg setCurrDBPConfigDB(string dbPath);
static ODI InstanceDataManager* getCurrDBPConfigIDM();
static ODI MetaDataManager* getCurrDBPConfigMDM();
static ODI string getCurrentDBPConfigDB();// [8/31/2023 wwu]
static ODI string getCurrPlatformStatus(); // [5/3/2022 wwu]
static ODI DBPService* getCurrService();// [9/4/2023 wwu]
//---------------------------------------------------
//[5/9/2024 wwu] XML文件存取相关
///设置XML输入输出格式模板路径
/**
* @param [in] xtfilePath XML格式模板文件的完整路径
* @return 执行状态,状态码+返回信息字符串
*/
static ODI ResultMsg setXMLTemplatePath(string xtfilePath);
///获取XML输入输出格式模板路径
/**
* @return XML格式模板文件的完整路径
*/
static ODI string getXMLTemplatePath();
///检测工作数据库的版本(*.ccsp/*.dbp// [4/23/2024 wwu]
/**
* @param [in] dbPath dbp文件的完整路径
* @param [out] versionType dbp文件的版本与组件数据结构版本的比较情况
* @return 执行状态,状态码+返回信息字符串
*/
#define WORKDB_VERSION_H 1 //workDB文件的版本高于当前组件数据结构版本
#define WORKDB_VERSION_M 2 //workDB文件的版本等于当前组件数据结构版本
#define WORKDB_VERSION_L 3 //workDB文件的版本低于当前组件数据结构版本
static ODI ResultMsg CheckWorkDBVersionType(string dbPath, int & versionType);
};
}