diff -r 000000000000 -r 094583676ce7 wvuing/wvuiprocess/Inc/CCAInvitationPC.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuiprocess/Inc/CCAInvitationPC.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,277 @@ +/* +* Copyright (c) 2006 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: Represents the search data for UI +* +*/ + + +#ifndef CCAINVITATIONPC_H +#define CCAINVITATIONPC_H + + +// INCLUDES +#include "MCAInvitationPC.h" +#include "MCAInviteObserver.h" +//Platform includes +#include "e32base.h" + +//Forward Declaration +class MCAInvitationObserverPC; +class MCAChatInterface; +class MCAStoredContacts; +class MCAMainViewArrayPC; +class MCAInvitation; +class CCAEngine; +class MCAInvite; +//CLASS DECLARATION +/** +* Invitation dialog representation for the UI. +* +* @lib wvuiprocessng.lib +* @since 3.2 +*/ +class CCAInvitationPC: public CBase, + public MCAInvitationPC, + public MCAInviteObserver + + { + + public: + + /** + * Symbian Two Phase Constructor + * + */ + static CCAInvitationPC* NewL( CCAEngine& aEngine, MCAChatInterface& aChatInterface ); + + /** + * Symbian Two Phase Constructor + * + */ + void ConstructL( ); + /** + * virtual destructor + */ + virtual ~CCAInvitationPC( ); + + public:// From MCAInviteObserver + + /** + * Gets called when invite event occurs. + * @param aEvent Type of event. + * @param aInvitation specifies the invitation message. + */ + virtual void HandleInvitationEventL( TInviteEventType aEvent, + const MCAInvitation* aInvitation ); + + /** + * Gets called when we received response to our invitation + * @since 2.1 + * @param aAcceptance Accepted or rejected + * @param aUserId User Id of the response sender + * @param aGroupName group name + * @param aResponse response text + */ + virtual void HandleInvitationResponse( TBool aAcceptance, + const TDesC& aUserId, + const TDesC& aGroupName, + const TDesC& aResponse ); + public://New Methods + /** + * + * + */ + void RegisterObserver( MCAInvitationObserverPC* aObserver ); + + /** + * + * + */ + void UnRegisterObserver(); + + /** + * Gets the const reference to the UserID of the give invitaton index + * @param aIndex: invitation index + */ + const TDesC& InvitationUserIDL( TInt aIndex ); + + /** + * Gets the time this invite was received + * @param aIndex is the invitation index. + * @return Time and date of creation + */ + TTime ReceivedAt( TInt aIndex ); + + /** + * Gets the invitation message. + * @param aIndex is the invitation index. + * @return Message. + */ + const TDesC& Message( TInt aIndex ); + + /** + * Gets the group name. + * @return Group name. + */ + const TDesC& GroupName( TInt aIndex ); + + /** + * Sets the active invitation index + */ + void SetActiveInvitation( const TInt aIndex ); + + /** + * Gets the active invitation index + */ + TInt GetActiveInvitationIndex( ); + + + TBool IsInvitationUnread( TInt aIndex ); + + /** + * Set invitation as read. + * @param aIndex is the tabindex of + * the current active invitation + */ + void SetInvitationAsReadL( TInt aIndex ); + + /** + * Maps the given tabindex to invitationindex + * in mainviewarraypc + * @return invitationindex + */ + TInt GetInvitationIndex( TInt aTabIndex ); + + /** + * Returns the Count of Invitations. + */ + TInt InvitationCount( ); + + /** + * Deletes the invitation + * @param aInvitationIndex: index of the + * invitation to be deleted + */ + void DeleteInvitationL( TInt aInvitationIndex ); + + /** + * This is the reply to an invitation. + * Note that invitation gets removed by this call, so do not try to use + * it after calling this!!! + * @param aInvitationIndex is the invitation index in teh array. + * @param aInviteAccepted specifies if the invite was accepted or not. + * @param aResponse is the response + * @param aScreenName is our own screenname + */ + void ReplyInvitationL( TInt aInvitationIndex, + const TBool aInviteAccepted, + const TDesC& aResponse, + const TDesC& aScreenName ); + + /** + * Gets the buffer holding the reject reason + * This is stored in the engine side because the last written + * reason must be remembered + * @return The buffer to reject reason, which can be modified + */ + HBufC* RejectReason(); + + /** + * Deletes the invitation at aIndex + * @param aIndex Index of the invitation to be deleted + */ + void DeleteSingleListViewInvitationL( const TDesC& aInviteID/*TInt aIndex*/ ); + + /** + * Finds an invitation + * @param aWvId - contatc wv + * @param aInviteTime - Invite Time + * @return TInt - Index of the found invitation else -1 + */ + TInt FindInvitationIndex( const TDesC& aWvId, TTime aInviteTime ); + + /** + * Finds an invitation + * @param aInviteId: id of the invitation + * @return TInt - Index of the found invitation else -1 + */ + TInt FindInvitationIndex( const TDesC& aInviteId ); + + /** + * Unread Invites Counts + * return no of unread inviation + */ + TInt UnreadInvitesCount() const; + + /** + * Unresd Invitation Info + * return Invitation Id + */ + + const TDesC& UnresdInvitationInfo() ; + const TDesC& GetInviteID( TInt aInvitationIndex ); + + /** + * @param aIndex : invitation index + * return identification of the sender of the invitation + */ + TPtrC InvUserIdentificationL( TInt aIndex ); + private: + + /** + * default constructor + * @param + */ + CCAInvitationPC( CCAEngine& aEngine, MCAChatInterface& aChatInterface ); + + /** + * Returns index for given invitation + * @param aInvitation + * @return index of invitation + */ + TInt FindIndexForInvitation( const MCAInvitation* aInvitation ) const; + + /** + * Deletes item from Invitationarray + * @param aIndex Item index + */ + void Delete( TInt aIndex ); + private: + + //DoesNot own. + CCAEngine& iEngine; + + MCAChatInterface& iChatInterface; + + // Doesn't own. Handle to contacts interface + MCAStoredContacts* iContacts; + + //Owns. Contact id + HBufC* iWvId; + + //Doesnot own + MCAInvite& iInviteInterface; + + //Owns. Maintains the invitations + RPointerArray iInvitationArray; + + TInt iCurrentActiveInvitation; + + MCAInvitationObserverPC* iObserver; + + }; + +#endif // CCAINVITATIONPC_H + +// End of File