www.pudn.com > zfxcengine-0.1.0.zip > ceResource.cpp
// $Id: ceResource.cpp,v 1.11 2005/07/24 16:22:38 kimmi Exp $
/////////////////////////////////////////////////////////////////
//
// Module: Core
// File: ceResource.cpp
// Created: 04.09.2004
// Author: Kim Kulling aka kimmi
//
/////////////////////////////////////////////////////////////////
#include "Core/ceResource.h"
#include "Core/ceExceptions.h"
#include "VFSystem/ceFile.h"
#include "Core/ceMemManager.h"
#include "Core/ceTFreeList.h"
namespace ZFXCE {
////////////////////////////////////////////////////////////////////////////////
using namespace std;
////////////////////////////////////////////////////////////////////////////////
ceResource::ceResource()
{
Init();
}
////////////////////////////////////////////////////////////////////////////////
void ceResource::Init()
{
m_uiLocked = 0;
m_ID = 0;
m_Priority = CE_RES_MED_PRIO;
m_pFile = NULL;
m_bIsLoaded = false;
m_pResTypeName = NULL;
m_pScratchFile = NULL;
m_pResMgr = NULL;
}
////////////////////////////////////////////////////////////////////////////////
void ceResource::Release()
{
m_stResName.clear();
}
////////////////////////////////////////////////////////////////////////////////
void ceResource::Clear()
{
Release();
Init();
}
////////////////////////////////////////////////////////////////////////////////
void ceResource::SetPriority(cePriorityType Prio)
{
m_Priority = Prio;
}
////////////////////////////////////////////////////////////////////////////////
cePriorityType ceResource::GetPriority() const
{
return m_Priority;
}
////////////////////////////////////////////////////////////////////////////////
void ceResource::SetResName(const string &strName)
{
if (0 == strName.size()) {
CE_EXCEPTION("Invalid resource name!", CELS_ERROR);
}
m_stResName = strName;
}
////////////////////////////////////////////////////////////////////////////////
string ceResource::GetResName() const
{
return m_stResName;
}
////////////////////////////////////////////////////////////////////////////////
void ceResource::SetFile(ceFile *pFile)
{
ce_assert (NULL != pFile);
m_pFile = pFile;
}
////////////////////////////////////////////////////////////////////////////////
ceFile *ceResource::GetFile() const
{
return m_pFile;
}
////////////////////////////////////////////////////////////////////////////////
inline ceResTypeID ceResource::GetResTypeID() const
{
return m_ResID;
}
////////////////////////////////////////////////////////////////////////////////
void ceResource::SetResTypeID(const ceResTypeID ResID)
{
m_ResID = ResID;
}
////////////////////////////////////////////////////////////////////////////////
void ceResource::SetScratchFile(ceScratchFile *pScratchFile)
{
ce_assert (NULL != pScratchFile);
m_pScratchFile = pScratchFile;
}
////////////////////////////////////////////////////////////////////////////////
ceScratchFile *ceResource::GetScratchFile() const
{
return m_pScratchFile;
}
////////////////////////////////////////////////////////////////////////////////
ceResource::~ceResource()
{
Release();
}
////////////////////////////////////////////////////////////////////////////////
} // Namespace ZFXCE