fire removed listener
authorHeeJu Kang <mobum.kang@samsung.com>
Sat, 23 Mar 2013 05:36:14 +0000 (14:36 +0900)
committerHeeJu Kang <mobum.kang@samsung.com>
Sat, 23 Mar 2013 05:37:39 +0000 (14:37 +0900)
Change-Id: I495351fec56b351f33eb864ed8af803659b0d901
Signed-off-by: HeeJu Kang <mobum.kang@samsung.com>
src/FShell_AppWidgetView.cpp
src/FShell_AppWidgetView.h
src/FShell_AppWidgetViewManager.cpp

index 6bee567..2348a57 100644 (file)
@@ -258,6 +258,25 @@ _AppWidgetView::GetAnchorSize(void) const
        return FloatDimension(pArrowBitmap->GetWidth(), pArrowBitmap->GetHeight());
 }
 
+void
+_AppWidgetView::CallProviderRemoved(void)
+{
+       unique_ptr<IEnumeratorT<_IAppWidgetViewEventListener*> > pEnumerator(__pAppWidgetViewEventListenerList->GetEnumeratorN());
+       if (pEnumerator)
+       {
+               while (pEnumerator->MoveNext() == E_SUCCESS)
+               {
+                       _IAppWidgetViewEventListener* pListener = null;
+                       pEnumerator->GetCurrent(pListener);
+                       
+                       if (pListener)
+                       {
+                               pListener->OnAppWidgetProviderRemoved(*this);
+                       }
+               }
+       }
+}
+
 livebox*
 _AppWidgetView::GetNativeAppWidget(void) const
 {
index 993e75c..8a6b296 100644 (file)
@@ -84,6 +84,7 @@ public:
        Tizen::Graphics::Bitmap* GetBitmap(void) const;
        bool IsUpdated(void) const;
        Tizen::Graphics::FloatDimension GetAnchorSize(void) const;
+       void CallProviderRemoved(void);
 
 protected:
        _AppWidgetView(void);
index ca2d102..6f3eee1 100644 (file)
@@ -657,6 +657,10 @@ _AppWidgetViewManager::OnAppWidgetUpdated(livebox* pAppWidget)
 void
 _AppWidgetViewManager::OnAppWidgetDeleted(livebox* pAppWidget)
 {
+       _AppWidgetView* pAppWidgetView = GetAppWidgetView(pAppWidget);
+       SysTryReturnVoidResult(NID_UI_CTRL, pAppWidgetView, E_SYSTEM, "[E_SYSTEM] A system error occured.");
+
+       pAppWidgetView->CallProviderRemoved();
 }
 
 void