epoc32/include/apaserverapp.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
--- a/epoc32/include/apaserverapp.h	Wed Mar 31 12:27:01 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
-// which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#ifndef APASERVERAPP_H
-#define APASERVERAPP_H
-
-#include <e32base.h>
-
-
-//
-// Server application client support
-//
-
-
-
-class RApaAppServiceBase : public RSessionBase
-/** Server app connection and lifetime monitoring functionality.
-
-This is the base class for all server application service client
-support implementations.
-
-The class is derived from by the UI framework and is further derived from 
-by service implementations.
-
-Clients of these server application services will use these derived classes as
-the interface to the server application implementations of the services.
-
-@publishedPartner
-@released
-@see REikAppServiceBase */
-	{
-public:
-
-	/** Constants defining the base IPC command ids usable by the system GUI and services. */
-	enum TApaAppServiceBaseCmdConstants
-		{
-		/** System GUI server app command IDs must start from this base. */
-		KSystemGuiCmdBase = 0x100,
-		/** Service specific command IDs must start from this base. */
-		KServiceCmdBase = 0x200
-		};
-
-public:
-	IMPORT_C void ConnectExistingAppL(const RApaAppServiceBase& aClient);
-	IMPORT_C void ConnectExistingAppL(const RApaAppServiceBase& aClient, const TSecurityPolicy& aSecurityPolicy);
-	IMPORT_C void ConnectExistingByNameL(const TDesC& aName);
-	IMPORT_C void ConnectExistingByNameL(const TDesC& aServerName, const TSecurityPolicy& aSecurityPolicy);
-	IMPORT_C void TransferExistingSessionL(RApaAppServiceBase& aClient);
-	IMPORT_C void Close(); //lint !e1511 Member hides non-virtual member
-
-	IMPORT_C void NotifyServerExit(TRequestStatus& aStatus) const;
-	IMPORT_C void CancelNotifyServerExit() const;
-	
-	IMPORT_C TPtrC ServerName() const;
-
-protected:
-	IMPORT_C RApaAppServiceBase();
-
-private:
-	IMPORT_C virtual void RApaAppServiceBase_Reserved1();
-	IMPORT_C virtual void RApaAppServiceBase_Reserved2();
-	
-	/** Returns the UID of the service that this session provides an interface for.
-	Client side service implementations must implement this function to return
-	the UID for the service that they implement.
-	@return The UID of the service implemented by the derived class.*/
-	virtual TUid ServiceUid() const = 0;
-
-private:
-	void ConnectL();
-	void ConnectL(const TSecurityPolicy& aSecurityPolicy);
-
-private:
-	IMPORT_C virtual void ExtensionInterface(TUid aInterfaceId, TAny*& aImplementaion);
-	
-private:
-	HBufC* iServerName;		// owned
-	TInt iApaReserved1;
-	TInt iApaReserved2;
-	};
-
-
-class MApaServerAppExitObserver
-/** Interface for a class that wants to receive exit notification from
-a server application.
-
-@publishedPartner
-@released
-@see CApaServerAppExitMonitor*/
-	{
-public:
-	/** Receives server exit notification.
-	Implementers of this interface must override this function to
-	receive notification of server app exit reasons.
-	@param aReason The reason that the server app exited, this may be
-	a command ID from the UI if exit was triggered from the UI, or an error code
-	if the server app exited unexpectedly. */
-	virtual void HandleServerAppExit(TInt aReason) = 0;
-protected:
-	IMPORT_C MApaServerAppExitObserver();
-private:
-	IMPORT_C virtual void MApaServerAppExitObserver_Reserved1();
-	IMPORT_C virtual void MApaServerAppExitObserver_Reserved2();
-private:
-	TInt iMApaServerAppExitObserver_Reserved1;
-	};
-
-
-class CApaServerAppExitMonitor : public CActive
-/** Helper class that monitors the lifetime of a server app
-through a connected RApaAppServiceBase and reports server app exits
-to a MApaServerAppExitObserver derived class.
-
-@publishedPartner
-@released
-@see RApaAppServiceBase
-@see MApaServerAppExitObserver */
-	{
-public:
-	IMPORT_C static CApaServerAppExitMonitor* NewL(RApaAppServiceBase& aClient, MApaServerAppExitObserver& aObserver, TInt aPriority);
-	IMPORT_C static CApaServerAppExitMonitor* NewLC(RApaAppServiceBase& aClient, MApaServerAppExitObserver& aObserver, TInt aPriority);
-	IMPORT_C ~CApaServerAppExitMonitor();
-
-private:
-	CApaServerAppExitMonitor(RApaAppServiceBase& aClient, MApaServerAppExitObserver& aObserver, TInt aPriority);
-
-private:	// from CActive
-	void RunL();
-	void DoCancel();
-	TInt RunError(TInt aError);
-
-private:
-	RApaAppServiceBase& iClient;
-	MApaServerAppExitObserver& iObserver;
-	};
-
-	
-//
-// Server application server support
-//
-
-/** Panic codes that the server application framework can generate.
-@internalComponent */
-enum TApaAppServerPanic
-	{
-	/** The IPC message ID used by the client is not recognised. */
-	EApaAppServerPanicIllegalFunction,
-	/** The client already has an active notification of server exit. */
-	EApaAppServerPanicNotifyExitActive,
-	/** The client has tried to connect an already connected session. */
-	EApaAppServerPanicClientAlreadyConnected
-	};
-
-
-class CApaAppServiceBase : public CSession2
-/** Base class for all service implementations.
-Provides the basic IPC and security framework that server applications
-can use to receive messages from their clients.
-In a typical service implementation, a service support class
-will be derived from this class, and the service implementation
-will then be derived from the service support class.
-
-Instances of this class are created by the server application
-in its override of CApaAppServer::CreateServiceL().
-
-@publishedPartner 
-@released
-@see CApaAppServer
-@see CPolicyServer */
-	{
-public:
-	IMPORT_C CApaAppServiceBase();
-	IMPORT_C ~CApaAppServiceBase();
-
-	IMPORT_C virtual CPolicyServer::TCustomResult SecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
-
-public: // internal
-	void SendAppServerExitNotification(TInt aExitReason);
-
-protected: // from CSession2
-	IMPORT_C void CreateL();
-	IMPORT_C void ServiceL(const RMessage2& aMessage);
-	IMPORT_C void ServiceError(const RMessage2& aMessage,TInt aError);
-	IMPORT_C virtual TInt CountResources();
-	IMPORT_C virtual void Disconnect(const RMessage2& aMessage);
-
-private: // Server exit notification handlers
-	void NotifyServerExit(const RMessage2& aMessage);
-	void CancelNotifyServerExit(const RMessage2& aMessage) const;
-
-private:
-	IMPORT_C virtual void ExtensionInterface(TUid aInterfaceId, TAny*& aImplementaion);
-	IMPORT_C virtual void CApaAppServiceBase_Reserved1();
-	IMPORT_C virtual void CApaAppServiceBase_Reserved2();
-	
-private:
-	RMessagePtr2 iNotifyExitMsg;
-	TInt iExitReason;
-	TInt iApaReserved2;
-	};
-
-class CApaAppServer : public CPolicyServer
-/** Base class for all server application's servers.
-Server applications must derive from this class to implement their
-servers. These must be instantiated in an override of
-CApaApplication::NewAppServerL().
-The main task of this class is to create service implementations
-that clients of a server app may connect to.
-
-@publishedPartner 
-@released
-@see CEikAppServer
-@see CPolicyServer */
-	{
-public:
-	IMPORT_C ~CApaAppServer();
-	IMPORT_C virtual void ConstructL(const TDesC& aFixedServerName);
-	
-	IMPORT_C void NotifyServerExit(TInt aReason);
-	
-	IMPORT_C virtual CApaAppServiceBase* CreateServiceL(TUid aServiceType) const;
-	IMPORT_C virtual TCustomResult CreateServiceSecurityCheckL(TUid aServiceType, const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
-
-protected:
-	IMPORT_C CApaAppServer();
-	
-	// From CPolicyServer
-	IMPORT_C TCustomResult CustomSecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
-	// From CServer2
-	IMPORT_C virtual void DoConnect(const RMessage2& aMessage);
-	
-private:
-	IMPORT_C CSession2* NewSessionL(const TVersion& aVersion, const RMessage2& aMessage) const;
-	
-private:
-	TUid ConnectMessageServiceUid(const RMessage2& aMsg) const;
-	
-private:
-	IMPORT_C virtual void ExtensionInterface(TUid aInterfaceId, TAny*& aImplementaion);
-	// Extensions
-	IMPORT_C virtual void CApaAppServer_Reserved1();
-	IMPORT_C virtual void CApaAppServer_Reserved2();
-	
-private:
-	TInt iApaReserved1;
-	TInt iApaReserved2;
-	};
-
-
-#endif