#if !defined(BRAPPNFY_H) && !defined(__BEDRC__)
#define BRAPPNFY_H

//========================================================================================
//
//     File:		BRAppNfy.h
//     Release Version:	$ 1.0d1 $
//
//     Creation Date:	1/6/93
//
//     COPYRIGHT 1993 SYMANTEC CORPORATION. ALL RIGHTS RESERVED. UNPUBLISHED -- RIGHTS
//     RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. USE OF COPYRIGHT NOTICE IS
//     PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION OR DISCLOSURE.
//
//     THIS SOFTWARE Contains PROPRIETARY AND CONFIDENTIAL INFORMATION OF SYMANTEC
//     CORPORATION. USE, DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR
//     EXPRESS WRITTEN PERMISSION OF SYMANTEC CORPORATION.
//
//     RESTRICTED RIGHTS LEGEND
//     Use, duplication, or disclosure by the Government is subject to restrictions as Set
//     forth in subparagraph (c)(l)(ii) of the Rights in Technical Data and Computer
//     Software clause at DFARS 252.227-7013. Symantec Corporation, 10201 Torre Avenue,
//     Cupertino, CA 95014.
//
//========================================================================================

//========================================================================================
// CLASS BR_CBedAppAttachDetachNotify
// Instances of this class form a chain.  Every object in the chain is notified When a new
// task attaches or detaches to Bedrock DLLs.
//========================================================================================

class BR_CBedAppAttachDetachNotify
{
public:
	static void DoApplicationAttach();
	static void DoApplicationDetach();
	static int GetApplicationCount();
	
protected:
	BR_CBedAppAttachDetachNotify();
	~BR_CBedAppAttachDetachNotify();
	virtual void ApplicationAttachHook();
	virtual void ApplicationDetachHook();

private:
	BR_CBedAppAttachDetachNotify* fNext;
	static BR_CBedAppAttachDetachNotify* gHead;
	static int gApplicationCount;
};

#endif
