#ifdef __PRIVATE__
//#
//#	File:		ExcFocus.idl
//#
//#	Contains:	Class definition for ODExclusiveFocusModule
//#
//#	Written by:	Richard Rodseth
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <4>	10/18/94	RR		Added fSession. Override BRF, CRF, ARF.
//#		 <3>	  9/2/94	RR		Override TransferFocusOwnership #1184275
//#									Pass transferringFrame and newOwner to
//#									focusModule::TransferFocus
//#		 <2>	 6/23/94	RR		Added function prefix
//#		 <1>	  6/8/94	RR		first checked in
//#		 <2>	  6/7/94	RR		Privatise change log
//#
//#	To Do:
//#
#else
//#	Copyright:	c 1993-1994 by Apple Computer, Inc., all rights reserved.
#endif

//# Private class for now - not to be published.
//# ExclusiveFocusModule  - Formerly SimpleFocusModule

#ifndef _EXCFOCUS_
#define _EXCFOCUS_

#ifndef _FOCUSMOD_
#include "FocusMod.idl"
#endif

//=====================================================================================
// Classes defined in this interface
//=====================================================================================

interface  ODExclusiveFocusModule;

//=====================================================================================
// Classes used by this interface
//=====================================================================================

interface  ODFrame;

//=====================================================================================
// Class ODExclusiveFocusModule
//=====================================================================================

interface ODExclusiveFocusModule : ODFocusModule
{
	void InitExclusiveFocusModule(in ODSession session);

#ifdef __SOMIDL__
	implementation
  	{
		functionprefix = ODExclusiveFocusModule;
	
	override:
		somInit,
		somUninit,
        IsFocusExclusive,
        SetFocusOwnership,
        UnsetFocusOwnership,
		TransferFocusOwnership,
        GetFocusOwner,
        BeginRelinquishFocus,
        CommitRelinquishFocus,
        AbortRelinquishFocus;
		
	releaseorder:
		InitExclusiveFocusModule;
		
    #ifdef __PRIVATE__
		ODFrame  fFrame;
		ODSession  fSession;
    #endif

  	};
#endif
};

#endif //# _EXCFOCUS_

