/**
* \file class_data.cpp
* \brief CClassData
* \date 2012-08-18 19:24GMT
* \author Jan Boon (Kaetemi)
* CClassData
*/
/*
* Copyright (C) 2012 by authors
*
* This file is part of RYZOM CORE PIPELINE.
* RYZOM CORE PIPELINE is free software: you can redistribute it
* and/or modify it under the terms of the GNU Affero General Public
* License as published by the Free Software Foundation, either
* version 3 of the License, or (at your option) any later version.
*
* RYZOM CORE PIPELINE is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with RYZOM CORE PIPELINE. If not, see
* .
*/
#include
#include "class_data.h"
// STL includes
// NeL includes
// #include
// Project includes
using namespace std;
// using namespace NLMISC;
namespace PIPELINE {
namespace MAX {
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
CClassData::CClassData()
{
}
CClassData::~CClassData()
{
}
std::string CClassData::className() const
{
return "ClassData";
}
void CClassData::toString(std::ostream &ostream, const std::string &pad) const
{
CStorageContainer::toString(ostream, pad);
}
void CClassData::parse(uint16 version, uint filter)
{
CStorageContainer::parse(version);
}
void CClassData::clean()
{
CStorageContainer::clean();
}
void CClassData::build(uint16 version, uint filter)
{
CStorageContainer::build(version);
}
void CClassData::disown()
{
CStorageContainer::disown();
}
IStorageObject *CClassData::createChunkById(uint16 id, bool container)
{
if (container)
{
switch (id)
{
case 0x2100: // ClassDataEntry
return new CClassDataEntry();
}
}
return CStorageContainer::createChunkById(id, container);
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
CClassDataEntry::CClassDataEntry()
{
}
CClassDataEntry::~CClassDataEntry()
{
}
std::string CClassDataEntry::className() const
{
return "ClassDataEntry";
}
void CClassDataEntry::toString(std::ostream &ostream, const std::string &pad) const
{
CStorageContainer::toString(ostream, pad);
}
void CClassDataEntry::parse(uint16 version, uint filter)
{
CStorageContainer::parse(version);
}
void CClassDataEntry::clean()
{
CStorageContainer::clean();
}
void CClassDataEntry::build(uint16 version, uint filter)
{
CStorageContainer::build(version);
}
void CClassDataEntry::disown()
{
CStorageContainer::disown();
}
IStorageObject *CClassDataEntry::createChunkById(uint16 id, bool container)
{
if (!container)
{
switch (id)
{
case 0x2110: // ClassDataHeader
return new CClassDataHeader();
}
}
switch (id)
{
case 0x2120: // ClassDataBody: Depends on the ClassDataHeader: TODO
return CStorageContainer::createChunkById(id, container);
}
return CStorageContainer::createChunkById(id, container);
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
CClassDataHeader::CClassDataHeader()
{
}
CClassDataHeader::~CClassDataHeader()
{
}
std::string CClassDataHeader::className() const
{
return "ClassDataHeader";
}
void CClassDataHeader::serial(NLMISC::IStream &stream)
{
stream.serial(ClassID);
stream.serial(SuperClassID);
}
void CClassDataHeader::toString(std::ostream &ostream, const std::string &pad) const
{
ostream << "(" << className() << ") { ";
ostream << "\n" << pad << "ClassID: " << NLMISC::toString(ClassID);
ostream << "\n" << pad << "SuperClassID: " << SuperClassID;
ostream << " } ";
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
} /* namespace MAX */
} /* namespace PIPELINE */
/* end of file */