diff -r ebe688cedc25 -r 7fdbb852d323 email/imum/DomainApi/inc/ImumDaMailboxServicesImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imum/DomainApi/inc/ImumDaMailboxServicesImpl.h Wed Sep 01 12:31:54 2010 +0100 @@ -0,0 +1,111 @@ +/* +* 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: ImumDaMailboxServicesImpl.h + * +*/ + + +#ifndef C_IMUMDAMAILBOXSERVICESIMPL_H +#define C_IMUMDAMAILBOXSERVICESIMPL_H + +#include +#include "ImumDaMailboxServices.h" +#include "ImumInternalApi.h" + +NONSHARABLE_CLASS( CImumDaMailboxServicesImpl ): + public MImumDaMailboxServices + { + public: // Constructors and destructor + + /** + * Create object from CImumDaMailboxServicesImpl + * + * @since S60 3.2 + * @param aMailboxApi, Reference to internal api. + * @return, Constructed object + */ + static CImumDaMailboxServicesImpl* NewL( CImumInternalApi& aMailboxApi ); + + /** + * Creates object from CImumDaMailboxServicesImpl and leaves it to cleanup stack + * + * @since S60 3.2 + * @param aMailboxApi, Reference to internal api. + * @return, Constructed object + */ + static CImumDaMailboxServicesImpl* NewLC( CImumInternalApi& aMailboxApi ); + + /** + * Destructor + * @since S60 3.2 + */ + virtual ~CImumDaMailboxServicesImpl(); + + protected: // Constructors + + /** + * Default constructor for CImumDaMailboxServicesImpl + * + * @since S60 3.2 + * @param aMailboxApi, Reference to internal api. + * @return, Constructed object + */ + CImumDaMailboxServicesImpl( CImumInternalApi& aMailboxApi ); + + /** + * Symbian 2-phase constructor + * @since S60 3.2 + */ + void ConstructL(); + + public: // From class MImumDaMailboxServices + + /** + * Creates and prepares mailbox settings data object. + * *** NOTE: Client is responsible to destroy the object after usage *** + * + * @since S60 v3.2 + * @param aProtocol, Any receiving protocol: Imap4 or Pop3. + * @return Pointer to mailbox settings dataobject. + * @leave EParamNotReceivingProtocol, If protocol receiving one. + */ + CImumDaSettingsData* CreateSettingsDataL( const TUid& aProtocol ) const; + + /** + * Validates the data and creates working mailbox to system. + * + * @since S60 v3.2 + * @param aSettingsData, Settings data object containing valid settings. + */ + TMsvId CreateMailboxL( CImumDaSettingsData& aSettingsData ) const; + + /** + * Sets the system's default mailbox (sending). + * + * @since S60 v3.2 + * @param aMailboxId, Id of the mailbox. + * @leave EEntryNotFound, If the entry for the id can't be found. + * @leave EEntryNotMailbox, If the id does not belong to mailbox. + */ + void SetDefaultMailboxL( const TMsvId aMailboxId ) const; + + private: + + //Reference to internal Api + CImumInternalApi &iMailboxApi; + //not owned : shortcut to services + MImumInMailboxServices* iServices; +}; + +#endif /* C_IMUMDAMAILBOXSERVICESIMPL_H */