source file REDChunkInterpretersDictionary.h

Go to the documentation of this file.

#ifndef RED_CHUNK_INTERPRETERS_DICTIONARY_H
#define RED_CHUNK_INTERPRETERS_DICTIONARY_H

//******************************************************************************
// Copyright (c) 2005 Redway. All rights reserved.
//
// Redway3d is a registered trademark. Any reproduction and / or utilization
// of any material from this document without Redway?s express authorization
// are prohibited.
//******************************************************************************

#include "RED.h"
#include "REDSTL.h"
#include "REDIChunkInterpreter.h"


//******************************************************************************
//*** RED::BoundingSphere class ************************************************
//******************************************************************************

namespace RED
{
  // ChunkInterpretersDictionary class:
  // ----------------------------------
  
  class REDFullExp ChunkInterpretersDictionary : public RED::Object
  {
    public:
    
    static RED_RC RegisterChunkInterpreter( unsigned int                iChunkSignature, 
                                            RED::IChunkInterpreterProto iChunkInterpreter );
    
    
    static RED_RC GetChunkInterpreter( RED::IChunkInterpreterProto& oChunkInterpreter,
                                       unsigned int                 iChunkSignature );
    
    
    static void ClearAllChunksInterpreters();
    
    
    protected:
    
    // Static lists of chunk interpreters:
    // -----------------------------------
    
    static RED::Map< unsigned int, RED::IChunkInterpreterProto > _cilist0;
    
    static RED::Map< unsigned int, RED::IChunkInterpreterProto > _cilist1;
    
    
    // Internals:
    // ----------

    static RED_RC RegisterBuiltInChunksInterpreters();
  };
};


#endif