taskswitcher/contextengine/hgfswserver/engine/src/hgfswidgetlist.cpp
changeset 2 08c6ee43b396
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcher/contextengine/hgfswserver/engine/src/hgfswidgetlist.cpp	Mon Jan 18 20:10:36 2010 +0200
@@ -0,0 +1,89 @@
+/*
+ * ============================================================================
+ *  Name        : hgfswidgetlist.cpp
+ *  Part of     : Hg Teleport
+ *  Description : web widget list
+ *  Version     : %version: sa1spcx1#5 %
+ *
+ *  Copyright 2008 Nokia.  All rights reserved.
+ *  This material, including documentation and any related computer
+ *  programs, is protected by copyright controlled by Nokia.  All
+ *  rights are reserved.  Copying, including reproducing, storing,
+ *  adapting or translating, any or all of this material requires the
+ *  prior written consent of Nokia.  This material also contains
+ *  confidential information which may not be disclosed to others
+ *  without the prior written consent of Nokia.
+ * ============================================================================
+ */
+
+#include "hgfswidgetlist.h"
+#include <widgetregistrydata.h>
+
+// --------------------------------------------------------------------------
+// CHgFsWidgetList::NewL
+// --------------------------------------------------------------------------
+//
+CHgFsWidgetList* CHgFsWidgetList::NewL()
+    {
+    return new (ELeave) CHgFsWidgetList;
+    }
+
+// --------------------------------------------------------------------------
+// CHgFsWidgetList::CHgFsWidgetList
+// --------------------------------------------------------------------------
+//   
+CHgFsWidgetList::CHgFsWidgetList()
+    {
+    }
+
+// --------------------------------------------------------------------------
+// CHgFsWidgetList::~CHgFsWidgetList
+// --------------------------------------------------------------------------
+//
+CHgFsWidgetList::~CHgFsWidgetList()
+    {
+    ResetArrayOfWidgetInfo( iRunningWidgets );        
+    iRunningWidgets.Reset();
+    }
+
+// --------------------------------------------------------------------------
+// CHgFsWidgetList::CleanupConnect
+// --------------------------------------------------------------------------
+//
+void CHgFsWidgetList::CleanupConnect( TAny* aThis )
+    {
+    CHgFsWidgetList* self = static_cast<CHgFsWidgetList*>( aThis );
+    self->iWidgetRegistryClientSession.Disconnect();
+    }
+
+// --------------------------------------------------------------------------
+// CHgFsWidgetList::InitializeWidgetListL
+// --------------------------------------------------------------------------
+//
+void CHgFsWidgetList::InitializeWidgetListL()
+    {
+    ResetArrayOfWidgetInfo( iRunningWidgets );
+    iRunningWidgets.Reset();
+    User::LeaveIfError( iWidgetRegistryClientSession.Connect() );
+    CleanupStack::PushL( TCleanupItem( CleanupConnect, this) );
+    iWidgetRegistryClientSession.RunningWidgetsL(iRunningWidgets);
+    CleanupStack::Pop(); // clean WidgetRegistryClientSession item
+    iWidgetRegistryClientSession.Disconnect();
+    }
+
+// --------------------------------------------------------------------------
+// CHgFsWidgetList::ResetArrayOfWidgetInfo
+// --------------------------------------------------------------------------
+//
+void CHgFsWidgetList::ResetArrayOfWidgetInfo( 
+        RWidgetInfoArray& aWidgetInfoArr )
+    {
+    for ( TInt i = 0; i < aWidgetInfoArr.Count(); i++ )
+        {
+        CWidgetInfo *item = aWidgetInfoArr[i];
+        delete item;
+        }
+    }
+
+
+// end of file