--- /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 <e32base.h>
+#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