williamr@2: // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #ifndef __CSMSEMAILFIELDS_H__ williamr@2: #define __CSMSEMAILFIELDS_H__ williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@4: #if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB) williamr@4: #include williamr@4: #include williamr@4: #endif williamr@4: williamr@2: class CMsvStore; williamr@2: williamr@4: #if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB) williamr@4: class CHeaderFields; williamr@4: #endif williamr@4: williamr@4: williamr@2: /** williamr@2: Encapsulates the address and subject fields for Email sent over SMS. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@4: NONSHARABLE_CLASS (CSmsEmailFields) : public CBase williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CSmsEmailFields* NewL(); williamr@2: IMPORT_C static CSmsEmailFields* NewL(const CSmsEmailFields& aEmailFields); williamr@2: IMPORT_C virtual ~CSmsEmailFields(); williamr@2: williamr@2: IMPORT_C void Reset(); williamr@2: IMPORT_C TInt Length() const; williamr@2: IMPORT_C TBool HasAddress() const; williamr@2: IMPORT_C HBufC* ComposeLC() const; williamr@2: TInt ParseL(const TDesC& aBuffer); williamr@2: williamr@2: IMPORT_C void AddAddressL(const TDesC& aAddress); williamr@2: IMPORT_C void RemoveAddress(TInt aIndex); williamr@2: IMPORT_C const MDesCArray& Addresses() const; williamr@2: williamr@2: IMPORT_C void SetSubjectL(const TDesC& aSubject); williamr@2: IMPORT_C const TDesC& Subject() const; williamr@2: williamr@2: void RestoreL(CMsvStore& aStore); williamr@2: void StoreL(CMsvStore& aStore) const; williamr@4: williamr@4: #if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB) williamr@4: void StoreDBL(CMsvStore& aStore); williamr@4: void ReStoreDBL(CMsvStore& aStore); williamr@4: TInt ConvertToTInt(TDesC16& aStr); williamr@4: void GetRecipientListL(TDesC16& aStr); williamr@4: TInt GetBufSize(); williamr@4: #endif williamr@4: williamr@2: private: williamr@2: CSmsEmailFields(); williamr@2: void ConstructL(); williamr@2: void ConstructL(const CSmsEmailFields& aEmailFields); williamr@2: williamr@2: void InternalizeL(RReadStream& aStream); williamr@2: void ExternalizeL(RWriteStream& aStream) const; williamr@2: private: williamr@2: CDesCArray* iAddresses; williamr@2: HBufC* iSubject; williamr@2: }; williamr@2: williamr@2: #endif // __CSMSEMAILFIELDS_H__