os/mm/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteagents/inc/agentsutility.h
Update contrib.
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Part of the MVS Agents for TechView
17 #ifndef AGENTSUTILITY_H
18 #define AGENTSUTILITY_H
21 #include <mmf/common/mmfcontroller.h>
63 An interface to Client callback function
64 This serves as the method of communication between the Client and the UI
67 class MMVSClientObserver
73 Called when a multimedia controller plugin changes state e.g. when audio starts to play,
74 the state changes from EAudioOpened to EAudioPlaying
77 Current State of the Client
79 Error code. The status of the current operation
81 virtual void UpdateStateChange(TMVSState aState, TInt aError) = 0;
84 Called when the audio resource becomes available but only if the resource was previously unavailable (e.g. if
85 the audio resource is available when the client registers, then this callback is not received).
87 @param aNotificationData
88 The data that corresponds to the notification event
90 virtual void MvsResourceNotification(const TDesC8& aNotificationData) = 0;
100 Utility class that does fetching the existing controller plugins,the extensions
101 supported by them and finding the type of the media file for the UI.
103 class CMVSControllerPluginInfo: public CBase
106 IMPORT_C static CMVSControllerPluginInfo* NewL();
107 IMPORT_C ~CMVSControllerPluginInfo();
109 IMPORT_C TInt GetPluginListL(CDesCArrayFlat* aDisplayNames, RArray<TUid>& aUidArray);
110 IMPORT_C TInt GetAudioPluginListL(CDesCArrayFlat* aDisplayNames, RArray<TUid>& aUidArray,RArray<TUid>& aUidPlayArray, TDesC* aExt);
111 IMPORT_C TInt GetVideoPluginListL(CDesCArrayFlat* aDisplayNames, RArray<TUid>& aUidArray, TDesC* aExt);
112 IMPORT_C TInt GetExtensionListL(TBool aControllerUid, CDesCArrayFlat* aExtArray);
113 IMPORT_C TUid GetMediaTypeL(TDesC& aFileName);
114 IMPORT_C CMMFControllerImplementationInformation& GetControllerInfo(TUid aControllerUid);
116 void CollectAudioControllersL(TDesC* aExt);
117 void CollectAudioPlayControllersL(TDesC* aExt);
118 void CollectVideoControllersL(TDesC* aExt);
119 void ConstructL(); //populate iControllers
120 CMVSControllerPluginInfo();
121 void GetHeaderL(TDesC& aFileName, TDes8& aHeaderData);
123 //list of controller info objects
124 RMMFControllerImplInfoArray iControllers;
125 RMMFControllerImplInfoArray iSupportedControllers;
126 RArray<TUid> iUidArray;
127 RMMFControllerImplInfoArray iAudioControllers;
128 RMMFControllerImplInfoArray iVideoControllers;
129 RMMFControllerImplInfoArray iAudioPlayControllers;
130 RArray<TUid> iAudioUidArray;
131 RArray<TUid> iAudioPlayUidArray;
132 RArray<TUid> iVideoUidArray;
133 RFileLogger iFileLogger;
137 #endif AGENTSUTILITY_H