📄 mediinterface.cpp
字号:
//中介接口,规范化本系统的内部调用与实现
//2002.05.08--------------Start and End.
#include "stdafx.h"
#include "AVInfoKernel.h"
#include "AVInfoAPIExtension.h"
HMODULE g_hExtensionModule = NULL;
LPInitInfoExtension g_fpInitInfoExtension = NULL;
LPExitInfoExtension g_fpExitInfoExtension = NULL;
LPSetPropData g_fpSetPropData = NULL;
LPSetPropDataAuto g_fpSetPropDataAuto = NULL;
LPCopyPropData g_fpCopyPropData = NULL;
LPCopyEvent g_fpCopyEvent = NULL;
LPGetPropData g_fpGetPropData = NULL;
LPRemovePropData g_fpRemovePropData = NULL;
LPDeletePropData g_fpDeletePropData = NULL;
LPOpenModel g_fpOpenModel = NULL;
LPSetModel g_fpSetModel = NULL;
LPCopyModel g_fpCopyModel = NULL;
LPSaveModel g_fpSaveModel = NULL;
LPCloseModel g_fpCloseModel = NULL;
#ifdef __cplusplus
extern "C"{
#endif
//初始化信息扩展模块中介接口
AV_EXPORT USHORT AVInitInfoExtensionInternal()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(g_fpInitInfoExtension) g_fpInitInfoExtension();
else ::AVWriteLog(_T("[AVInfoKernel]: 二次模块装载失败,无法进行建模工作!"));
theApp.Init();
return AV_NO_ERR;
}
//退出信息扩展模块中介接口
AV_EXPORT USHORT AVExitInfoExtensionInternal()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(g_fpExitInfoExtension) g_fpExitInfoExtension();
theApp.Exit();
return AV_NO_ERR;
}
//属性数据设置中介接口
AV_EXPORT USHORT AVSetPropData(AV_KEY_INFO* tagKey,int nType,char* szDesc,AV_KEY_INFO* refKey,int nRefKeySum)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(nType == -1) return AVERR_UNKNOWN;
if(g_fpSetPropData)
return g_fpSetPropData(tagKey,nType,szDesc,refKey,nRefKeySum);
return AVERR_UNKNOWN;
}
//自动属性数据设置中介接口
AV_EXPORT USHORT AVSetPropDataAuto(AV_KEY_INFO* tagKey,int nType,char* szDesc,AV_KEY_INFO* refKey,int nRefKeySum)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(nType == -1) return AVERR_UNKNOWN;
if(g_fpSetPropDataAuto)
return g_fpSetPropDataAuto(tagKey,nType,szDesc,refKey,nRefKeySum);
return AVERR_UNKNOWN;
}
//属性数据拷贝中介接口
AV_EXPORT USHORT AVCopyPropData(AV_KEY_INFO* tagKey,int nType,char* szDesc,AV_KEY_INFO* refKey,int nRefKeySum)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(nType == -1) return AVERR_UNKNOWN;
if(g_fpCopyPropData)
return g_fpCopyPropData(tagKey,nType,szDesc,refKey,nRefKeySum);
return AVERR_UNKNOWN;
}
//属性数据拷贝触发事件
AV_EXPORT USHORT AVCopyEvent(int nFlag)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(g_fpCopyEvent)
return g_fpCopyEvent(nFlag);
return AVERR_UNKNOWN;
}
//属性数据获取中介接口
AV_EXPORT USHORT AVGetPropData(AV_KEY_INFO* tagKey,int nType,char* szDesc,AV_KEY_INFO* refKey,int nRefKeySum)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(nType == -1) return AVERR_UNKNOWN;
if(g_fpGetPropData)
return g_fpGetPropData(tagKey,nType,szDesc,refKey,nRefKeySum);
return AVERR_UNKNOWN;
}
//属性数据删除中介接口
AV_EXPORT USHORT AVRemovePropData(AV_KEY_INFO* tagKey,int nType)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(nType == -1) return AVERR_UNKNOWN;
if(g_fpRemovePropData)
return g_fpRemovePropData(tagKey,nType);
return AVERR_UNKNOWN;
}
//删除对象询问属性数据库操作模块是否删除属性数据库记录
AV_EXPORT USHORT AVDeletePropData(AV_KEY_INFO* tagKeyArray,int* nTypeArray,int nCount)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(g_fpDeletePropData)
return g_fpDeletePropData(tagKeyArray,nTypeArray,nCount);
return AVERR_UNKNOWN;
}
//打开模型中介接口
AV_EXPORT USHORT AVOpenModel(char* chModelName,BOOL bEdit)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(bEdit)
{
::AVRegWriteString("AVInfo","ModelName_Edit",chModelName);
if(g_fpOpenModel) g_fpOpenModel(chModelName);
}
else ::AVRegWriteString("AVInfo","ModelName_Run",chModelName);
return AV_NO_ERR;
}
//切换模型中介接口
AV_EXPORT USHORT AVSetModel(char* chModelName,BOOL bEdit)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(strlen(chModelName) == 0) return AV_NO_ERR;
if(theApp.m_strModelName.CompareNoCase(chModelName) == 0) return AV_NO_ERR;
theApp.m_strModelName = chModelName;
if(bEdit)
{
::AVRegWriteString("AVInfo","ModelName_Edit",chModelName);
if(g_fpSetModel) g_fpSetModel(chModelName);
}
else ::AVRegWriteString("AVInfo","ModelName_Run",chModelName);
return AV_NO_ERR;
}
//拷贝模型中介接口
AV_EXPORT USHORT AVCopyModel(char* chModelNameTarget,char* chModelNameSource)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(strlen(chModelNameTarget) == 0 || strlen(chModelNameSource) == 0) return AV_NO_ERR;
if(g_fpCopyModel)
return g_fpCopyModel(chModelNameTarget,chModelNameSource);
return AV_NO_ERR;
}
//保存模型中介接口
AV_EXPORT USHORT AVSaveModel(char* chModelName)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(strlen(chModelName) == 0) return AV_NO_ERR;
if(g_fpSaveModel)
return g_fpSaveModel(chModelName);
return AV_NO_ERR;
}
//关闭模型中介接口
AV_EXPORT USHORT AVCloseModel(char* chModelName)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if(strlen(chModelName) == 0) return AV_NO_ERR;
if(theApp.m_strModelName.CompareNoCase(chModelName) == 0)
theApp.m_strModelName.Empty();
if(g_fpCloseModel)
return g_fpCloseModel(chModelName);
return AV_NO_ERR;
}
#ifdef __cplusplus
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -