// AGSACTIV.H
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//


#if !defined(__AGSACTIV_H__)
#define __AGSACTIV_H__

#include "agsfmgr.h"

class CAgnServFile;

class CAgnServerActive : public CActive
	{
public:
	static CAgnServerActive* NewL();
	virtual ~CAgnServerActive();
	void Start(CAgnServFile* aServerFile);
protected:
	// Make the active object has the same priority as the server
	// If it's higher, the client will be blocked when the server
	// does an extended operation. If lower, the server won't ever
	// get around to the extended tasks, unless it is left alone by
	// all clients.
	inline CAgnServerActive(TInt aPriority = EPriorityStandard) : CActive(aPriority){};
	virtual void RunL();
	virtual void DoCancel();
	void SetActiveAndMakeRequest();
protected:
	CAgnServFile*			iServerFile;
	};


#endif
