--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpxplugins/viewplugins/views/upnpbrowsedialog/inc/mpxplayermanagerstub.h Thu Dec 17 08:45:05 2009 +0200
@@ -0,0 +1,182 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implementation of winscw player manager stub
+*
+*/
+
+
+#ifndef CMPXPLAYERMANAGERSTUB_H
+#define CMPXPLAYERMANAGERSTUB_H
+
+// INCLUDES
+#include <e32base.h>
+#include <mpxplaybackutility.h>
+
+// FORWARD DECLARATIONS
+
+/**
+* CMPXPlayerManagerStub
+*
+* Stub for player manager in Winscw
+* @since S60 3.1
+*/
+NONSHARABLE_CLASS(CMPXPlayerManagerStub) : public CActive, public MMPXPlayerManager
+ {
+public:
+ /**
+ * C++ default constructor.
+ */
+ CMPXPlayerManagerStub();
+
+ /**
+ * Symbian OS constructor.
+ */
+ void ConstructL();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CMPXPlayerManagerStub();
+
+public: // New functions
+
+ /**
+ * Typically, a client will obtain the list of all the (non-duplicated)
+ * player 'types' in the system from GetPlayerTypesL and present localized
+ * type names (e.g. "Local","Home network", if possible, else if
+ * non-standard type,should use PlayerTypeDisplayNameL to get text from
+ * player).
+ *
+ * User should be given opportunity to choose IF there is more than one
+ * type available, or if there is one type but more than one sub players,
+ * the user could be presented with the sub player list.
+ *
+ * @param aTypes the list of player types
+ */
+ virtual void GetPlayerTypesL(RArray<TMPXPlaybackPlayerType>& aTypes);
+
+ /**
+ * Returns display name for custom types; standard types should be
+ * recognized by client and localized - calling this method would then not
+ * be required
+ *
+ * @param aType playback type
+ */
+ virtual HBufC* PlayerTypeDisplayNameL(TMPXPlaybackPlayerType aType);
+
+ /**
+ * Get the list of UIDs of all players
+ *
+ * @param aPlayers All the players' uids in the system
+ */
+ virtual void GetPlayerListL(RArray<TUid>& aPlayers);
+
+ /**
+ * Get the list of UIDs of players with the specific type
+ *
+ * @param aPlayers All the players' uids with the same type
+ * @param aType the type of players
+ */
+ virtual void GetPlayerListL(RArray<TUid>& aPlayers,
+ TMPXPlaybackPlayerType aType);
+
+ /**
+ * Get the list of sub player names, Async
+ *
+ * @param aCallback sub players returned in call back interface
+ * @param aPlayer UID of the player
+ */
+ virtual void SubPlayerNamesL(MMPXPlaybackCallback& aCallback,
+ TUid aPlayer);
+
+ /**
+ * Client selects all players with the type aType, the specific player used
+ * then being resolved on the basis of the content.
+ *
+ * @param aType the type of player
+ */
+ virtual void SelectPlayersL(TMPXPlaybackPlayerType aType);
+
+ /**
+ * Client selects specific player aPlayer and sub player aSubPlayerIndex
+ * from array returned by SubPlayerNamesL
+ *
+ * @param aPlayer the UID of player
+ * @param aSubPlayerIndex the index of the sub player
+ */
+ virtual void SelectSubPlayerL(TUid aPlayer, TInt aSubPlayerIndex);
+
+ /**
+ * Client selects a specific player
+ *
+ * @param aPlayer the UID of the player
+ */
+ virtual void SelectPlayerL(TUid aPlayer);
+
+ /**
+ * Clears all selection criteria. Essentially the same as
+ * SelectPlayersL(EPbLocal).
+ */
+ virtual void ClearSelectPlayersL();
+
+ /**
+ * Retreives the current selection: KNullUid and KErrNotFound are possible
+ * return values for aPlayer and aSubPlayerIndex respectively if none are
+ * explicitly selected
+ *
+ * @param aType player type
+ * @param aPlayer the UID of player
+ * @param aSubPlayerIndex index of the subplayer
+ */
+ virtual void GetSelectionL(TMPXPlaybackPlayerType& aType,
+ TUid& aPlayer,
+ TInt& aSubPlayerIndex,
+ HBufC*& aSubPlayerName);
+
+ /**
+ * The current player, may change with each song, NULL if none found
+ *
+ * @return object of current player
+ */
+ virtual MMPXPlayer* CurrentPlayer();
+
+ /**
+ * From MMPXPlayerManager
+ * Get the name of the current sub player
+ *
+ * @param aSubPlayerIndex the index of the sub player
+ * @return friendly name of the sub player
+ */
+ virtual HBufC* GetSelectedSubPlayerNameL(TInt aSubPlayerIndex);
+
+private:
+ /**
+ * @see CActive::RunL()
+ */
+ void RunL();
+
+ /**
+ * @see CActive::DoCancel()
+ */
+ void DoCancel();
+
+private: // Data
+ MMPXPlaybackCallback* iCallback;
+ CDesCArrayFlat* iSubPlayersNamesArray;
+ TUid iUid;
+ };
+
+#endif // CMPXPLAYERMANAGERSTUB_H
+
+// End of File