/** Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved.* This component and the accompanying materials are made available* under the terms of "Eclipse Public License v1.0"* which accompanies this distribution, and is available* at the URL "http://www.eclipse.org/legal/epl-v10.html".** Initial Contributors:* Nokia Corporation - initial contribution.** Contributors:** Description: The UI Client API of the SAT Server.**/#ifndef RSATUISESSION_H#define RSATUISESSION_H// INCLUDES#include <e32base.h>// CONSTANTS// The name of the SatClient module for panic purposes_LIT( KSatCliName, "SatClient" );// DATA TYPES// The Sat Client Panic codesenum TSatClientPanic { ESatInvalidResponse, ESatSetUpMenuFailure, ESelectedItemOutOfRange };// FORWARD DECLARATIONSclass MSatUiObserver;class MSatUiAdapter;class CSatCCommandProcessor;class CSatCDisplayTextHandler;class RSatSession;// CLASS DECLARATION/** * UI sub-session to SatServer. * Use this to register your event observer object. * * @lib SatClient.lib * @since Series 60 2.0 */class RSatUiSession : public RSubSessionBase { public: // Constructors and destructor /** * C++ default constructor. */ IMPORT_C RSatUiSession(); public: // New functions /** * Registers the listener object for SAT events and connects to * the Sat Server. * @param aSat * @param aObserver The observer. */ IMPORT_C void RegisterL( const RSatSession& aSatSession, MSatUiObserver* aObserver ); /** * Returns a pointer to the object that implements the UI * adapter interface. * @return The adapter object pointer. */ IMPORT_C MSatUiAdapter* Adapter() const; /** * Unregisters the listener object and disconnects from the server. */ void Unregister(); /** * The client API version * @return The version of the current API. */ IMPORT_C TVersion Version() const; /** * Panics the client application * @param aReason The reason code. */ IMPORT_C void Panic( TSatClientPanic aReason ) const; /** * Shuts down the server. Active in development use only. */ IMPORT_C void KillServer() const; /** * Create and send service request message to SAT server. * @param aFunction Service request id. * @param aArgs Service request arguments. * @param aStatus Service request status. */ IMPORT_C void CreateRequest( TInt aFunction, const TIpcArgs& aArgs, TRequestStatus& aStatus ) const; /** * Create and send service request message to SAT server. * @param aFunction Service request id. * @param aArgs Service request arguments. */ IMPORT_C void CreateRequest( TInt aFunction, const TIpcArgs& aArgs ) const; /** * Returns a pointer to the object that implements client observer * object that receives SAT commands * @return The client observer object pointer. */ IMPORT_C MSatUiObserver* SatUiObserver(); /** * Returns a pointer to the object that implements Processor agent for * SAT commands. * @return The command processor object pointer. */ CSatCCommandProcessor* CommandProcessor(); public: // Functions from base classes /** * From RHandleBase * * Close the handle. */ IMPORT_C void Close(); private: // Prohibited copy constructor. RSatUiSession( const RSatUiSession& ); // Prohibited assigment operator. RSatUiSession& operator= ( const RSatUiSession& ); /** * Checks if the server is started. * @return Interger value, is server started or not. */ TBool IsServerStarted() const; private: // Data /** * Processor agent for SAT commands */ CSatCCommandProcessor* iCommandProcessor; /** * The client observer object that receives SAT commands. */ MSatUiObserver* iSatUiObserver; };#endif // RSATUISESSION_H// End of File