--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpxplugins/viewplugins/views/commoncontainer/inc/mpxcommoncontainermediahelper.h Thu Dec 17 08:45:05 2009 +0200
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2007 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: MPX common container Media helper.
+*
+*/
+
+
+
+#ifndef CMPXCOMMONCONTAINERMEDIAHELPER_H
+#define CMPXCOMMONCONTAINERMEDIAHELPER_H
+
+#include <e32base.h>
+#include <mpxcollectionobserver.h>
+
+// FORWARD DECLARATIONS
+class MMPXCommonContainer;
+class MMPXCollectionUtility;
+
+/**
+* Helper class to retrieve media for clients
+*/
+NONSHARABLE_CLASS( CMPXCommonContainerMediaHelper )
+ : public CBase
+ , public MMPXCollectionObserver
+ {
+public:
+
+ /**
+ * Two-phased constructor
+ */
+ static CMPXCommonContainerMediaHelper* NewL(
+ MMPXCommonContainer* aCommonContainer );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CMPXCommonContainerMediaHelper();
+
+private: // constructors
+
+ /**
+ * Constructor.
+ */
+ CMPXCommonContainerMediaHelper( MMPXCommonContainer* aCommonContainer );
+
+ /**
+ * Symbian OS constructor.
+ */
+ void ConstructL();
+
+public: // New Methods
+
+ /**
+ * Retrieves the media given the current path, and upon return,
+ * either calls back the observer, or broadcasts the message to
+ * the given client list
+ *
+ * @param aCmd CMPXCommand containing the attributes and attribute spec
+ * Ownership of aAttrs is passed to this method
+ */
+ void MediaL(
+ const TMPXItemId& aItemId,
+ RArray<TMPXAttribute> aAttrs,
+ CMPXMedia* aAttrSpecs );
+
+ /**
+ * Updates the specified media with the results from the search
+ * criteria
+ *
+ * @param aMedia Media to be updated
+ * @param aSearchAttrs Media search attributes
+ * @param aSearchAttrSpecs Media search attribute specs
+ */
+ void UpdateMediaL(
+ CMPXMedia* aMedia,
+ RArray<TMPXAttribute> aSearchAttrs,
+ CMPXMedia* aSearchAttrSpecs );
+
+ /**
+ * Cancels all outstanding requests
+ */
+ void CancelRequests();
+
+private: // From base classes
+
+ /**
+ * From MMPXCollectionObserver
+ */
+ void HandleCollectionMessage( CMPXMessage* aMsg, TInt aErr );
+
+ /**
+ * From MMPXCollectionObserver
+ */
+ void HandleOpenL(
+ const CMPXMedia& aEntries,
+ TInt aIndex,
+ TBool aComplete,
+ TInt aError );
+
+ /**
+ * From MMPXCollectionObserver
+ */
+ void HandleOpenL(
+ const CMPXCollectionPlaylist& aPlaylist,
+ TInt aError );
+
+ /**
+ * From MMPXCollectionObserver
+ */
+ void HandleCommandComplete(
+ CMPXCommand* aCommandResult,
+ TInt aError );
+
+ /**
+ * From MMPXCollectionMediaObserver
+ */
+ void HandleCollectionMediaL(
+ const CMPXMedia& aMedia,
+ TInt aError);
+
+private: // data
+
+ MMPXCommonContainer* iCommonContainer;
+ MMPXCollectionUtility* iCollectionUtility;
+ };
+
+#endif // CMPXCOMMONCONTAINERMEDIAHELPER_H
+
+//End of file