// EIKNFYSV.H
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

#if !defined(__EIKNFYSV_H__)
#define __EIKNFYSV_H__

#if !defined(__E32BASE_H__)
#include <e32base.h>
#endif

#if !defined(__EIKDIALG_H__)
#include <eikdialg.h>
#endif

//
// class CEikServNotifyServer
//

class CEikServNotifyAlert;
class CEikInfoMsgWin;
class CEikServNotifyServer : public CServer
	{
public:
	~CEikServNotifyServer();
	static CEikServNotifyServer* NewL();
	virtual CSession *NewSessionL(RThread aClient,const TVersion &aVersion) const;
	TInt DisplayNotifier(const TDesC& aTitle, const TDesC& aLabel, const TDesC& aBut1, const TDesC& aBut2);
	void DisplayInfoPrint(const TDesC& aDes);
private:
	CEikServNotifyServer(TInt aPriority);
	void ConstructL();
private:
	CEikServNotifyAlert* iAlert;
	CEikInfoMsgWin* iInfoMsg;
	RWindowGroup iInfoMsgGroupWin;
	};

//
// class CEikServNotifySession
//

class CEikServNotifySession : public CSession
	{
public:
	CEikServNotifySession(RThread& aClient);
	virtual void ServiceL(const RMessage &aMessage);
private:
	void DisplayAlert(const RMessage& aMessage);
	void DisplayInfoMsg(const RMessage& aMessage);
	};

//
// class CEikServNotifyAlert
//

class CEikServNotifyAlert : public CEikDialog
	{
public:
	CEikServNotifyAlert();
	~CEikServNotifyAlert();
	void ConstructL();
	TInt DisplayNotifier(const TDesC& aTitle, const TDesC& aLabel, const TDesC& aBut1, const TDesC& aBut2);
protected: // virtual form CEikDialog
	virtual void PreLayoutDynInitL();
	virtual TBool OkToExitL(TInt aButtonId);
private:
	void CreateSingleButtonPanelL();
	void SetButtonLabelReserveLengthsL();
private:
	CEikButtonPanel* iOneButtonPanel;
	CEikButtonPanel* iTwoButtonPanel;
	HBufC* iTitleText;
	};

#endif
