00001 //**************************************************************************/ 00002 // Copyright (c) 1998-2007 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 FILE: IActionItemOverrideManager.h 00012 00013 DESCRIPTION: Declares a public header for a function published core interface 00014 for managing Action Item Overrides. 00015 AUTHOR: Michael Zyracki - created 01.02.2007 00016 /***************************************************************************/ 00017 #pragma once 00018 #include "MaxHeap.h" 00019 #include <WTypes.h> 00020 #include "ifnpub.h" 00021 00022 class ActionItem; 00023 00025 00032 class IActionItemOverride : public MaxHeapOperators 00033 { 00034 public: 00036 virtual ~IActionItemOverride(){}; 00037 00040 virtual BOOL IsOverrideActive() = 0; 00041 00043 00047 virtual BOOL StartOverride() = 0; 00048 00049 00051 00055 virtual BOOL EndOverride() = 0; 00056 }; 00057 00059 #define IACTIONITEMOVERRIDEMANAGER_INTERFACE Interface_ID(0x5e1b66eb, 0x4bc034de) 00060 00062 00068 class IActionItemOverrideManager : public FPStaticInterface 00069 { 00070 public: 00071 00073 00075 virtual void SetOverridesActive(BOOL active) = 0; 00076 00078 00080 virtual BOOL GetOverridesActive(void)const = 0; 00081 00083 00085 virtual void SetTimeToStartOverride(float secs) =0; 00086 00088 00090 virtual float GetTimeToStartOverride()const = 0; 00091 00092 00094 00099 virtual void RegisterActionItemOverride(ActionItem *aItem,MSTR &overrideDescription) =0; 00100 00102 00106 virtual void UnregisterActionItemOverride(ActionItem *aItem) =0; 00107 00112 virtual BOOL IsActionItemRegistered(ActionItem *aItem,MSTR &description) = 0; 00114 00121 virtual void ActivateActionItemOverride(ActionItem *aItem,IActionItemOverride* aItemOverride)=0; 00122 00124 00130 virtual void DeactivateActionItemOverride(ActionItem* aItem)=0; 00131 00133 00136 virtual IActionItemOverride * FindOverride(ActionItem * aItem)=0 ; 00137 00138 00140 00142 virtual ActionItem* GetOverridingActionItem()const = 0; 00143 00144 }; 00145 00146