mmappfw_plat/mpx_common_api/tsrc/ui_commontestclass/src/testmpxpluginhandlerbase.cpp
changeset 40 4a1905d205a2
parent 0 a2952bb97e68
--- a/mmappfw_plat/mpx_common_api/tsrc/ui_commontestclass/src/testmpxpluginhandlerbase.cpp	Thu Jun 17 11:11:56 2010 -0500
+++ b/mmappfw_plat/mpx_common_api/tsrc/ui_commontestclass/src/testmpxpluginhandlerbase.cpp	Fri Jun 25 17:07:52 2010 -0500
@@ -19,12 +19,14 @@
 #include "commontestclass.h"
 #include <mpxpluginhandlerbase.h>
 #include <mpxplugininfo.h>
+#include <mpxpluginhandlerobserver.h>
 
 
 // Begin MPXPluginHandlerBase testing implementation (mpxpluginhandlerbase.h)============================
 const TUid KMPXPPluginHandlerBaseUid = {0x12345};
-const TUid KMPXPlaybackInterfaceUid = {0x21CD4510};
-class CDummyMpxPluginHandler : public CMPXPluginHandlerBase
+const TUid KMPXPlaybackInterfaceUid = {0x101FFC05};
+class CDummyMpxPluginHandler : public CMPXPluginHandlerBase,
+                               public MMPXPluginHandlerObserver
     {
 public:  // Constructors and destructor
     CDummyMpxPluginHandler();  
@@ -40,6 +42,15 @@
     
     void BaseHandlePluginUnload(const TUid& aPluginUid);
     
+    /*
+    * From MMPXPluginHandlerObserver
+    * @see MMPXPluginHandlerObserver
+    */
+    void HandlePluginHandlerEvent(
+            TPluginHandlerEvents aEvent, 
+            const TUid& aPluginUid,
+            TInt aLoaded, TInt aData);
+    
     };
     
 // -----------------------------------------------------------------------------
@@ -47,7 +58,11 @@
 // -----------------------------------------------------------------------------
 
 CDummyMpxPluginHandler::CDummyMpxPluginHandler():
-    CMPXPluginHandlerBase (KMPXPPluginHandlerBaseUid, CMPXPluginHandlerBase::ESelectionUid, 0,iObserver,CMPXPluginMonitor::NewL((TUid)KMPXPlaybackInterfaceUid/*, *this*/))
+    CMPXPluginHandlerBase (
+            KMPXPlaybackInterfaceUid,
+            CMPXPluginHandlerBase::ESelectionUid, 
+            0,*this,
+            CMPXPluginMonitor::NewL((TUid)KMPXPlaybackInterfaceUid/*, *this*/))
     {
         TInt err = KErrNone;
         TRAP(err,iDataType = HBufC8::NewL(11));//NULL;
@@ -99,6 +114,15 @@
     }
 
 // -----------------------------------------------------------------------------
+// CDummyMpxPluginHandler::HandlePluginHandlerEvent()
+// -----------------------------------------------------------------------------
+void CDummyMpxPluginHandler::HandlePluginHandlerEvent(
+        TPluginHandlerEvents /*aEvent*/, const TUid& /*aPluginUid*/,
+        TBool /*aLoaded*/, TInt /*aData*/ )
+    {
+    }
+
+// -----------------------------------------------------------------------------
 // CTestMpxPluginHandler::ResolvePluginL()
 // -----------------------------------------------------------------------------
 //void CDummyMpxPluginHandler::ResolvePluginL()
@@ -452,7 +476,7 @@
     //----------------------------------------------
     
     TUid uid = pluginHandler->FindPlugin(uids.Array());
-    pluginHandler->SupportUids(KMPXPPluginHandlerBaseUid,uids.Array());
+    pluginHandler->SupportUids(uid, uids.Array());
     //pluginHandler->SupportUids(uid,uids.Array());
     CleanupStack::PopAndDestroy( &uids );
     delete pluginHandler;
@@ -574,12 +598,18 @@
     {//TODO need to update
     FTRACE(FPrint(_L("CCommonTestClass::MpxPluginHandlerBasePluginFlagsL testing CMPXPluginHandlerBase::PluginFlagsL() begin")));
     iLog->Log(_L("CCommonTestClass::MpxPluginHandlerBasePluginFlagsL testing CMPXPluginHandlerBase::PluginFlagsL() begin"));
-    TInt err=KErrNone;
+
     CDummyMpxPluginHandler pluginHandler;
     
     //TInt index = pluginHandler.IndexOf(KMPXPPluginHandlerBaseUid);
+    TRAPD( err, pluginHandler.PluginFlagsL(KMPXPPluginHandlerBaseUid));
+    // Using the invalid id (KMPXPPluginHandlerBaseUid), so it is right if the 
+    // return err is KErrNotFound.
+    if ( err == KErrNotFound )
+        {
+        err = KErrNone;
+        }
     
-    pluginHandler.PluginFlagsL(KMPXPPluginHandlerBaseUid);
     iLog->Log(_L("CCommonTestClass::MpxPluginType testing CMPXPluginHandlerBase::MpxPluginFlagsL() end"),err);
     return err;
     }