1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/mw/viewcli.h Wed Mar 31 12:27:01 2010 +0100
1.3 @@ -0,0 +1,166 @@
1.4 +// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// 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
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +#ifndef __VIEWCLI_H__
1.20 +#define __VIEWCLI_H__
1.21 +
1.22 +#include <e32base.h>
1.23 +#include <gdi.h>
1.24 +#include <vwsdef.h>
1.25 +
1.26 +//
1.27 +// Forward declarations.
1.28 +//
1.29 +
1.30 +class RVwsSession;
1.31 +class CVwsSessionEventHandler;
1.32 +class MVwsAppStarter;
1.33 +
1.34 +class MVwsSessionWrapperObserver
1.35 +/**
1.36 +The MVwsSessionObserver specifies an interface through which server events to be handled by the owner of
1.37 +a client session are notified
1.38 +
1.39 +@publishedAll
1.40 +@deprecated
1.41 +*/
1.42 +//@internalTechnology @released
1.43 +
1.44 + {
1.45 +public:
1.46 +
1.47 + /**
1.48 + * Handles the view event aEvent for a view added through the client session being observed.
1.49 + * Handles events for all the views added by the client.
1.50 + */
1.51 + virtual void HandleViewEventL(const TVwsViewEvent& aEvent)=0;
1.52 + };
1.53 +
1.54 +
1.55 +class CVwsSessionWrapper : public CBase
1.56 +/**
1.57 +The CVwsSessionWrapper class mediates access to the view server client session which it creates, and wraps in
1.58 +support for notification of server events. A session observer will be called back with server events if
1.59 +it maintains an outstanding request for asynchronous event notification.
1.60 +
1.61 +@publishedPartner
1.62 +@released
1.63 +*/
1.64 +//@internalTechnology @released
1.65 +
1.66 + {
1.67 +public:
1.68 + IMPORT_C static CVwsSessionWrapper* NewL();
1.69 + IMPORT_C static CVwsSessionWrapper* NewLC();
1.70 + IMPORT_C static CVwsSessionWrapper* NewL(MVwsSessionWrapperObserver& aObserver);
1.71 + IMPORT_C static CVwsSessionWrapper* NewLC(MVwsSessionWrapperObserver& aObserver);
1.72 + IMPORT_C ~CVwsSessionWrapper();
1.73 + IMPORT_C static TInt StartViewServer(MVwsAppStarter& aAppStarter);
1.74 + IMPORT_C TInt ShutdownViewServer();
1.75 + IMPORT_C TInt AddView(const TVwsViewId& aViewId);
1.76 + IMPORT_C TInt RemoveView(const TVwsViewId& aViewId) const;
1.77 + IMPORT_C TInt SetSystemDefaultView(const TVwsViewId& aViewId,TInt aMode);
1.78 + IMPORT_C TInt SetSystemDefaultView(const TVwsViewId& aViewId);
1.79 + IMPORT_C TInt ActivateView(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
1.80 + IMPORT_C TInt ActivateViewViaViewEvent(const TVwsViewIdAndMessage& aViewIdAndMessage);
1.81 + IMPORT_C TInt RequestCustomMessage(TDes8& aMessageBufPtr) const;
1.82 + IMPORT_C void QueueAsyncRequest();
1.83 + IMPORT_C TInt StartApp(TUid aAppToStart);
1.84 + IMPORT_C TInt DeactivateActiveView();
1.85 + IMPORT_C TInt DeactivateActiveViewIfOwnerMatch();
1.86 + IMPORT_C TInt NotifyNextDeactivation(const TVwsViewId& aViewId);
1.87 + IMPORT_C TInt NotifyNextDeactivation();
1.88 + IMPORT_C TInt NotifyNextActivation(const TVwsViewId& aViewId);
1.89 + IMPORT_C TInt NotifyNextActivation();
1.90 + IMPORT_C TInt SetDefaultView(const TVwsViewId& aViewId,TInt aMode) const;
1.91 + IMPORT_C TInt SetDefaultView(const TVwsViewId& aViewId) const;
1.92 + IMPORT_C TInt GetSystemDefaultView(TVwsViewId& aViewId);
1.93 + IMPORT_C TInt CreateActivateViewEvent(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
1.94 + IMPORT_C TInt SetClientRequestTimeOut(TTimeIntervalMicroSeconds32 aDuration);
1.95 + IMPORT_C TInt SetServerEventTimeOut(TTimeIntervalMicroSeconds32 aDuration);
1.96 + IMPORT_C TInt EnableServerEventTimeOut(TBool aEnable);
1.97 + IMPORT_C TInt CheckSourceOfViewSwitch(TBool& aResult,const TSecurityPolicy& aSecurityPolicy,const char* aDiagnostic);
1.98 + IMPORT_C TInt EnableServerBlankScreen(TBool aEnable);
1.99 + IMPORT_C TInt EnableExternalViewSwitches(TBool aEnable);
1.100 + IMPORT_C void ActivateView(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage, TRequestStatus& aStatus);
1.101 + IMPORT_C TInt SetCrossCheckUid(const TUid& aCrossCheckUid);
1.102 + IMPORT_C TInt SetWindowBackgroundColor(const TRgb& aBgColor);
1.103 +public:
1.104 + /**
1.105 + @internalComponent
1.106 + @released
1.107 + */
1.108 + IMPORT_C TInt ActivateView(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage, TInt aCustomControl);
1.109 + /**
1.110 + @internalComponent
1.111 + @released
1.112 + */
1.113 + IMPORT_C void ActivateView(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage, TRequestStatus& aStatus, TInt aCustomControl);
1.114 + /**
1.115 + @internalComponent
1.116 + @released
1.117 + */IMPORT_C TInt CreateActivateViewEvent(const TVwsViewId& aViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage, TInt aCustomControl);
1.118 + /**
1.119 + @internalComponent
1.120 + @released
1.121 + */
1.122 + IMPORT_C TInt GetCurrentActiveViewInSystem(TVwsViewId& aActiveViewId);
1.123 +private:
1.124 + CVwsSessionWrapper();
1.125 + CVwsSessionWrapper(MVwsSessionWrapperObserver& aObserver);
1.126 + void ConstructL();
1.127 + TInt CheckCreateViewServerSession();
1.128 + TBool IsSchedulerRunning();
1.129 +private:
1.130 + RVwsSession* iVwsSession;
1.131 + CVwsSessionEventHandler* iViewEventHandler;
1.132 + MVwsSessionWrapperObserver* iObserver;
1.133 + };
1.134 +
1.135 +
1.136 +//
1.137 +// Panic.
1.138 +//
1.139 +/**
1.140 +@internalComponent
1.141 +*/
1.142 +enum TVwsPanic
1.143 + {
1.144 + EVwsCreateScheduler=1,
1.145 + EVwsThreadRename
1.146 + };
1.147 +
1.148 +/**
1.149 +@internalComponent
1.150 +*/
1.151 +GLREF_C void Panic(TVwsPanic aPanic);
1.152 +
1.153 +/**
1.154 +Server thread start.
1.155 +
1.156 +@internalComponent
1.157 +*/
1.158 +GLDEF_C TInt ViewServerThreadStart(TAny* aPtr);
1.159 +
1.160 +/**
1.161 +@internalComponent
1.162 +*/
1.163 +struct SVwsCommandLine
1.164 + {
1.165 + MVwsAppStarter* iAppStarter;
1.166 + };
1.167 +
1.168 +
1.169 +#endif