mediamanagementutilities/mediafetch/src/MGFetch.cpp
changeset 0 31ef7fef3f45
equal deleted inserted replaced
-1:000000000000 0:31ef7fef3f45
       
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Media Fetch API
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #include    <e32std.h>
       
    20 #include    <MGFetch.h>
       
    21 #include    <MMGFetchCanceler.h>
       
    22 #include    "mediafetch.h"
       
    23 
       
    24 // ======== MEMBER FUNCTIONS ========
       
    25 
       
    26 EXPORT_C TBool MGFetch::RunL( CDesCArray& aSelectedFiles,
       
    27                               TMediaFileType aMediaType,
       
    28                               TBool aMultiSelect,
       
    29                               MMGFetchVerifier* aVerifier )
       
    30     {
       
    31 
       
    32     return RunL( aSelectedFiles, aMediaType, aMultiSelect,
       
    33                  KNullDesC, KNullDesC, NULL, aVerifier );
       
    34     }
       
    35 
       
    36 EXPORT_C TBool MGFetch::RunL( CDesCArray& aSelectedFiles,
       
    37                               TMediaFileType aMediaType,
       
    38                               TBool aMultiSelect,
       
    39                               const TDesC& aSelectionSoftkey,
       
    40                               const TDesC& aHeading,
       
    41                               MMGFetchVerifier* aVerifier )
       
    42     {
       
    43 
       
    44     return RunL( aSelectedFiles, aMediaType, aMultiSelect, aSelectionSoftkey,
       
    45                  aHeading, NULL, aVerifier );
       
    46     }
       
    47 
       
    48 EXPORT_C TBool MGFetch::RunL( CDesCArray& aSelectedFiles,
       
    49                               TMediaFileType aMediaType,
       
    50                               TBool aMultiSelect,
       
    51                               const TDesC& aSelectionSoftkey,
       
    52                               const TDesC& aHeading,
       
    53                               MDesCArray* aMimeTypes,
       
    54                               MMGFetchVerifier* aVerifier
       
    55                               )
       
    56     {
       
    57     // We just need a pointer to pass as reference, not used
       
    58     MMGFetchCanceler* dummyCanceler = NULL;
       
    59 
       
    60     return RunL( aSelectedFiles, aMediaType, aMultiSelect, aSelectionSoftkey,
       
    61                  aHeading, aMimeTypes, dummyCanceler, aVerifier );
       
    62 
       
    63     }
       
    64 
       
    65 EXPORT_C TBool MGFetch::RunL( CDesCArray& aSelectedFiles,
       
    66                               TMediaFileType aMediaType,
       
    67                               TBool aMultiSelect,
       
    68                               const TDesC& aSelectionSoftkey,
       
    69                               const TDesC& aHeading,
       
    70                               MDesCArray* aMimeTypes,
       
    71                               MMGFetchCanceler*& aCanceler,
       
    72                               MMGFetchVerifier* aVerifier
       
    73                               )
       
    74     {
       
    75     CMediaFetch* fetch = CMediaFetch::NewLC( (TInt)aMediaType );
       
    76 
       
    77     // Pass optional parameters for plug-in implemention
       
    78     fetch->SetMultiSelectionL( aMultiSelect );
       
    79     if( aMimeTypes )
       
    80     	{
       
    81 	    fetch->SetMimeTypesL( *aMimeTypes );
       
    82     	}
       
    83     if( aSelectionSoftkey != KNullDesC )
       
    84     	{
       
    85 		fetch->SetSelectionSoftkeyL( aSelectionSoftkey );
       
    86     	}
       
    87     if( aHeading != KNullDesC  )
       
    88     	{
       
    89 	    fetch->SetHeadingL( aHeading );
       
    90     	}
       
    91     if( aVerifier )
       
    92     	{
       
    93 	    fetch->SetVerifierL( *aVerifier );
       
    94     	}
       
    95 
       
    96     // Get canceler interface
       
    97     fetch->GetCancelerL( aCanceler );
       
    98 
       
    99     // Launch fetcher
       
   100     
       
   101     TBool result( EFalse );
       
   102     TRAPD( error, result = fetch->LaunchL( aSelectedFiles, aMediaType ) );
       
   103     aCanceler = NULL;
       
   104     CleanupStack::PopAndDestroy( fetch );
       
   105     User::LeaveIfError( error );
       
   106 
       
   107     return result;
       
   108     }