1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __CSENDASMESSAGETYPES_H__
17 #define __CSENDASMESSAGETYPES_H__
22 // Forward declarations
27 Provides human-readable names and UIDs for the filtered list of message types.
32 class CSendAsMessageTypes : public CBase
35 IMPORT_C static CSendAsMessageTypes* NewL();
36 IMPORT_C virtual ~CSendAsMessageTypes();
38 IMPORT_C const MDesCArray& AvailableMessageTypes() const;
39 IMPORT_C TUid MessageTypeUid(TInt aIndex) const;
40 IMPORT_C TPtrC NameFromUidL(const TUid aUid) const;
41 IMPORT_C TUid UidFromNameL(const TDesC& aName) const;
42 IMPORT_C TInt Count() const;
43 IMPORT_C void Reset();
45 IMPORT_C void InternalizeL(RReadStream& aReadStream);
46 IMPORT_C void ExternalizeL(RWriteStream& aWriteStream) const;
48 IMPORT_C void AppendMessageTypeL(const TDesC& aMessageTypeName, TUid aMessageTypeUid);
49 IMPORT_C void RemoveMessageType(TInt aIndex);
50 IMPORT_C TInt Size() const;
53 CSendAsMessageTypes();
57 CDesCArrayFlat* iMessageTypeNames;
58 RArray<TUid> iMessageTypeUids;
61 #endif // __CSENDASMESSAGETYPES_H__