breakdeps/mmfclientutility.h
author William Roberts <williamr@symbian.org>
Wed, 20 Oct 2010 13:05:58 +0100
changeset 125 657f02e590f1
permissions -rw-r--r--
Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
125
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     1
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     2
// All rights reserved.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     7
//
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     8
// Initial Contributors:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    10
//
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    11
// Contributors:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    12
//
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    13
// Description:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    14
// Client utility functions
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    15
// 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    16
//
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    17
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    18
#ifndef __MMF_CLIENT_UTILITY_H__
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    19
#define __MMF_CLIENT_UTILITY_H__
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    20
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    21
#include <mda/common/audio.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    22
#include <mda/common/gsmaudio.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    23
#include <mda/client/utility.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    24
#include <mmf/common/mmffourcc.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    25
#include <mmfformatimplementationuids.hrh>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    26
#include "mmf/common/mmfcontrollerpluginresolver.h"
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    27
#include <mmf/server/mmffile.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    28
#include <mmf/server/mmfdes.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    29
#include "mmf/common/mmfcontroller.h"
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    30
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    31
#include <f32file.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    32
#include <caf/content.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    33
#include <caf/data.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    34
#include <mmf/common/mmfstandardcustomcommands.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    35
#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    36
#include <mmf/common/mmfstandardcustomcommandsenums.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    37
#include <mmf/common/mmfstandardcustomcommandsimpl.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    38
#endif
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    39
#ifdef SYMBIAN_BUILD_GCE
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    40
#include <mmf/common/mmfvideosurfacecustomcommands.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    41
#endif
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    42
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    43
class CMMSourceSink; // declared here.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    44
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    45
NONSHARABLE_CLASS( CMMSourceSink ): public CBase
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    46
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    47
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    48
	IMPORT_C static CMMSourceSink* NewL(TUid aUid, const TDesC8& aDescriptor);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    49
	IMPORT_C static CMMSourceSink* NewLC(TUid aUid, const TDesC8& aDescriptor);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    50
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    51
	virtual ~CMMSourceSink();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    52
	virtual TUid SourceSinkUid() const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    53
	virtual const TDesC8& SourceSinkData() const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    54
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    55
	virtual TBool CarryingFileHandle() const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    56
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    57
	virtual void EvaluateIntentL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    58
protected:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    59
	CMMSourceSink(TUid aUid);	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    60
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    61
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    62
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    63
	void ConstructL(const TDesC8& aDescriptor);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    64
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    65
	const TUid iUid;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    66
	HBufC8* iBuf;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    67
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    68
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    69
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    70
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    71
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    72
class CMMFileSourceSink; // declared here.	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    73
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    74
NONSHARABLE_CLASS( CMMFileSourceSink ): public CMMSourceSink
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    75
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    76
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    77
	IMPORT_C static CMMFileSourceSink* NewL(TUid aUid, const RFile& aFile);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    78
	IMPORT_C static CMMFileSourceSink* NewLC(TUid aUid, const RFile& aFile);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    79
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    80
	IMPORT_C static CMMFileSourceSink* NewL(TUid aUid, const TMMSource& aMMSource);			
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    81
	IMPORT_C static CMMFileSourceSink* NewLC(TUid aUid, const TMMSource& aMMSource);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    82
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    83
	const TDesC& UniqueId() const {return *iUniqueId;}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    84
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    85
	virtual ~CMMFileSourceSink();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    86
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    87
	const TDesC& FileName() const {return *iFileName;}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    88
	const TDesC8& SourceSinkData() const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    89
		
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    90
	IMPORT_C void EvaluateIntentL(ContentAccess::TIntent aIntent);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    91
	virtual void EvaluateIntentL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    92
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    93
	TBool CarryingFileHandle() const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    94
		
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    95
	TBool UsingFileHandle() const {return iUsingFileHandle;};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    96
	const RFile& FileHandle() const {return iHandle;};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    97
protected:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    98
	CMMFileSourceSink(TUid aUid);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    99
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   100
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   101
	void ConstructL(const TMMSource& aSource);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   102
	void DoCreateFileSourceConfigDataL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   103
	void ConstructL(const RFile& aFile);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   104
	void DoCreateFileHandleSourceConfigDataL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   105
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   106
	TBool iUsingFileHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   107
	RFile iHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   108
	HBufC* iFileName;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   109
	HBufC8* iSourceSinkData;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   110
	HBufC* iUniqueId;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   111
	ContentAccess::TIntent iIntent;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   112
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   113
	TBool	iEnableUI;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   114
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   115
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   116
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   117
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   118
class CMMFMdaObjectStateChangeObserverCallback; // declared here.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   119
/**
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   120
Active object utility class to allow the callback to be called asynchronously.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   121
This should help prevent re-entrant code in clients of the mediaframework.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   122
*/
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   123
NONSHARABLE_CLASS( CMMFMdaObjectStateChangeObserverCallback ): public CActive
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   124
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   125
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   126
	IMPORT_C static CMMFMdaObjectStateChangeObserverCallback* NewL(MMdaObjectStateChangeObserver& aCallback);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   127
	virtual ~CMMFMdaObjectStateChangeObserverCallback();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   128
	IMPORT_C void CallBack(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   129
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   130
	CMMFMdaObjectStateChangeObserverCallback(MMdaObjectStateChangeObserver& aCallback);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   131
	void RunL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   132
	void DoCancel();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   133
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   134
	MMdaObjectStateChangeObserver& iCallback;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   135
	CBase* iObject;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   136
	TInt iPreviousState;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   137
	TInt iCurrentState;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   138
	TInt iErrorCode;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   139
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   140
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   141
class CMMFClientUtility; // declared here.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   142
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   143
NONSHARABLE_CLASS( CMMFClientUtility )
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   144
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   145
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   146
	IMPORT_C static TUid ConvertMdaFormatUidToECOMWrite(TUid aMdaFormatUid); 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   147
	IMPORT_C static TUid ConvertMdaFormatUidToECOMRead(TUid aMdaFormatUid); 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   148
	IMPORT_C static TFourCC ConvertMdaCodecToFourCC(TMdaPackage& aCodec);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   149
	IMPORT_C static TInt GetFileHeaderData(const TDesC& aFileName, TDes8& aHeaderData, TInt aMaxLength);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   150
	IMPORT_C static HBufC8* GetFileExtensionL(const TDesC& aFileName);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   151
	static void PrioritiseControllersL(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   152
		const RMMFControllerImplInfoArray& aControllers, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   153
		const TDesC8& aHeaderDataPlayback, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   154
		const TDesC8& aFileExtensionPlayback, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   155
		const TDesC8& aHeaderDataRecord, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   156
		const TDesC8& aFileExtensionRecord, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   157
		RMMFControllerImplInfoArray& aPrioritisedControllers);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   158
	static TInt GetBestMatchL(const CMMFFormatImplementationInformation* format, const TDesC8& aHeaderData, const TDesC8& aFileExtension);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   159
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   160
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   161
	CMMFClientUtility();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   162
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   163
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   164
class CMMFUtilityFileInfo; // declared here.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   165
class RMMFDRMPluginServerProxy;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   166
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   167
NONSHARABLE_CLASS( CMMFUtilityFileInfo ): public CBase
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   168
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   169
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   170
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   171
	static CMMFUtilityFileInfo* NewL(TMMSource& aSource, TBool aSecureDRMMode = EFalse);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   172
	static CMMFUtilityFileInfo* NewLC(TMMSource& aSource, TBool aSecureDRMMode = EFalse);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   173
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   174
	~CMMFUtilityFileInfo();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   175
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   176
	TBool GetFileMimeTypeL(TDes8& aMimeType);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   177
	void  GetFileHeaderDataL(TDes8& aHeaderData, TInt aMaxLength);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   178
	TInt EvaluateIntent(ContentAccess::TIntent aIntent);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   179
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   180
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   181
	CMMFUtilityFileInfo();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   182
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   183
	void ConstructL(const TMMSource& aSource, TBool aSecureDRMMode);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   184
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   185
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   186
	ContentAccess::CData* iData;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   187
	RMMFDRMPluginServerProxy* iDrmPluginServer;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   188
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   189
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   190
inline CMMFUtilityFileInfo::CMMFUtilityFileInfo()
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   191
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   192
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   193
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   194
/**
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   195
 * Mixin class that the user of the class CMMFFindAndOpenController must derive from.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   196
 * @internalComponent
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   197
 */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   198
class MMMFFindAndOpenControllerObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   199
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   200
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   201
	/**
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   202
	 * Callback function to indicate the success or failure
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   203
	 * of an attempt to find and open a suitable controller and 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   204
	 * to add a source and sink.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   205
	 * @see CMMFFindAndOpenController
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   206
	 * 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   207
	 * @param aError 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   208
	 *        Indicates whether a controller has been opened sucessfully
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   209
	 *        This is passed by reference, mainly for the audio recorder utility 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   210
	 *        which opens two controllers: if the secondary controller (which is
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   211
	 *        always opened first) fails to open, then the audio recorder utility
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   212
	 *        may choose to set aError = KErrNone in the MfaocComplete() callback 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   213
	 *        to indicate to CFindAndOpenControler() that it should continue 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   214
	 *        to open the primary controller, even though opening the secondary failed.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   215
	 * @param aController
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   216
	 *        A pointer to the controller that has been opened or has failed to open
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   217
	 *        This is mainly for the audio recorder utility to indicate  
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   218
	 *        which controller (primary or secondary) has been opened.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   219
	 * @param aControllerUid
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   220
	 *        the UID of the controller that has been opened
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   221
	 * @param aSourceHandle
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   222
	 *        a pointer to the source handle
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   223
	 * @internalComponent
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   224
	 *        a pointer to the sink handle
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   225
	 */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   226
	virtual void MfaocComplete(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   227
		TInt& aError, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   228
		RMMFController* aController, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   229
		TUid aControllerUid = KNullUid, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   230
		TMMFMessageDestination* aSourceHandle = NULL, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   231
		TMMFMessageDestination* aSinkHandle = NULL) = 0;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   232
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   233
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   234
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   235
class CMMFFindAndOpenController; // declared here.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   236
/**
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   237
 * Utility class used by the MMF client API classes.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   238
 * Finds and opens a suitable controller and adds a source and a sink 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   239
 * asynchronously. Completion is indicated asynchronously 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   240
 * using the MMMFFindAndOpenControllerObserver mixin class.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   241
 *
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   242
 * @internalComponent
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   243
 */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   244
NONSHARABLE_CLASS( CMMFFindAndOpenController ): public CActive, public MMMFAddDataSourceSinkAsyncObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   245
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   246
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   247
	enum TControllerMode
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   248
		{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   249
		EPlayback,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   250
		ERecord,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   251
		EConvert
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   252
		};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   253
		
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   254
	enum TControllerNumber
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   255
		{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   256
		EPrimaryController,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   257
		ESecondaryController
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   258
		};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   259
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   260
	class TSourceSink
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   261
		{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   262
	public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   263
		IMPORT_C TSourceSink(TUid aUid, const TDesC8& aData = KNullDesC8);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   264
		IMPORT_C TSourceSink(TUid aUid, const RFile& aFile);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   265
		
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   266
		TUid iUid;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   267
		const TDesC8& iConfigData;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   268
		TBool iUseFileHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   269
		RFile iFileHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   270
		};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   271
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   272
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   273
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   274
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   275
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   276
	IMPORT_C static CMMFFindAndOpenController* NewL(MMMFFindAndOpenControllerObserver& aObserver);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   277
	virtual ~CMMFFindAndOpenController();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   278
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   279
	// from CActive
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   280
	virtual void DoCancel();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   281
	virtual void RunL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   282
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   283
	// from MMMFAddDataSourceSinkAsyncObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   284
	virtual void MadssaoAddDataSourceSinkAsyncComplete(TInt aError, const TMMFMessageDestination& aHandle);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   285
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   286
	IMPORT_C void Configure(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   287
		TUid aMediaId, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   288
		TMMFPrioritySettings aPrioritySettings,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   289
		CMMFPluginSelectionParameters::TMediaIdMatchType aMediaIdMatchType = CMMFPluginSelectionParameters::EAllowOnlySuppliedMediaIds);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   290
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   291
	IMPORT_C void ConfigureController(RMMFController& aController, CMMFControllerEventMonitor& aEventMonitor, TControllerMode aControllerMode = EPlayback);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   292
	IMPORT_C void ConfigureSecondaryController(RMMFController& aController, CMMFControllerEventMonitor& aEventMonitor, TControllerMode aControllerMode = EPlayback);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   293
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   294
	IMPORT_C void UseSharedHeap();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   295
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   296
	IMPORT_C void ConfigureSourceSink(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   297
		TSourceSink aSource,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   298
		TSourceSink aSink);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   299
	IMPORT_C void ConfigureSecondarySourceSink(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   300
		TSourceSink aSource,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   301
		TSourceSink aSink);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   302
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   303
	IMPORT_C void ConfigureSourceSink(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   304
		const TMMSource& aSource, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   305
		TSourceSink aSink);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   306
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   307
	IMPORT_C void OpenByFileSource(const TMMSource& aFileSource, const TDesC& aFileNameSecondary = KNullDesC);	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   308
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   309
	IMPORT_C void OpenByFormatUid(TUid aFormatUid, TUid aFormatUidSecondary = KNullUid);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   310
	IMPORT_C void OpenByDescriptor(const TDesC8& aDescriptor);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   311
	IMPORT_C void OpenByUrl(const TDesC& aUrl, TInt aIapId, const TDesC8& aMimeType);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   312
	IMPORT_C void OpenByControllerUid(TUid aControllerUid, TUid aSecondaryControllerUid = KNullUid);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   313
	IMPORT_C void ReOpen();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   314
	IMPORT_C void Close();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   315
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   316
	IMPORT_C static TMMFFileConfig GetConfigFile(const TDesC& aFileName);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   317
	IMPORT_C static TMMFDescriptorConfig GetConfigDescriptor(const TDesC8& aDescriptor);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   318
	IMPORT_C void CloseConfig();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   319
	IMPORT_C static void GetConfigUrlL(CBufFlat*& aUrlCfgBuffer, const TDesC& aUrl, TInt aIapId);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   320
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   321
	/** made public to check for further selected controllers in the queue */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   322
	inline TInt ControllerIndex() const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   323
	inline TInt ControllerCount() const; 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   324
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   325
	/** made public to stop checking for further selected controllers in the queue */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   326
	inline TBool StopTryLoadController() const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   327
	IMPORT_C void SetInitScreenNumber(TInt aScreenNumber, RMMFVideoSetInitScreenCustomCommands* aVideoSetInitScreenCustomCommands);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   328
#ifdef SYMBIAN_BUILD_GCE
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   329
	inline void SetSurfaceMode(TBool aUseSurface, RMMFVideoPlaySurfaceSupportCustomCommands* aVideoPlaySurfaceSupportCustomCommands);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   330
	inline TInt SurfaceSupported();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   331
#endif
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   332
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   333
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   334
	class CConfig: public CBase
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   335
		{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   336
	public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   337
		CConfig();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   338
		~CConfig();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   339
		void Close();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   340
	public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   341
		RMMFController* iController;				// not owned
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   342
		CMMFControllerEventMonitor* iEventMonitor;	// not owned
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   343
		
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   344
		/** indicates whether this controller is being used for 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   345
		playback, recording or converting */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   346
		TControllerMode iControllerMode;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   347
		
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   348
		CMMSourceSink* iSource;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   349
		CMMSourceSink* iSink;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   350
		TUid iControllerUid;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   351
		};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   352
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   353
	CMMFFindAndOpenController(MMMFFindAndOpenControllerObserver& aObserver);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   354
	void ConstructL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   355
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   356
	void Init();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   357
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   358
	void ConfigureSourceSink(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   359
		CConfig& config,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   360
		TSourceSink aSource, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   361
		TSourceSink aSink);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   362
		
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   363
	void ConfigureSourceSink(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   364
		CConfig& config,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   365
		const TMMSource& aSource, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   366
		TSourceSink aSink);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   367
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   368
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   369
	void ConfigureController(
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   370
		CConfig& config,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   371
		RMMFController& aController, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   372
		CMMFControllerEventMonitor& aEventMonitor,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   373
		TControllerMode aControllerMode);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   374
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   375
	void CloseController();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   376
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   377
	void OpenPrimaryController(void);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   378
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   379
	void KickState();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   380
	void Process();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   381
	void SendError(TInt aError = KErrNone, TBool aForcedError = EFalse);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   382
	void SchedSendError(TInt aError = KErrNone);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   383
	void BuildControllerListFileNameL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   384
	void BuildControllerListDescriptorL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   385
	void BuildControllerListUrlL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   386
	void BuildControllerListFormatL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   387
	void TryNextController();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   388
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   389
	CMMSourceSink* CreateSourceSinkL(const TSourceSink& aParams);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   390
	CMMSourceSink* CreateSourceSinkL(const TMMSource& aSource);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   391
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   392
	CMMFUtilityFileInfo* CreateFileInfoL(TBool aSecureDRMMode = EFalse);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   393
	void UseSecureDRMProcessL(TBool& aIsSecureDrmProcess);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   394
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   395
	/** primary controller details */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   396
	CConfig* iPrimaryConfig;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   397
	/** secondary controller details */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   398
	CConfig* iSecondaryConfig;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   399
	/** points to either iPrimaryConfig or iSecondaryConfig */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   400
	CConfig* iCurrentConfig;	// not owned
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   401
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   402
	enum TMode
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   403
		{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   404
		EOpenByControllerUid,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   405
		EOpenByFileName,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   406
		EOpenByDescriptor,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   407
		EOpenByUrl,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   408
		EOpenByFormatUid
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   409
		};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   410
	TMode iMode;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   411
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   412
	/** indicates what state the state machine is in */
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   413
	enum TState
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   414
		{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   415
		EIdle,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   416
		EBuildControllerList,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   417
		EOpenController,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   418
		EAddSource,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   419
		EAddSink,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   420
		EWaitingForSource,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   421
		EWaitingForSink,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   422
		ESendError
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   423
		};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   424
	TState iState;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   425
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   426
	MMMFFindAndOpenControllerObserver& iObserver;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   427
	CMMFAddDataSourceSinkAsync* iAddDataSourceSinkAsync;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   428
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   429
	TInt iControllerIndex;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   430
	TInt iControllerCount; 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   431
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   432
	TFileName iFileNameSecondary;	// for converting
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   433
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   434
	TFileName iFileName;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   435
	TBool iUseFileHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   436
	TBool iOwnFileHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   437
	HBufC* iUniqueId; 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   438
	RFile iFileHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   439
	ContentAccess::TIntent iIntent;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   440
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   441
	HBufC* iUrl;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   442
	HBufC8* iMimeType;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   443
	TPtr8 iDescriptor;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   444
	TInt iIapId;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   445
	TUid iFormatUid;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   446
	TUid iFormatUidSecondary;	// for converting
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   447
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   448
	TUid iMediaId;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   449
	TMMFPrioritySettings iPrioritySettings;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   450
	CMMFPluginSelectionParameters::TMediaIdMatchType iMediaIdMatchType;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   451
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   452
	RMMFControllerImplInfoArray iControllers;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   453
	RMMFControllerImplInfoArray iPrioritisedControllers;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   454
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   455
	// if this is non-null, then it points to an element in
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   456
	// either iControllers or iPrioritisedControllers
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   457
	CMMFControllerImplementationInformation* iControllerImplInfo;	// not owned
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   458
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   459
	TControllerMode iControllerMode;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   460
	TBool iSourceSinkConfigured;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   461
	TInt iError;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   462
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   463
	TMMFMessageDestination iSourceHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   464
	TMMFMessageDestination iSinkHandle;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   465
	TBool iEnableUi;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   466
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   467
	TBool iUseSharedHeap; // should new controllers use shared heaps?
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   468
	TBool iStopTryLoadController; //stop to try loading the selected conrollers from the list
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   469
	RMMFVideoSetInitScreenCustomCommands* iVideoSetInitScreenCustomCommands;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   470
	TInt iScreenNumber;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   471
	TBool iHasDrmCapability;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   472
	TBool iUsingSecureDrmProcess;	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   473
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   474
#ifdef SYMBIAN_BUILD_GCE
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   475
	RMMFVideoPlaySurfaceSupportCustomCommands* iVideoPlaySurfaceSupportCustomCommands;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   476
	TBool iUseVPU2;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   477
	TInt iSurfaceSupported;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   478
#endif	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   479
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   480
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   481
inline TInt CMMFFindAndOpenController::ControllerIndex() const
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   482
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   483
	return iControllerIndex;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   484
	}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   485
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   486
inline TInt CMMFFindAndOpenController::ControllerCount() const
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   487
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   488
	return iControllerCount;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   489
	}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   490
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   491
inline TBool CMMFFindAndOpenController::StopTryLoadController() const
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   492
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   493
	return iStopTryLoadController;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   494
	}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   495
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   496
#ifdef SYMBIAN_BUILD_GCE
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   497
inline void CMMFFindAndOpenController::SetSurfaceMode(TBool aUseVPU2, RMMFVideoPlaySurfaceSupportCustomCommands* aVideoPlaySurfaceSupportCustomCommands)
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   498
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   499
	iUseVPU2 = aUseVPU2;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   500
	iSurfaceSupported = KErrNone;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   501
	iVideoPlaySurfaceSupportCustomCommands = aVideoPlaySurfaceSupportCustomCommands;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   502
	}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   503
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   504
inline TInt CMMFFindAndOpenController::SurfaceSupported()
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   505
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   506
	return iSurfaceSupported;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   507
	}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   508
#endif	// SYMBIAN_BUILD_GCE
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   509
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   510
#endif // __MMF_CLIENT_UTILITY_H__