DPS/include/DBPlatformNew.h

141 lines
3.9 KiB
C
Raw Normal View History

2025-06-23 10:41:33 +08:00
#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
///<2F><><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
class DBPlatformNew
{
private:
static DBPService* _spCurrService;
static string _sReleaseVersion; ///<(<28><><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE>Ϣ [5/9/2022 wwu]
public:
static MetaDataManager* _spCurrDBPConfigMDM; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD>
static InstanceDataManager* _spCurrDBPConfigIDM; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD>
static InstanceDataManager* _spCurrDBPProjectManageIDM; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD>
static InstanceDataManager* _spCurrWorkDBIDM; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD>
static string _sPlatformStatus; ///< ƽ̨״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ؽӿ<D8BD>ִ<EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>
static string _sDefaultProjectTopFolder; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD>
static string _sXMLTemplatePath; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD>// [5/9/2024 wwu]
public:
ODI DBPlatformNew();
ODI ~DBPlatformNew();
///<2F><>Ԫģ<D4AA><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC> // [5/3/2022 wwu]
ODI DBPlatformNew(string dbConfigDBPath);
void DBPlatformNew_initial();
///<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>db<64>ļ<EFBFBD>
/**
* @param [in] dbPath db<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
*@param [in] isAutoUpgrade <EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϣ<EFBFBD><EFBFBD>Զ<EFBFBD>1<EFBFBD><EFBFBD>
* @return ִ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
*/
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);
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ĭ<EFBFBD>ϴ洢<CFB4><E6B4A2>·<EFBFBD><C2B7>
/**
* @param [in] folderPath Ĭ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
* @return ִ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
*/
static ODI ResultMsg setDefaultProjectTopFolder(string folderPath);
///<2F><>ȡ<EFBFBD><C8A1>Ŀ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ĭ<EFBFBD>ϴ洢<CFB4><E6B4A2>·<EFBFBD><C2B7>
/**
* @return ·<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
*/
static ODI string getDefaultProjectTopFolder();
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1BDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3A8>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>
/**
* @return ִ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
*/
static ODI ResultMsg updateCommit();
///<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ƽ̨<C6BD><EFBFBD><E6B1BE>Ϣ
static ODI string getReleaseVersion();
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD>
static ResultMsg createNewDBP(string modelName, string dbFileName, string location, string desc,int modelType = 0);
static ODI LogManager* LOGGER();
///<2F><><EFBFBD>õ<EFBFBD>ǰԪ<C7B0><D4AA><EFBFBD><EFBFBD>db<64>ļ<EFBFBD><C4BC><EFBFBD>*.dbp<62><70>
/**
* @param [in] dbPath db<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
* @return ִ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
*/
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<4D>ļ<EFBFBD><C4BC><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
///<2F><><EFBFBD><EFBFBD>XML<4D><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽģ<CABD><C4A3>·<EFBFBD><C2B7>
/**
* @param [in] xtfilePath XML<EFBFBD><EFBFBD>ʽģ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
* @return ִ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
*/
static ODI ResultMsg setXMLTemplatePath(string xtfilePath);
///<2F><>ȡXML<4D><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽģ<CABD><C4A3>·<EFBFBD><C2B7>
/**
* @return XML<EFBFBD><EFBFBD>ʽģ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
*/
static ODI string getXMLTemplatePath();
///<2F><><EFBFBD><EFBFBD><E2B9A4><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>İ汾<C4B0><E6B1BE>*.ccsp/*.dbp<62><70>// [4/23/2024 wwu]
/**
* @param [in] dbPath dbp<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
* @param [out] versionType dbp<EFBFBD>ļ<EFBFBD><EFBFBD>İ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>ıȽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return ִ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
*/
#define WORKDB_VERSION_H 1 //workDB<44>ļ<EFBFBD><C4BC>İ汾<C4B0><E6B1BE><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD>
#define WORKDB_VERSION_M 2 //workDB<44>ļ<EFBFBD><C4BC>İ汾<C4B0><E6B1BE><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD>
#define WORKDB_VERSION_L 3 //workDB<44>ļ<EFBFBD><C4BC>İ汾<C4B0><E6B1BE><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD>
static ODI ResultMsg CheckWorkDBVersionType(string dbPath, int & versionType);
};
}