Created
August 20, 2011 23:39
-
-
Save ssube/1159848 to your computer and use it in GitHub Desktop.
LibESD Record interface
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*************************************************************************************************\ | |
* | |
* @file Record.hpp | |
* @brief Declares the libESD::Record class. | |
* @note libESD source code and software (c) Copyright 2011 by Sean Sube, All Rights Reserved. | |
* Neither the source nor binaries may be modified or distributed without permission. | |
* | |
\*************************************************************************************************/ | |
#pragma once | |
#include "libESD.hpp" | |
#include "ISerializable.hpp" | |
#include "ITypedObject.hpp" | |
namespace libESD | |
{ | |
class LIBESD_API Record | |
: public ISerializable, public ITypedObject | |
{ | |
public: | |
Record(); | |
virtual bool Deserialize(std::ifstream * pInFile); | |
virtual bool Serialize(std::ofstream * pOutFile); | |
virtual RecordType GetType(); | |
virtual FlagsType GetFlags(); | |
virtual void SetFlags(FlagsType Flags); | |
virtual SizeType GetCount(); | |
virtual SubrecordRef GetSingle(RecordType Type, SizeType Offset = 0); | |
virtual SubrecordList GetList(RecordType Type); | |
private: | |
RecordType m_Type; | |
FlagsType m_Flags; | |
SubrecordList m_Subrecords; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment