diff -r 000000000000 -r 094583676ce7 wvuing/wvuiprocess/Inc/CCAGroupPropertiesPC.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuiprocess/Inc/CCAGroupPropertiesPC.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,195 @@ +/* +* 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: Implementation for PC Group properties dialog +* +*/ + + +#ifndef CCAGGROUPPROPERTIESPC_H +#define CCAGGROUPPROPERTIESPC_H + +// INCLUDES +#include "mcagrouppropertiespc.h" +#include "MCAChatObserver.h" +#include "MCAGroupEventObserver.h" +#include "MCAMessageErrorObserver.h" +#include "MCAMessageRWInterfacePC.h" +#include + + +// FORWARD DECLARATIONS +class CCAEngine; +class MCAStoredGroups; +class MCAStoredGroup; +class MCAGroupManagerInterface; +class MCAGroupOperations; +class MCAStoredContacts; + + +//class declaration +/** + * @lib wvuiprocessng.lib + * @since 3.2 + */ +class CCAGroupPropertiesPC: public CBase, + public MCAGroupPropertiesPC + + { + + public: + + /** + * Symbian Two Phase Constructor + * @param aEngine : a reference to chat engine + */ + static CCAGroupPropertiesPC* NewL( MCAGroupManagerInterface& aGroupMgrInterface ); + + + /** + * Second phased symbian constructor. + */ + void ConstructL(); + + /** + * virtual destructor + */ + virtual ~CCAGroupPropertiesPC(); + + public: //From MCAGroupPropertiesPC + + /** + * @see MCAGroupPropertiesPC + */ + TInt NumberOfCreatedGroupsDuringSession(); + + + /** + * @see MCAGroupPropertiesPC + */ + const TPtrC GetIdentificationL( const TDesC& aContactId ); + + + /** + * @see MCAGroupPropertiesPC + */ + TEnumsPC::TImpsPropertyBoolPC IsSearchable( ) ; + + /** + * @see MCAGroupPropertiesPC + */ + virtual TInt InitializeForEdittingL( const TDesC& aGroupId ); + + /** + * @see MCAGroupPropertiesPC + */ + virtual TBool IsJoined( const TDesC& aGroupId ) const; + + /** + * @see MCAGroupPropertiesPC + */ + virtual TBool IsOwnGroup( const TDesC& aGroupId ) const ; + + /** + * @see MCAGroupPropertiesPC + */ + virtual TBool IsAdmin( const TDesC& aGroupId ) const ; + + /** + * @see MCAGroupPropertiesPC + */ + virtual TBool IsFavouriteChatGroup( const TDesC& aGroupId ) const; + + /** + * @see MCAGroupPropertiesPC + */ + virtual TBool FindGroup( const TDesC& aGroupId ) const; + + /** + * @see MCAGroupPropertiesPC + */ + virtual const TDesC& GetGroupName( const TDesC& aGroupId ) const; + + /** + * @see MCAGroupPropertiesPC + */ + virtual TEnumsPC::TImpsPropertyBoolPC IsPrivateAllowed(); + + /** + * @see MCAGroupPropertiesPC + */ + virtual TEnumsPC::TImpsPropertyBoolPC IsOpen(); + + /** + * @see MCAGroupPropertiesPC + */ + virtual void SetOpen( TEnumsPC::TImpsPropertyBoolPC aType ); + + public: + + /** + * To convert the impsengine side TImpsPropertyBool enum to PC side + * TImpsPropertyBoolPC + * @param aEventSource: enum type in impsengine TImpsPropertyBool + * @return TEnumsPC::TImpsPropertyBoolPC + */ + TEnumsPC::TImpsPropertyBoolPC ConvertTImpsPropertyBoolToTEnumsPC + ( TImpsPropertyBool aEventSource ); + + /* + * This method will be called by the grouputilspc component after the + * groupproperties dialog has exited. The member variable + * iImpsCommonGropuProps of this class will contain the edited or newly + * created group's properties. This method will return the same instance + * of editted properties to the grouputilspc. + * @return CImpsCommonGroupProps instance: holds the saved changes to + * the properties of a group + */ + CImpsCommonGroupProps* GetEdittedProperties(); + + public: + //common group properties to be used by edit group properties only + CImpsCommonGroupProps* iGroupPropsForGrpPropDialog; + + public: //include inline functions file +#include "CCAGroupPropertiesPC.inl" + + private: + + /** + * default constructor + * @param aGroupMgrInterface : a reference to group manager interface in the engine component + */ + CCAGroupPropertiesPC( MCAGroupManagerInterface& aGroupMgrInterface ); + + private: + + + //Doesnt own,Handle to chat groups interface + MCAStoredGroups* iChatGroups; + + //Doesn't own. Group interface + MCAGroupManagerInterface& iGroupMgrInterface; + + //Doesnt own, Handle to Interface for stored contacts + MCAStoredContacts* iStoredContacts; + + + //private group props to be used by edit group properties only + CImpsPrivateGroupProps* iPrivatePropsForGrpPropDialog; + + }; + +#endif // CCAGGROUPPROPERTIESDIALOGPC_H + +// End of File