IIndirectRefMaker.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2005 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 //**************************************************************************/
00011 // DESCRIPTION: Defines an interface for getting/setting indirect references.
00012 // AUTHOR: Larry.Minton - created Jan.11.2006
00013 //***************************************************************************/
00014 #pragma once
00015 
00016 #include "maxheap.h"
00017 #include "ref.h"
00018 
00020 #define IID_IINDIRECTREFERENCEMAKER                 0x18f81902
00021 
00023 
00033 class IIndirectReferenceMaker: public MaxHeapOperators {
00034 public:
00036 
00038     virtual int NumIndirectRefs() = 0;
00039 
00041 
00044     virtual RefTargetHandle GetIndirectReference(int i) = 0;
00045 
00047 
00050     virtual void SetIndirectReference(int i, RefTargetHandle rtarg) = 0;
00051 
00053 
00061     virtual int RemapIndirectRefOnLoad(int iref) { return iref; }
00062 
00064 
00075     virtual BOOL ShouldPersistIndirectRef(RefTargetHandle rtarg) { UNUSED_PARAM(rtarg); return FALSE; }
00076 };