#ifndef __CPA_CAMSLOTS_HPP__ #define __CPA_CAMSLOTS_HPP__ #include #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 /****************************************/ typedef enum {MakeACopy = 0,DontMakeACopy} tdeMakeCopy; /*Stefan Dumitrean 1-07-98 ( slots )*/ typedef struct { CString csEditorBaseName; CString csSelectedInstanceName; }tdstExtraSlotInfo; /*End Stefan Dumitrean 1-07-98 ( slots )*/ class CPA_BaseObject; class CPA_CameraDLLBase; class CPA_EXPORT CPA_CameraSlots { private: typedef struct { CPA_BaseObject *p_oCamera; CString csName; BOOL bReserved; BOOL bActive; /*Stefan Dumitrean 1-07-98 ( slots )*/ tdstExtraSlotInfo stExtraInfo; /*End Stefan Dumitrean 1-07-98 ( slots )*/ } tdstSlot; CArray m_oCameraSlots; CPA_CameraDLLBase *m_p_oInterface; long m_lPrevCamSlotNum; /*Stefan Dumitrean 22-06-98 ( slots )*/ long m_lCurrentSlot; long m_lSpecialSlotForModeChange; /*End Stefan Dumitrean 22-06-98 ( slots )*/ public: CPA_CameraSlots(void); ~CPA_CameraSlots(void); /*Stefan Dumitrean 24-06-98 ( slots )*/ long SaveCameraInSlot(long lNum,CString csName,CPA_BaseObject *p_oCamera,tdeMakeCopy eCopy = MakeACopy); /*End Stefan Dumitrean 24-06-98 ( slots )*/ CPA_BaseObject *GetCameraFromSlot(long lNum,tdeMakeCopy eCopy = MakeACopy); /*CPA2 Corneliu Babiuc 05-05-98*/ /*function to get the number of alocated slots*/ long GetTotalSlotsNumber () {return m_oCameraSlots.GetSize();} /*function to get slot number from name of the slot*/ long GetSlotNumber(CString csSlotName); /*function to get slot name from its number*/ CString GetSlotName(long lSlotNum) {ASSERT(lSlotNum