⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mediinterface.cpp

📁 一个通过矩阵运算得到图形连接关系的动态连接库
💻 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 + -