--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingui/attendeeview/EngSrc/CAttendeeItem.h Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) 2004 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: Implements an CAttendeeItem class in Attendee View.
+*
+*/
+
+
+
+#ifndef __CATTENDEE_ITEM_H__
+#define __CATTENDEE_ITEM_H__
+
+// INCLUDES
+#include "MAttendeeItem.h"
+#include <e32base.h>
+#include <cntdef.h>
+
+// FORWARD DECLARATION
+class CCalUser;
+
+// CLASS DECLARATION
+/**
+* Implements AttendeeView's item
+*/
+class CAttendeeItem : public CBase, public MAttendeeItem
+ {
+ public: //Types:
+ enum TAttendance
+ {
+ //EOrganizer, //=> organizer
+ ERequire, //=>Attendee && Require
+ EOptional//, //=>(Attendee || Delegate ) && !Require
+ //ENone
+ };
+ public:
+ /**
+ * Two-phased constructor.
+ * @param aCalAttendee, don't give null pointer
+ * @return CAttendeeItem object.
+ */
+ static CAttendeeItem* NewL( CCalAttendee* aCalAttendee );
+
+ /**
+ * Two-phased constructor.
+ * @param aCalAttendee, don't give null pointer
+ * @return CAttendeeItem object.
+ */
+ static CAttendeeItem* NewLC( CCalAttendee* aCalAttendee );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CAttendeeItem();
+
+ private:
+ /**
+ * C++ default constructor.
+ * @param aCalAttendee, don't give null pointer
+ * @return CAttendeeItem object
+ */
+ CAttendeeItem( CCalAttendee* aCalAttendee );
+
+ public: //From MAttendeeItem
+ TContactItemId ContactId() const;
+ HBufC* ContactTitle() const;
+ CCalAttendee* AgnAttendee() const;
+
+ public: //New functions
+ /**
+ * Set contact item
+ * @param aId
+ */
+ void SetContactId( TContactItemId aId );
+
+ /**
+ * Set contact title
+ * Ownership transfered
+ * @param aTitle
+ */
+ void SetContactTitle( HBufC* aTitle );
+
+ /**
+ * Set ownership
+ * @param aOwnership
+ */
+ void SetOwnership( TBool aOwnership );
+
+ /**
+ * Returns
+ * ETrue if CAttendeeItem own CCalUser item
+ * EFalse if CAttendeeItem not own CCalUser item
+ * @return TBool
+ */
+ TBool Ownership() const;
+
+ /**
+ * Set CCalUser
+ * Ownership transfered if after this called SetOwnertship( ETrue )
+ * @param aCalAttendee
+ */
+ void SetAgnAttendee( CCalAttendee* aCalAttendee );
+
+ /**
+ * Set attendance
+ * @param aAttendance
+ */
+ void SetAttendanceL( TAttendance aAttendance );
+
+ /**
+ * Returns attendance of CAttendeeItem
+ * @return TAttendance
+ */
+ TAttendance AttendanceL() const;
+
+
+ /**
+ * Returns boolean value wether
+ * this attendee is organizer or not
+ * @return TBool
+ */
+ TBool IsOrganizer() const;
+
+ /**
+ * Set item to be organizer (ETrue)
+ * or not (EFalse)
+ * @param aOrganizerStatus
+ */
+ void SetOrganizerStatus(TBool aOrganizerStatus);
+
+
+ /**
+ * Compare the attendees and return DESC order
+ * @param aLhs
+ * @param aRhs
+ * @return 0, if the two objects are equal
+ * a negative value, if the first object is less than the second
+ * a positive value, if the first object is greater than the
+ * second.
+ */
+ static TInt CompareL( const CAttendeeItem& aLhs,
+ const CAttendeeItem& aRhs );
+
+ private: //New functions
+ /**
+ * Compare the attendaces of the attendence request
+ * return DESC order
+ * @param aLhs
+ * @param aRhs
+ * @return 0, if the two objects are equal
+ * a negative value, if the first object is less than the second
+ * a positive value, if the first object is greater than the
+ * second.
+ */
+ static TInt CompareAttendancesL( const CAttendeeItem& aLhs,
+ const CAttendeeItem& aRhs );
+
+ /**
+ * Compare the status of the attendence request
+ * return DESC order
+ * @param aLhs
+ * @param aRhs
+ * @return 0, if the two objects are equal
+ * a negative value, if the first object is less than the second
+ * a positive value, if the first object is greater than the
+ * second.
+ */
+ static TInt CompareStatusL( const CAttendeeItem& aLhs,
+ const CAttendeeItem& aRhs );
+
+ private: // data
+ ///TContactItemId
+ TContactItemId iContactID;
+
+ ///Own: Alias name
+ HBufC* iContactTitle;
+
+ ///Ref: or Own: depence to iOwnership
+ CCalAttendee* iCalAttendee;
+
+ ///Boolean variable to clarify if
+ ///item owns iCalAttendee
+ TBool iOwnership;
+
+ //Boolean to inform if this item
+ //is meeting organizer or not
+ TBool iOrganizerSatus;
+ };
+
+#endif // __CATTENDEE_ITEM_H__
+
+// End of File