diff -r 000000000000 -r 094583676ce7 wvuing/wvuieng/EngSrc/CCAInvitation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuieng/EngSrc/CCAInvitation.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,177 @@ +/* +* Copyright (c) 2002-2005 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: Used when inviting to chats. +* +*/ + + +#ifndef CCAINVITATION_H +#define CCAINVITATION_H + +// INCLUDES +#include +#include "MCAInvitation.h" + +// CLASS DECLARATION + +/** +* Describes one invitation. +* Used when inviting to chats. +* +* @lib CAEngine.lib +* @since 1.2 +*/ +class CCAInvitation : public CBase, public MCAInvitation + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aIviteID specifies one invitation. + * @param aUserID is the WVID. + * @param aGroupID specifies the wv group id. + * @param aScreenName is the screen name in a particular group. + * @param aGroupName specifies the group by name. + * @param aMessage is the invitation message. + * @param aValidityPeriod specifies the validity period of this + * invitation. + */ + static CCAInvitation* NewL( + const TDesC& aInviteID, + const TDesC& aUserID, + const TDesC& aGroupID, + const TDesC& aScreenName, + const TDesC& aGroupName, + const TDesC& aMessage, + TInt aValidityPeriod = 0 ); + + /** + * Destructor. + */ + virtual ~CCAInvitation(); + + public: // New methods + + /** + * Sets observer for invitation read. + * @param aObserver Invitation read observer + */ + void AddReadObserver( MCAInviteReadObserver* aObserver ); + + private: // Methods from MCAInvitation + + /** + * Gets the invitation ID. + * @return Invite ID. + */ + const TDesC& InviteID() const; + + /** + * Gets the user ID. + * @return User ID ( WV ID ). + */ + const TDesC& UserID() const; + + /** + * Gets the screen name. + * @return Screen name. + */ + const TDesC& ScreenName() const; + + /** + * Gets the group name. + * @return Group name. + */ + const TDesC& GroupName() const; + + /** + * Gets the group ID. + * @return Group name. + */ + const TDesC& GroupId() const; + + /** + * Gets the invitation message. + * @return Message. + */ + const TDesC& Message() const; + + /** + * Gets the timeout value. + * @return Timeout value. + */ + TInt Timeout() const; + + /** + * Gets the time this invite was received (created) + * @since 2.1 + * @return Time and date of creation + */ + TTime ReceivedAt() const; + + /** + * Set invitation as read. + * @since 3.0 + */ + void SetInvitationAsReadL(); + + /** + * Set invitation as read. + * @since 3.0 + */ + TBool IsRead() const; + + private: // New methods + + /** + * C++ default constructor. + * @param aValidityPeriod describes how long this invitation is valid. + */ + CCAInvitation( TInt aValidityPeriod ); + + /** + * By default Symbian OS constructor is private. + * @see CCAInvitation::NewL. + */ + void ConstructL( const TDesC& aInviteID, + const TDesC& aUserID, + const TDesC& aGroupId, + const TDesC& aScreenName, + const TDesC& aGroupName, + const TDesC& aMessage ); + + private: + + // Data + TInt iTimeout; + TTime iCreated; + + // Owns//////////////////////////////////////////////////////////////// + HBufC* iInviteID; + HBufC* iUserID; + HBufC* iGroupID; + HBufC* iScreenName; + HBufC* iGroupName; + HBufC* iMessage; + // //////////////////////////////////////////////////////////////////// + + TBool iRead; + + // Does not own + MCAInviteReadObserver* iObserver; + }; + +#endif // CCAINVITATION_H + +// End of File