/*=========================================================================*/ /* 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 #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 m_oListOfDLLIdentities; CList m_oListOfMultiDevices; unsigned short m_uwCurrentRef; long m_lObjectDLLCount; long m_lToolDLLCount; void LoadAllDLLsFromList(CList *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__*/