// Copyright (c) 1999-2009 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://#ifndef __VWSDEF_partner_H__#define __VWSDEF_partner_H__#ifndef __VWSDEF_H__#include <vwsdef.h>#endif#include <e32std.h>//class definedclass TVwsViewEvent;//class referencedclass TVwsViewId;/**@internalTechnology@released*/#define KNullViewId TVwsViewId(KNullUid,KNullUid)/**@internalTechnology@released*/const TInt KErrViewWrongMode=1; // !!! Wrong error code - should be -ve & unique/**@publishedPartner@released*/#define KUidCustomCrossCheckValue 0x80282748/**@publishedPartner@released*/const TUid KUidCustomCrossCheck={KUidCustomCrossCheckValue};class TVwsViewEvent/**The TVwsViewEvent class encapsulates the attributes of a view server event.These are:- The event type- The view ids of the two views associated with the event- The attributes of any message which can go with the event.@publishedPartner@released */ {public: enum TVwsViewEventType { EVwsActivateView, EVwsDeactivateView, EVwsScreenDeviceChanged, EVwsDeactivationNotification, EVwsActivationNotification, EVwsDeactivateViewDifferentInstance };public: inline TVwsViewEvent(); inline TVwsViewEvent(TVwsViewEventType aEventType); inline TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId); inline TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId,const TVwsViewId& aViewTwoId); inline TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId,const TVwsViewId& aViewTwoId,TUid aCustomMessageId,TInt aCustomMessageLength);public: /** The event type. */ TVwsViewEventType iEventType; /** The first view id associated with the event. This has a different meaning for each of the event types: - For ActivateView events, it is the view to activate - For DeactivateView events, it is the view to deactivate - For ScreenDeviceChange events, it is the id of the currently active view - For ActivationNotification events, it is the id of the activated view - For DeactivationNotification events, it is the id of the deactivated view */ TVwsViewId iViewOneId; /** The second view id associated with the event. This has a different meaning for each of the event types: - For ActivateView events, it is the view that will be deactivated - For DeactivateView events, it is the view that has been activated - For ScreenDeviceChange events, it is unused - For ActivationNotification events, it is the view that will be deactivated - For DeactivationNotification events, it is the id of the view that has been activated */ TVwsViewId iViewTwoId; /** The type of message being passed in the custom message buffer */ TUid iCustomMessageId; /** The length of the custom message being held by the server. To retrieve the message itself from the server, a buffer of this length must be allocated */ TInt iCustomMessageLength; };inline TVwsViewEvent::TVwsViewEvent() {}inline TVwsViewEvent::TVwsViewEvent(TVwsViewEventType aEventType) : iEventType(aEventType),iViewOneId(),iViewTwoId(),iCustomMessageId(KNullUid),iCustomMessageLength(0) {}inline TVwsViewEvent::TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId) : iEventType(aEventType),iViewOneId(aViewOneId),iViewTwoId(),iCustomMessageId(KNullUid),iCustomMessageLength(0) {}inline TVwsViewEvent::TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId,const TVwsViewId& aViewTwoId) : iEventType(aEventType),iViewOneId(aViewOneId),iViewTwoId(aViewTwoId),iCustomMessageId(KNullUid),iCustomMessageLength(0) {}inline TVwsViewEvent::TVwsViewEvent(TVwsViewEventType aEventType,const TVwsViewId& aViewOneId,const TVwsViewId& aViewTwoId,TUid aCustomMessageId,TInt aCustomMessageLength) : iEventType(aEventType),iViewOneId(aViewOneId),iViewTwoId(aViewTwoId),iCustomMessageId(aCustomMessageId),iCustomMessageLength(aCustomMessageLength) {}#endif