request_cb_t __pAppWidgetRequestHandlerCallback = null;
_ShortcutManagerImpl::_ShortcutManagerImpl()
+ : __isListenerConstructed(false)
{
}
result
_ShortcutManagerImpl::Construct()
{
+ return E_SUCCESS;
+}
+
+result
+_ShortcutManagerImpl::ConstructListener()
+{
int ret = shortcut_set_request_cb(ShortcutRequestEventReceiverCB, this );
SysTryReturnResult(NID_SHELL, ret == 0, E_SYSTEM, "failed to shortcut_set_request_cb (%d)", ret);
__shortcutRequestListenerList.Construct();
+
+ __isListenerConstructed = true;
SysLog(NID_SHELL, "Successed.");
return E_SUCCESS;
}
-
result
_ShortcutManagerImpl::AddShortcutRequestListener(IShortcutRequestListener& listener)
{
SysTryReturnResult(NID_SHELL, !__shortcutRequestListenerList.Contains(&listener), E_OBJ_ALREADY_EXIST, "The listener is already added.");
SysLog(NID_SHELL, "(%x)", &listener);
+ if( __isListenerConstructed == false)
+ {
+ ConstructListener();
+ }
return __shortcutRequestListenerList.Add(&listener);
}
void
_ShortcutManagerImpl::SetAppWidgetRequestHandlerCallback(request_cb_t pAppWidgetRequestHandlerFn)
{
+ if( __isListenerConstructed == false)
+ {
+ ConstructListener();
+ }
__pAppWidgetRequestHandlerCallback = pAppWidgetRequestHandlerFn;
}
_ShortcutManagerImpl(void);
virtual ~_ShortcutManagerImpl(void);
result Construct(void);
+ result ConstructListener(void);
private:
Tizen::Base::Collection::ArrayListT<IShortcutRequestListener*> __shortcutRequestListenerList;
+ bool __isListenerConstructed;
};
}} // Tizen::Shell