epoc32/include/mw/remcondatabaseunawaremedialibrarybrowseobserver.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@4
     1
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@4
     2
// All rights reserved.
williamr@4
     3
// This component and the accompanying materials are made available
williamr@4
     4
// under the terms of "Eclipse Public License v1.0"
williamr@4
     5
// which accompanies this distribution, and is available
williamr@4
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@4
     7
//
williamr@4
     8
// Initial Contributors:
williamr@4
     9
// Nokia Corporation - initial contribution.
williamr@4
    10
//
williamr@4
    11
// Contributors:
williamr@4
    12
//
williamr@4
    13
// Description:
williamr@4
    14
//
williamr@4
    15
williamr@4
    16
williamr@4
    17
williamr@4
    18
/**
williamr@4
    19
 @file
williamr@4
    20
 @publishedAll
williamr@4
    21
 @released
williamr@4
    22
*/
williamr@4
    23
williamr@4
    24
#ifndef REMCONDATABASEUNAWAREMEDIALIBRARYBROWSEOBSERVER_H
williamr@4
    25
#define REMCONDATABASEUNAWAREMEDIALIBRARYBROWSEOBSERVER_H
williamr@4
    26
williamr@4
    27
NONSHARABLE_CLASS(MRemConDatabaseUnawareMediaLibraryBrowseObserver)
williamr@4
    28
	{
williamr@4
    29
public:
williamr@4
    30
	/**
williamr@4
    31
	This requests a list of the items present in a folder.  No metadata is 
williamr@4
    32
	requested, that can be retrieved separately on a per item basis.  
williamr@4
    33
	
williamr@4
    34
	The result should be returned via a call to
williamr@4
    35
	MRemConDatabaseUnawareMediaLibraryBrowse::MrcdumlbFolderListing(). And 
williamr@4
    36
	the ordering should be as shown locally, but should list folders before
williamr@4
    37
	media element items.
williamr@4
    38
	
williamr@4
    39
	@param aScope The scope in which the folder listing is made. 
williamr@4
    40
	       This indicates which listing should be returned. If the scope is 
williamr@4
    41
	       EBrowseFolder then the contents of the current browsed 
williamr@4
    42
	       folder should be returned. If it is the ESearchResultFolder scope 
williamr@4
    43
	       then the contents of the folder populated by the last search 
williamr@4
    44
	       should be returned.
williamr@4
    45
	
williamr@4
    46
	@param aStartItem The offset into the folder listing of the first item to 
williamr@4
    47
	       retrieve. If there is no media available at this offset the error 
williamr@4
    48
	       KErrMediaBrowseInvalidOffset should be returned via the result call
williamr@4
    49
	       to MrcdumlbFolderListing().
williamr@4
    50
	
williamr@4
    51
	@param aEndItem The offset into the folder listing of the final item to
williamr@4
    52
	       retrieve. If this is beyond the end of the folder listing then the 
williamr@4
    53
	       items from the aStartItem offset to the end of the listing should 
williamr@4
    54
	       be returned via the result call to MrcdumlbFolderListing().
williamr@4
    55
	*/
williamr@4
    56
	virtual void MrcdumlboGetFolderListing(TRemConFolderScope aScope,
williamr@4
    57
			TUint aStartItem, 
williamr@4
    58
			TUint aEndItem) = 0;
williamr@4
    59
	
williamr@4
    60
	/**
williamr@4
    61
	Requests a specific item which may be a folder item or a media element 
williamr@4
    62
	item. 
williamr@4
    63
	
williamr@4
    64
	If it returns KErrNone the client must return the metadata for the 
williamr@4
    65
	requested item through the response function either
williamr@4
    66
	MRemConDatabaseUnawareMediaLibraryBrowse::MrcdumlbFolderItemResult() 
williamr@4
    67
	or 
williamr@4
    68
	MRemConDatabaseUnawareMediaLibraryBrowse::MrcdumlbMediaElementItemResult()
williamr@4
    69
	according to the item type which is a folder item or media element item.
williamr@4
    70
	If it is unable to process this call then it can return error but not
williamr@4
    71
	call the response function.
williamr@4
    72
	
williamr@4
    73
	@param aScope The scope in which the item is present.  If the scope is 
williamr@4
    74
	       EBrowseFolder then the item is present in the media library's 
williamr@4
    75
	       virtual filesystem. If it is the ESearchResultFolder scope then the
williamr@4
    76
	       item is present in the current set of search results.
williamr@4
    77
	
williamr@4
    78
	@param aItemId The UID for the requested Item.
williamr@4
    79
	
williamr@4
    80
	@param aIter An iterator for TMediaAttributeIds containing a list of 
williamr@4
    81
	       TMediaAttributeIds requested by the controller. It is intended for
williamr@4
    82
	       the media element item, so omit it if the item is a folder item.
williamr@4
    83
williamr@4
    84
	@return The call back result.
williamr@4
    85
	      - KErrNone If success.
williamr@4
    86
	      - The appropriate error code.
williamr@4
    87
    */
williamr@4
    88
	virtual TInt MrcdumlboGetItem(TRemConFolderScope aScope,
williamr@4
    89
			const TRemConItemUid& aItemId, 
williamr@4
    90
			TMediaAttributeIter& aIter) = 0;
williamr@4
    91
	
williamr@4
    92
	/**
williamr@4
    93
	This requests that the current position within the folder heirarchy is 
williamr@4
    94
	moved to the next folder up.
williamr@4
    95
	
williamr@4
    96
	The result of this operation must be returned via a call to 
williamr@4
    97
	MRemConDatabaseUnawareMediaLibraryBrowse::MrcdumlbFolderUpResult().
williamr@4
    98
	*/
williamr@4
    99
	virtual void MrcdumlboFolderUp() = 0;
williamr@4
   100
	
williamr@4
   101
	/**
williamr@4
   102
	This requests that the current position within the folder hierarchy is 
williamr@4
   103
	moved to the child folder of the current folder specified by aFolder.
williamr@4
   104
	 
williamr@4
   105
	The result of this operation must be returned via a call to 
williamr@4
   106
	MRemConDatabaseUnawareMediaLibraryBrowse::MrcdumlbFolderDownResult().
williamr@4
   107
	 
williamr@4
   108
	@param aFolder The child folder to change into.
williamr@4
   109
	*/
williamr@4
   110
	virtual void MrcdumlboFolderDown(const TRemConItemUid& aFolder) = 0;
williamr@4
   111
	
williamr@4
   112
	/**
williamr@4
   113
	This requests the current path. 
williamr@4
   114
	
williamr@4
   115
	The client is responsible for appending items to the array then call 
williamr@4
   116
	MrcdumlbGetPathResult() when completed. Once the item is appended in the 
williamr@4
   117
	array the ownership of the item is taken so the client should keep the 
williamr@4
   118
	item valid and never destroy the item. If the client can append the items 
williamr@4
   119
	successfully then it must return a result via MrcdumlbGetPathResult(). 
williamr@4
   120
	If the client appends some items to the array but then fails to append all
williamr@4
   121
	the items then it must return an error via MrcdumlbGetPathResult().
williamr@4
   122
	
williamr@4
   123
	@see MRemConDatabaseUnawareMediaLibraryBrowse::MrcdumlbGetPathResult()
williamr@4
   124
	 
williamr@4
   125
	@param aPath The current path. 
williamr@4
   126
	       Each entry in the array in one level of the path.  For example the 
williamr@4
   127
	       path /A/B/C would be provided as:
williamr@4
   128
	       aPath[0] 'A'
williamr@4
   129
	       aPath[1] 'B'
williamr@4
   130
	       aPath[2] 'C'
williamr@4
   131
	       All string are in UTF-8.
williamr@4
   132
	*/
williamr@4
   133
	virtual void MrcdumlboGetPath(RPointerArray<HBufC8>& aPath) = 0;
williamr@4
   134
	
williamr@4
   135
	/**
williamr@4
   136
	Perform a search in the current location for items 
williamr@4
   137
	matching the search string.
williamr@4
   138
	
williamr@4
   139
	@param aSearch The string to search on in UTF-8. The client can use it until 
williamr@4
   140
	         the client has called MrcdumlbSearchResult().
williamr@4
   141
	
williamr@4
   142
	@see MRemConDatabaseUnawareMediaLibraryBrowse::MrcdumlbSearchResult()
williamr@4
   143
	*/
williamr@4
   144
	virtual void MrcdumlboSearch(const TDesC8& aSearch) = 0;
williamr@4
   145
	};
williamr@4
   146
williamr@4
   147
#endif //REMCONDATABASEUNAWAREMEDIALIBRARYBROWSEOBSERVER_H