sl@0: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef MMFFORMATIMPLEMENTATIONINFORMATIONBODY_H sl@0: #define MMFFORMATIMPLEMENTATIONINFORMATIONBODY_H sl@0: sl@0: #include sl@0: #include sl@0: sl@0: /** sl@0: This is the Body for CMMFFormatImplementationInformation. For descriptions of methods, see sl@0: CMMFFormatImplementationInformation itself. sl@0: */ sl@0: NONSHARABLE_CLASS(CMMFFormatImplementationInformation::CBody) : public CBase sl@0: { sl@0: public: sl@0: /** sl@0: Constructs a new format implementation information body object. sl@0: sl@0: @return The new object created. sl@0: */ sl@0: static CBody* NewL(); sl@0: sl@0: /** sl@0: Constructs a new format implementation information body object. sl@0: sl@0: @return The new object created. Note that this will be on the cleanup stack. sl@0: */ sl@0: static CBody* NewLC(); sl@0: sl@0: /** sl@0: Destructor sl@0: */ sl@0: virtual ~CBody(); sl@0: sl@0: // public functions forwarded from CMMFFormatImplementationInformation sl@0: const CDesC8Array& SupportedFileExtensions() const; sl@0: const CDesC8Array& SupportedMimeTypes() const; sl@0: const CDesC8Array& SupportedHeaderData() const; sl@0: TBool SupportsFileExtension(const TDesC8& aFileExtension) const; sl@0: TBool SupportsMimeType(const TDesC8& aMimeType) const; sl@0: TBool SupportsHeaderDataL(const TDesC8& aHeaderData) const; sl@0: TBool SupportsCustomInterfaces() const; sl@0: sl@0: /** sl@0: Adds a file extension to the array of extensions supported by this format. sl@0: */ sl@0: void AddFileExtensionL(const TDesC8& aData); sl@0: sl@0: /** sl@0: Adds a mime type to the array of types supported by this format. sl@0: */ sl@0: void AddMimeTypeL(const TDesC8& aData); sl@0: sl@0: /** sl@0: Adds a chunk of header data to the array of chunks supported by this format. sl@0: */ sl@0: void AddHeaderDataL(const TDesC8& aData); sl@0: sl@0: /** sl@0: Sets the flag that indicates whether custom interfaces are supported. sl@0: */ sl@0: void SetSupportsCustomInterfaces(const TBool aSupportsCustomInterfaces); sl@0: sl@0: protected: sl@0: sl@0: /** sl@0: Constructor sl@0: */ sl@0: CBody(); sl@0: sl@0: /** sl@0: 2nd phase constructor sl@0: */ sl@0: void ConstructL(); sl@0: sl@0: private: sl@0: /** sl@0: The file extensions supported by this format. sl@0: */ sl@0: CDesC8Array* iFileExtensions; sl@0: sl@0: /** sl@0: The mime types supported by this format. sl@0: */ sl@0: CDesC8Array* iMimeTypes; sl@0: sl@0: /** sl@0: The header data chunks supported by this format. sl@0: */ sl@0: CDesC8Array* iHeaderData; sl@0: sl@0: /** sl@0: Indicates whether this format supports custom interfaces sl@0: */ sl@0: TBool iSupportsCustomInterfaces; sl@0: }; sl@0: sl@0: #endif