From 0fa6e107c6ea1f4f44455c58a082d2cf6e71d10e Mon Sep 17 00:00:00 2001 From: seungho Date: Fri, 25 Jun 2021 14:56:30 +0900 Subject: [PATCH] Add processor-controller to support Processor on NUI Change-Id: I49b322c47eea42405bf40ab2efa6409fd5795648 Signed-off-by: seungho --- build/tizen/CMakeLists.txt | 2 +- dali-csharp-binder/file.list | 2 +- ...out-controller.cpp => processor-controller.cpp} | 61 +++++++++------------- ...{layout-controller.h => processor-controller.h} | 36 ++++++------- 4 files changed, 44 insertions(+), 57 deletions(-) rename dali-csharp-binder/src/{layout-controller.cpp => processor-controller.cpp} (56%) rename dali-csharp-binder/src/{layout-controller.h => processor-controller.h} (62%) diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index 189f8ce..0a1e800 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -90,7 +90,7 @@ set(SOURCES ${dali_csharp_binder_dir}/src/keyboard_focus_manager_wrap.cpp ${dali_csharp_binder_dir}/src/devel-property-wrap.cpp ${dali_csharp_binder_dir}/src/version-check.cpp - ${dali_csharp_binder_dir}/src/layout-controller.cpp + ${dali_csharp_binder_dir}/src/processor-controller.cpp ${dali_csharp_binder_dir}/src/flex-layout.cpp ${dali_csharp_binder_dir}/src/gestures.cpp ${dali_csharp_binder_dir}/src/view-wrapper-impl-wrap.cpp diff --git a/dali-csharp-binder/file.list b/dali-csharp-binder/file.list index 6692651..e0fc882 100755 --- a/dali-csharp-binder/file.list +++ b/dali-csharp-binder/file.list @@ -12,7 +12,7 @@ dali_csharp_binder_common_src_files = \ ${dali_csharp_binder_dir}/src/keyboard_focus_manager_wrap.cpp \ ${dali_csharp_binder_dir}/src/devel-property-wrap.cpp \ ${dali_csharp_binder_dir}/src/version-check.cpp \ - ${dali_csharp_binder_dir}/src/layout-controller.cpp \ + ${dali_csharp_binder_dir}/src/processor-controller.cpp \ ${dali_csharp_binder_dir}/src/fade.cpp \ ${dali_csharp_binder_dir}/src/flex-layout.cpp \ ${dali_csharp_binder_dir}/src/gestures.cpp \ diff --git a/dali-csharp-binder/src/layout-controller.cpp b/dali-csharp-binder/src/processor-controller.cpp similarity index 56% rename from dali-csharp-binder/src/layout-controller.cpp rename to dali-csharp-binder/src/processor-controller.cpp index 042150c..9542ce7 100644 --- a/dali-csharp-binder/src/layout-controller.cpp +++ b/dali-csharp-binder/src/processor-controller.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,57 +15,47 @@ * */ -#include "layout-controller.h" +#include "processor-controller.h" #include #ifdef __cplusplus extern "C" { #endif -namespace -{ -static int gLayoutControllerId = 1; -} // unnamed namespace - -LayoutController::LayoutController() : handler(NULL), mId( gLayoutControllerId++ ) +ProcessorController::ProcessorController() { Dali::Adaptor::Get().RegisterProcessor(*this); } -LayoutController::~LayoutController() +ProcessorController::~ProcessorController() { Dali::Adaptor::Get().UnregisterProcessor(*this); } - -int LayoutController::GetId() const +void ProcessorController::Process(bool postProcessor) { - return mId; + mHandler(); } -void LayoutController::Process(bool postProcessor) +void ProcessorController::SetCallback( ProcessorControllerProcessCallback callback ) { - if( handler ) - { - handler( mId ); - } + mHandler = callback; } -void LayoutController::SetCallback( LayoutControllerProcessCallback callback ) +void ProcessorController::RemoveCallback( ProcessorControllerProcessCallback callback ) { - handler = callback; + mHandler = nullptr; } -// LayoutController Bindings - -SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LayoutController() { +// ProcessorController Bindings +SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ProcessorController() { - LayoutController *result = 0 ; + ProcessorController *result = 0 ; { try { - result = (LayoutController *)new LayoutController(); + result = (ProcessorController *)new ProcessorController(); } catch (std::out_of_range& e) { { SWIG_CSharpException(SWIG_IndexError, const_cast(e.what())); return 0; @@ -88,9 +78,9 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LayoutController() { return (void *)result; } -SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LayoutController(void * jarg1) { +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ProcessorController(void * jarg1) { - LayoutController * arg1 = (LayoutController *)jarg1; + ProcessorController * arg1 = (ProcessorController *)jarg1; { try { delete arg1; @@ -110,25 +100,24 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LayoutController(void * jarg1) { } } -SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LayoutController_SetCallback( void* jarg1, LayoutController::LayoutControllerProcessCallback callback ) +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProcessorController_SetCallback( void* jarg1, ProcessorController::ProcessorControllerProcessCallback callback ) { - LayoutController* layoutController = (LayoutController *) jarg1; + ProcessorController* processorController = (ProcessorController *) jarg1; - if( layoutController ) + if( processorController ) { - layoutController->SetCallback( callback ); + processorController->SetCallback( callback ); } } -SWIGEXPORT int SWIGSTDCALL CSharp_Dali_LayoutController_GetId( void* jarg1 ) +SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProcessorController_RemoveCallback( void* jarg1, ProcessorController::ProcessorControllerProcessCallback callback ) { - LayoutController * layoutController = (LayoutController *)jarg1; - int ret = 0; - if( layoutController ) + ProcessorController* processorController = (ProcessorController *) jarg1; + + if( processorController ) { - ret = layoutController->GetId(); + processorController->RemoveCallback( callback ); } - return ret; } #ifdef __cplusplus diff --git a/dali-csharp-binder/src/layout-controller.h b/dali-csharp-binder/src/processor-controller.h similarity index 62% rename from dali-csharp-binder/src/layout-controller.h rename to dali-csharp-binder/src/processor-controller.h index 162e1e2..f1d8a43 100644 --- a/dali-csharp-binder/src/layout-controller.h +++ b/dali-csharp-binder/src/processor-controller.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ */ // EXTERNAL INCLUDES +#include #include // INTERNAL INCLUDES @@ -26,31 +27,24 @@ * a Processor. Enables the setting of a callback so dali-core can execute this callback when * Process() is run. */ -class LayoutController : public Dali::Integration::Processor +class ProcessorController : public Dali::Integration::Processor { public: - // Function pointer matching delegate in C# LayoutController - using LayoutControllerProcessCallback = void (SWIGSTDCALL*)(int); + // Function pointer matching delegate in C# ProcessorController + using ProcessorControllerProcessCallback = void (SWIGSTDCALL*)(); public: /** - * @brief Constructor - creates a LayoutController and registers it with dali-core. + * @brief Constructor - creates a ProcessorController and registers it with dali-core. * */ - LayoutController(); + ProcessorController(); /** * @brief Destructor - Unregisters itself from dali-core. */ - ~LayoutController(); - - /** - * @brief Gets the id of the LayoutController that was initialised during construction. - * @return the id of the LayoutController. - * @note Useful for debugging when multiple LayoutControllers are registered with dali-core. - */ - int GetId() const; + ~ProcessorController(); /** * @copydoc Dali::Integration::Processor::Process() @@ -61,12 +55,16 @@ public: * @brief Set the callback to be executed when dali-core calls the overriden Process() api. * @param[in] callback, function to be called */ - void SetCallback( LayoutControllerProcessCallback callback ); - -private: + void SetCallback( ProcessorControllerProcessCallback callback ); - LayoutControllerProcessCallback handler; + /** + * @brief Remove callback on this ProcessorController. + * The removed callback will not be called anymore. + * @param[in] callback, function will be removed + */ + void RemoveCallback( ProcessorControllerProcessCallback callback ); - int mId; +private: + ProcessorControllerProcessCallback mHandler; }; \ No newline at end of file -- 2.7.4