True Axis Physics SDK 1.2.0.1 Beta Documentation
www.trueaxis.com

Descriptor.h

00001 
00002 // File Name: Descriptor.h
00003 // Description:
00004 //
00005 // Copyright (C) 2004 True Axis Pty Ltd, Australia. 
00006 // All Rights Reserved.
00007 //
00008 // History:
00009 //      Created File.
00010 //---------------------------------------------------------------------------------
00011 
00012 #ifndef TA_DESCRIPTOR_H
00013 #define TA_DESCRIPTOR_H
00014 
00015 #ifndef TA_DESCRIPTORID_H
00016 #include "DescriptorID.h"
00017 #endif // TA_DESCRIPTORID_H
00018 
00019 namespace TA
00020 {
00021 
00022 class Lex;
00023 class String;
00024 class DescriptorLanguage;
00025 class AmlReader;
00026 class IOStreamOutputFile;
00027 class DescriptorItem;
00028 
00029 class TACOMMON_CLASS Descriptor : public DescriptorID
00030 {
00031 public:
00032     Descriptor() {}
00033     virtual ~Descriptor() { Finalise(); }
00034 
00035     void Initialise();
00036     void Initialise(String& strFileName);
00037     void Read(AmlReader& amlReader, Descriptor* pDescriptor);
00038     void Save(String& strFileName);
00039     //void Initialise(Lex& lex);
00040     void Finalise();
00041 
00042     virtual u32 GetTypeID() const { return s_nClassID; }
00043     static u32 TAC_CALL GetStaticTypeID() { return s_nClassID; }
00044     virtual DescriptorLanguage& GetLanguage() = 0;
00045     
00046 protected:
00047     static u32 s_nClassID;
00048 
00049     virtual void InitialiseLanguage() = 0;
00050     void Save(IOStreamOutputFile* pStream, DescriptorItem* pItem, int nIndentation);
00051 };
00052 
00053 };
00054 
00055 #endif // TA_DESCRIPTOR_H


© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.