SingleWeakRefMaker.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2006 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: Utility base class for a ReferenceMaker with a single target 
00012 // that does not share ownership of it's ReferenceTarget.
00013 // AUTHOR: Nicolas Desjardins from an original implementation by Larry Minton
00014 // DATE: 2006-08-22
00015 //***************************************************************************/
00016 
00017 #pragma once
00018 
00019 #include "ref.h"
00020 
00021 
00022 namespace MaxSDK
00023 {
00024 
00031 class SingleWeakRefMaker : public SingleRefMaker
00032 {
00033 public:
00034     CoreExport static const SClass_ID SUPER_CLASS_ID;
00035 
00039     CoreExport SingleWeakRefMaker();
00040 
00044     CoreExport virtual ~SingleWeakRefMaker();
00045 
00051     CoreExport virtual SClass_ID SuperClassID();
00052     
00059     CoreExport virtual BOOL IsRealDependency(ReferenceTarget* target);
00060     
00068     CoreExport virtual RefResult NotifyRefChanged( 
00069         Interval changeInt, 
00070         RefTargetHandle hTarget, 
00071         PartID& partID, 
00072         RefMessage message );
00073 
00077     CoreExport virtual void DeleteThis();
00078 };
00079 
00080 }
00081