reman3/Rayman_X/cpa/public/ITF/CPAFileO.hpp

95 lines
2.5 KiB
C++

/*=========================================================================
*
* CPAFileO.hpp - CPA_FileObject : definition
*
*
* Version 1.0
* Creation date 20.06.97
* Revision date
*
* Shaitan
*=======================================================================*/
#ifdef ACTIVE_EDITOR
#ifndef __FILE_OBJECT_HPP__
#define __FILE_OBJECT_HPP__
/****************************************/
#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 "Lst.hpp"
#include "itf\CPABaseO.hpp"
#include "itf\CPAHieEd.hpp"
class CPA_EditorBase;
#define C_szFileTypeName "FileObject"
typedef struct _tdstKeyName
{
CString m_csKey;
CString m_csName;
CString m_csCompletionName;
}
tdstKeyName;
typedef struct _tdstDllKeyList
{
CPA_EditorBase *m_pEditor;
CList<tdstKeyName*, tdstKeyName*> m_oKeyList;
}
tdstDllKeyList;
/*===========================================================================
* Description: Class CPA_FileObject
* Creation date:
* Author: Shaitan
*
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
class CPA_EXPORT CPA_FileObject : public CPA_BaseObject
{
/*only this function may call the constructor of a file object...*/
friend CPA_FileObject *CPA_HierarchyEditor::GetFileObject(CString csFileName);
private:
CList<tdstDllKeyList*,tdstDllKeyList*> m_oDllKeyList;
/*constructor is private to make sure the only way to get one is though the hierarchy*/
CPA_FileObject (CPA_EditorBase *pEditor, const CString csFileName);
public:
~CPA_FileObject (void);
long GetDataType (void) { return 0; }
void * GetData (void) { return NULL; }
CString GetReferencedName (CPA_EditorBase *pEditor, const CString csKey);
char *GetCompletionPath(CPA_EditorBase *pEditor, const CString csKey);
CString GetCompleteName (void);
CString GetNameToDraw (void) { return GetCompleteName(); }
BOOL fn_bSetReferencedName (CPA_EditorBase *pEditor, const CString csKey, const CString csName);
static void sm_vUniformizeSlashes(CString &r_csPath);
protected:
tdstDllKeyList * GetDllKeyList (CPA_EditorBase *pEditor);
tdstKeyName * GetKeyName (tdstDllKeyList *p_stList, const CString csKey);
};
#endif /* __FILE_OBJECT_HPP__*/
#endif /* ACTIVE_EDITOR*/