diff -r 000000000000 -r 72b543305e3a email/pop3andsmtpmtm/smtpservermtm/inc/SMTS.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/pop3andsmtpmtm/smtpservermtm/inc/SMTS.H Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,98 @@ +// Copyright (c) 1998-2009 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: +// This is the public API header file for SMTS.DLL - +// the transport driver which sends Imail using the +// SMTP Internet protocol. +// +// + +#if !defined(__SMTS_H__) +#define __SMTS_H__ +#if !defined(__MTSR_H__) +#include +#endif + +#include +#include +#include + +class CMsgImOutboxSend; + +/** +@internalTechnology +@released +*/ +typedef TPckgBuf TImSmtpProgressBuf; + +class CSmtpSrvMtm : public CBaseServerMtm +/** +@internalTechnology +@released +*/ + { +public: + IMPORT_C static CSmtpSrvMtm* NewL(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry* aEntry); + ~CSmtpSrvMtm(); + + void CopyToLocalL(const CMsvEntrySelection& aSelection,TMsvId aDestination, TRequestStatus& aStatus); + void MoveToLocalL(const CMsvEntrySelection& aSelection,TMsvId aDestination, TRequestStatus& aStatus); + void CopyFromLocalL(const CMsvEntrySelection& aSelection,TMsvId aDestination, TRequestStatus& aStatus); + void MoveFromLocalL(const CMsvEntrySelection& aSelection,TMsvId aDestination, TRequestStatus& aStatus); + void CopyWithinServiceL(const CMsvEntrySelection& aSelection,TMsvId aDestination, TRequestStatus& aStatus); + void MoveWithinServiceL(const CMsvEntrySelection& aSelection,TMsvId aDestination, TRequestStatus& aStatus); + void DeleteAllL(const CMsvEntrySelection& aSelection, TRequestStatus& aStatus); + void CreateL(TMsvEntry aNewEntry, TRequestStatus& aStatus); + void ChangeL(TMsvEntry aNewEntry, TRequestStatus& aStatus); + // + void StartCommandL(CMsvEntrySelection& aSelection, TInt aCommand, const TDesC8& aParameter, TRequestStatus& aStatus); + // + TBool CommandExpected(); + // + const TDesC8& Progress(); + // + +protected: + void DoCancel(); + void DoRunL(); + void DoComplete(TInt aError); + TInt Extension_(TUint aExtensionId, TAny *&a0, TAny *a1); +private: + CSmtpSrvMtm(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry* aEntry); + void ConstructL(); + void DoSendMessagesL(TRequestStatus& aStatus); + void CopyToOurSelectionL(const CMsvEntrySelection& aSourceSelection); + void AddWaitingInOutboxToSelectionL(); + TInt SetServiceToConnected(TBool aConnected); + TInt GetNonOperationMtmData(TNonOperationMtmDataType aMtmDataType, TPtrC8& aMtmDataBuffer); + +private: + + TMsvId iServiceId; + CMsgImOutboxSend* iOutboxSend; + TRequestStatus* iReport; + TImSmtpProgressBuf iProgressBuffer; + TInt iSessionError; + TUint32 iIntrAddress; + CMsvEntrySelection* iSendSelection; + +#if (defined SYMBIAN_USER_PROMPT_SERVICE) + TThreadId iClientThreadId; + TBool iHasCapability; +#endif + + TNonOperationMtmDataAccessPointIdBuffer iMtmDataAccessPointIdBuffer; + + }; + +#endif