#include <unistd.h>
#include <widget_errno.h>
#include <widget_instance.h>
+#include <aul_rsm_viewer.h>
namespace Dali
{
WidgetViewManager::~WidgetViewManager()
{
+ aul_rsm_viewer_fini();
widget_instance_unlisten_event( WidgetViewManager::WidgetEventCallback );
widget_instance_fini();
}
return WIDGET_ERROR_PERMISSION_DENIED;
}
- // create compositor
- mCompositor = Pepper::Compositor::New( application, name );
-
- mCompositor.ObjectViewAddedSignal().Connect( this, &WidgetViewManager::OnObjectViewAdded );
- mCompositor.ObjectViewDeletedSignal().Connect( this, &WidgetViewManager::OnObjectViewDeleted );
+ // Binds tizen remote surface manager & connects callback
+ if( aul_rsm_viewer_init() < 0 )
+ {
+ return WIDGET_ERROR_FAULT;
+ }
// init widget service
widget_instance_init( name.c_str() );
DALI_LOG_INFO( gWidgetViewManagerLogging, Debug::Verbose, "WidgetViewManager::Initialize: success.\n" );
- setenv("WAYLAND_DISPLAY", mCompositor.GetName().c_str(), 1);
-
return WIDGET_ERROR_NONE;
}
return widgetView;
}
-void WidgetViewManager::OnObjectViewAdded( Pepper::Compositor compositor, Pepper::ObjectView objectView )
-{
- std::string appId = objectView.GetAppId(); // widget instance id
-
- if( mWidgetViewContainer.size() > 0)
- {
- WidgetViewIter iter = mWidgetViewContainer.find( appId );
- if( iter != mWidgetViewContainer.end() )
- {
- Dali::WidgetView::WidgetView widgetView = iter->second;
-
- Dali::WidgetView::GetImplementation( widgetView ).AddObjectView( objectView );
- }
- }
-
- DALI_LOG_INFO( gWidgetViewManagerLogging, Debug::Verbose, "WidgetViewManager::OnObjectViewAdded: ObjectView is added!\n" );
-}
-
-void WidgetViewManager::OnObjectViewDeleted( Pepper::Compositor compositor, Pepper::ObjectView objectView )
-{
- std::string appId = objectView.GetAppId(); // widget instance id
-
- // Remove from map
- if( mWidgetViewContainer.size() > 0)
- {
- WidgetViewIter iter = mWidgetViewContainer.find( appId );
- if( iter != mWidgetViewContainer.end() )
- {
- Dali::WidgetView::WidgetView widgetView = iter->second;
-
- Dali::WidgetView::GetImplementation( widgetView ).RemoveObjectView();
-
- mWidgetViewContainer.erase( iter );
- }
- }
-
- DALI_LOG_INFO( gWidgetViewManagerLogging, Debug::Verbose, "WidgetViewManager::OnObjectViewDeleted: ObjectView is deleted!\n" );
-}
-
int WidgetViewManager::WidgetEventCallback( const char* widgetId, const char* instanceId, int event, void* data )
{
WidgetViewManager* widgetViewManager = static_cast< WidgetViewManager* >( data );