williamr@2: /*
williamr@2: * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
williamr@2: * All rights reserved.
williamr@2: * This component and the accompanying materials are made available
williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2: * which accompanies this distribution, and is available
williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2: *
williamr@2: * Initial Contributors:
williamr@2: * Nokia Corporation - initial contribution.
williamr@2: *
williamr@2: * Contributors:
williamr@2: *
williamr@2: * Description:  Media fetch API
williamr@2: *
williamr@2: */
williamr@2: 
williamr@2: 
williamr@2: #ifndef MGFETCH_H
williamr@2: #define MGFETCH_H
williamr@2: 
williamr@2: // INCLUDES
williamr@2: #include <e32base.h>
williamr@2: #include <MediaFileTypes.hrh>
williamr@2: #include <badesca.h>
williamr@2: 
williamr@2: // FORWARD DECLARATIONS
williamr@2: class MMGFetchVerifier;
williamr@2: class MMGFetchCanceler;
williamr@2: 
williamr@2: // CLASS DECLARATION
williamr@2: 
williamr@2: /**
williamr@2: *  MGFetch can be used to to fetch media files from third party applications
williamr@2: *
williamr@2: *  @lib MGFetch.lib
williamr@2: *  @since 2.0
williamr@2: */
williamr@2: class MGFetch
williamr@2:     {
williamr@2:     public: // New functions
williamr@2: 
williamr@2:         /**
williamr@2:         * Launch media file fetcher for single media type
williamr@2:         *
williamr@2:         * @since 2.0
williamr@2:         * @param aSelectedFiles Array to hold selected files
williamr@2:         * @param aMediaType Defines what media files to fetch
williamr@2:         * @param aMultiSelect Single or multiple file selection
williamr@2:         * @param aVerifier Optional verifier for file selection
williamr@2:         * @return ETrue if user selected file(s), EFalse if cancelled
williamr@2:         */
williamr@2:         IMPORT_C static TBool RunL( CDesCArray& aSelectedFiles,
williamr@2:                                     TMediaFileType aMediaType,
williamr@2:                                     TBool aMultiSelect,
williamr@2:                                     MMGFetchVerifier* aVerifier = NULL );
williamr@2: 
williamr@2:         /**
williamr@2:         * Launch media file fetcher for single media type
williamr@2:         *
williamr@2:         * @since 2.6
williamr@2:         * @param aSelectedFiles Array to hold selected files
williamr@2:         * @param aMediaType Defines what media files to fetch
williamr@2:         * @param aMultiSelect Single or multiple file selection
williamr@2:         * @param aSelectionSoftkey Optional text for left softkey
williamr@2:         *        (KNullDesC for default text)
williamr@2:         * @param aHeading Optional text for popup heading
williamr@2:         *        (KNullDesC for default text)
williamr@2:         * @param aVerifier Optional verifier for file selection
williamr@2:         * @return ETrue if user selected file(s), EFalse if cancelled
williamr@2:         */
williamr@2:         IMPORT_C static TBool RunL( CDesCArray& aSelectedFiles,
williamr@2:                                     TMediaFileType aMediaType,
williamr@2:                                     TBool aMultiSelect,
williamr@2:                                     const TDesC& aSelectionSoftkey,
williamr@2:                                     const TDesC& aHeading,
williamr@2:                                     MMGFetchVerifier* aVerifier = NULL );
williamr@2: 
williamr@2:         /**
williamr@2:         * Launch media file fetcher for single media type
williamr@2:         *
williamr@2:         * @since 2.6
williamr@2:         * @param aSelectedFiles Array to hold selected files
williamr@2:         * @param aMediaType Defines what media files to fetch
williamr@2:         * @param aMultiSelect Single or multiple file selection
williamr@2:         * @param aSelectionSoftkey Optional text for left softkey
williamr@2:         *        (KNullDesC for default text)
williamr@2:         * @param aHeading Optional text for popup heading
williamr@2:         *        (KNullDesC for default text)
williamr@2:         * @param aMimeTypes Optional array containing MIME types of files
williamr@2:         *                   which are displayed in the fetcher
williamr@2:         * @param aVerifier Optional verifier for file selection
williamr@2:         * @return ETrue if user selected file(s), EFalse if cancelled
williamr@2:         */
williamr@2:         IMPORT_C static TBool RunL( CDesCArray& aSelectedFiles,
williamr@2:                                     TMediaFileType aMediaType,
williamr@2:                                     TBool aMultiSelect,
williamr@2:                                     const TDesC& aSelectionSoftkey,
williamr@2:                                     const TDesC& aHeading,
williamr@2:                                     MDesCArray* aMimeTypes,
williamr@2:                                     MMGFetchVerifier* aVerifier = NULL );
williamr@2: 
williamr@2:         /**
williamr@2:         * Launch media file fetcher for single media type
williamr@2:         *
williamr@2:         * @since 2.6
williamr@2:         * @param aSelectedFiles Array to hold selected files
williamr@2:         * @param aMediaType Defines what media files to fetch
williamr@2:         * @param aMultiSelect Single or multiple file selection
williamr@2:         * @param aSelectionSoftkey Optional text for left softkey
williamr@2:         *        (KNullDesC for default text)
williamr@2:         * @param aHeading Optional text for popup heading
williamr@2:         *        (KNullDesC for default text)
williamr@2:         * @param aMimeTypes Optional array containing MIME types of files
williamr@2:         *                   which are displayed in the fetcher
williamr@2:         * @param aCanceler Reference to canceler interface pointer
williamr@2:         * @param aVerifier Optional verifier for file selection
williamr@2:         * @return ETrue if user selected file(s), EFalse if cancelled
williamr@2:         */
williamr@2:         IMPORT_C static TBool RunL( CDesCArray& aSelectedFiles,
williamr@2:                                     TMediaFileType aMediaType,
williamr@2:                                     TBool aMultiSelect,
williamr@2:                                     const TDesC& aSelectionSoftkey,
williamr@2:                                     const TDesC& aHeading,
williamr@2:                                     MDesCArray* aMimeTypes,
williamr@2:                                     MMGFetchCanceler*& aCanceler,
williamr@2:                                     MMGFetchVerifier* aVerifier = NULL
williamr@2:                                     );
williamr@2: 
williamr@2:     };
williamr@2: #endif // MGFETCH_H
williamr@2: 
williamr@2: // End of File