128 lines
3.6 KiB
C++
128 lines
3.6 KiB
C++
/*=========================================================================*/
|
|
/* CPADLLls.hpp : interface of the CPA_DLLList class and to the*/
|
|
/**/
|
|
/* This is a part of the CPA project.*/
|
|
/**/
|
|
/* Version 1.0*/
|
|
/* Creation date 10/06/96*/
|
|
/* Revision date*/
|
|
/**/
|
|
/* (c) Ubi Studio 1996*/
|
|
/**/
|
|
/* DO NOT MODIFY THAT FILE. IF SOMETHING NEEDS TO BE CHANGE, PLEASE CONTACT*/
|
|
/* VINCENT GRECO OR CHRISTOPHE BEAUDET.*/
|
|
/*=========================================================================*/
|
|
|
|
#ifndef __CPADLLLS_HPP__
|
|
#define __CPADLLLS_HPP__
|
|
|
|
#ifdef ACTIVE_EDITOR
|
|
|
|
/****************************************/
|
|
#ifndef CPA_EXPORT
|
|
#if defined(CPA_WANTS_IMPORT)
|
|
#define CPA_EXPORT __declspec(dllimport)
|
|
#elif defined(CPA_WANTS_EXPORT)
|
|
#define CPA_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define CPA_EXPORT
|
|
#endif
|
|
#endif
|
|
/****************************************/
|
|
|
|
#include "geo.h"
|
|
#include "gli.h"
|
|
#include <afxtempl.h>
|
|
#include "CPADllb.hpp"
|
|
#include "DEVMulti.hpp"
|
|
|
|
/*=========================================================================*/
|
|
/* The list of all editors*/
|
|
/*=========================================================================*/
|
|
class CPA_EXPORT CPA_DLLList
|
|
{
|
|
|
|
|
|
private:
|
|
|
|
/* structure for loading DLL*/
|
|
typedef struct
|
|
{
|
|
CString csPath;
|
|
WIN32_FIND_DATA *p_stFileInfo;
|
|
BOOL bAlreadyLoaded;
|
|
} tdstDLLFiles;
|
|
|
|
|
|
CList<tdstDLLIdentity*,tdstDLLIdentity*> m_oListOfDLLIdentities;
|
|
CList<DEV_MultiDevice*,DEV_MultiDevice*> m_oListOfMultiDevices;
|
|
|
|
|
|
unsigned short m_uwCurrentRef;
|
|
long m_lObjectDLLCount;
|
|
long m_lToolDLLCount;
|
|
|
|
void LoadAllDLLsFromList(CList<tdstDLLFiles*,tdstDLLFiles*> *p_oListOfDLLFiles);
|
|
|
|
public:
|
|
CPA_DLLList();
|
|
~CPA_DLLList();
|
|
|
|
long GetDLLCount() {return (m_lObjectDLLCount + m_lToolDLLCount); }
|
|
void LoadAllDLL();
|
|
void DestroyADLL(CPA_DLLBase *p_oDLL);
|
|
|
|
void AddADLL(tdstDLLIdentity *p_stDLLIdentity);
|
|
CPA_DLLBase *GetANewDLL(tdeDLLType eType,CString csName, long lKey);
|
|
long GetAllNewDLL(tdeDLLType eType,CPA_DLLBase *ap_oDLL[], long lKey);
|
|
|
|
public:
|
|
tdstDLLIdentity *GetAllreadyRegisteredDLLId(tdstDLLIdentity *p_stDLLIdentity);
|
|
|
|
void CallRefreshDatas();
|
|
|
|
BOOL CallAcceptToRunEngine();
|
|
BOOL CallAcceptToExit();
|
|
void CallBeforeEngine();
|
|
void CallBeforeEditor();
|
|
void CallJustBeforeClosing();
|
|
void CallConstruct();
|
|
void CallJustAfterRegistered();
|
|
BOOL CallPreTranslateMessage(MSG *p_stMsg);
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------*/
|
|
/* Objects DLL specific functions*/
|
|
public:
|
|
long GetObjectDLLCount() {return m_lObjectDLLCount; }
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------*/
|
|
/* Tools DLL specific functions*/
|
|
public:
|
|
long GetToolDLLCount() {return m_lToolDLLCount; }
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------*/
|
|
/* MultiDevice specific functions*/
|
|
public:
|
|
|
|
long GetMultiDeviceCount() {return m_oListOfMultiDevices.GetCount();}
|
|
void RegisterNewMultiDevice(DEV_MultiDevice* p_oMultiDevice);
|
|
void RemoveAMultiDevice(DEV_MultiDevice *p_oMD);
|
|
|
|
};
|
|
|
|
/*///////////////////////////////////////////////////////////////////////////*/
|
|
|
|
#endif /* ACTIVE_EDITOR*/
|
|
#endif /* __CPADLLLS_HPP__*/
|