Add PluginManager proxy into action framework
authorChanggyu Choi <changyu.choi@samsung.com>
Mon, 10 Mar 2025 01:17:48 +0000 (10:17 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Mon, 10 Mar 2025 08:07:46 +0000 (17:07 +0900)
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
src/action/action_request_handler.cc
src/action/action_request_handler.hh
tidl/prebuild.sh

index bec6995e2d9c6ce639e838da972e68e2a94dbabe..39a138c3dce957207ac587065e79e49b61fc929a 100644 (file)
 #include "action/app_control_executor.hh"
 #include "action/service.hh"
 #include "action/sqlite_db.hh"
+#include "action_request_handler.hh"
 #include "common/action_executor.hh"
 #include "common/utils/logging.hh"
 
 namespace action {
 
-ActionRequestHandler::ActionRequestHandler() {
-}
+ActionRequestHandler::ActionRequestHandler()
+    : plugin_manager_(
+          this,
+          ".d::org.tizen.appfw.service.tizen_action_plugin_manager") {}
 
-ActionRequestHandler::~ActionRequestHandler() {
-}
+ActionRequestHandler::~ActionRequestHandler() {}
 
 void ActionRequestHandler::Init() {
   service_.Listen(std::make_shared<action::Service::Factory>(*this));
@@ -47,13 +49,12 @@ void ActionRequestHandler::OnGetAction(const std::string& id) {
 }
 
 void ActionRequestHandler::OnGetActionId(const std::string& user_description,
-    int top_k, float search_threshold) {
-}
+                                         int top_k,
+                                         float search_threshold) {}
 
-void ActionRequestHandler::OnExecute(const std::string& requester,
-    common::ActionModel& model) {
+void ActionRequestHandler::OnExecute(common::ActionModel& model) {
   LOG(DEBUG) << "OnExecute action : " << model.GetActionId()
-      << ", appid : " << model.GetAppId();
+             << ", appid : " << model.GetAppId();
 
   if (model.GetType() == common::ActionType::AppControl) {
     LOG(DEBUG) << "execute appcontrol";
@@ -72,4 +73,16 @@ void ActionRequestHandler::OnResult(const std::string& requester,
   LOG(DEBUG) << "OnResult : " << result << ", from : " << requester;
 }
 
+void ActionRequestHandler::OnConnected() {
+  LOG(INFO) << "PluginManager connected";
+}
+
+void ActionRequestHandler::OnDisconnected() {
+  LOG(INFO) << "PluginManager disconnected";
+}
+
+void ActionRequestHandler::OnRejected() {
+  LOG(INFO) << "PluginManager rejected";
+}
+
 }  // namespace action
index 2c926d11391b3f19a9fa4716295326adff501c57..4634b8e67f5173b7a2012001c0823000a02e0215 100644 (file)
 #include <memory>
 #include <vector>
 
-#include "action/result_handler.hh"
+#include "action/plugin_manager_proxy.h"
 #include "action/request_handler.hh"
+#include "action/result_handler.hh"
 #include "action/tizen_action_service_stub.h"
 #include "common/action_executor.hh"
 #include "common/action_model.h"
 
 namespace action {
 
-class ActionRequestHandler : public IRequestHandler, public IResultHandler {
+class ActionRequestHandler : public IRequestHandler,
+                             public IResultHandler,
+                             public rpc_port::plugin_manager_proxy::proxy::
+                                 PluginManager::IEventListener {
  public:
   ActionRequestHandler();
   ~ActionRequestHandler();
@@ -36,17 +40,23 @@ class ActionRequestHandler : public IRequestHandler, public IResultHandler {
 
   void OnListActions() override;
   void OnGetAction(const std::string& id) override;
-  void OnGetActionId(const std::string& user_description, int top_k,
-      float search_threshold) override;
+  void OnGetActionId(const std::string& user_description,
+                     int top_k,
+                     float search_threshold) override;
   void OnExecute(const std::string& instance,
-      common::ActionModel& model) override;
+                 common::ActionModel& model) override;
 
   void OnResult(const std::string& requester,
-      const std::string& result) override;
+                const std::string& result) override;
+
+  void OnConnected() override;
+  void OnDisconnected() override;
+  void OnRejected() override;
 
  private:
   rpc_port::tizen_action_service_stub::stub::ActionService service_;
   std::vector<std::unique_ptr<common::AbstractActionExecutor>> executors_;
+  rpc_port::plugin_manager_proxy::proxy::PluginManager plugin_manager_;
 };
 
 }  // namespace action
index b532293e32ce344434bd965d3c7335105fc5f833..e5556eb5cc5e78aa2b2618118e037cbe914e9213 100755 (executable)
@@ -2,6 +2,7 @@
 SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
 tidlc -p -l C++ -i $SCRIPT_DIR/tizen_actions.tidl -o tizen_action_service_proxy
 tidlc -s -l C++ -i $SCRIPT_DIR/tizen_actions.tidl -o tizen_action_service_stub
+tidlc -p -l C++ -i $SCRIPT_DIR/plugin_manager.tidl -o plugin_manager_proxy
 tidlc -s -l C++ -i $SCRIPT_DIR/plugin_manager.tidl -o plugin_manager_stub
 
 if [ $? -ne 0 ]; then
@@ -11,4 +12,5 @@ fi
 
 mv tizen_action_service_proxy.* $SCRIPT_DIR/../src/api/
 mv tizen_action_service_stub.* $SCRIPT_DIR/../src/action/
+mv plugin_manager_proxy.* $SCRIPT_DIR/../src/action/
 mv plugin_manager_stub.* $SCRIPT_DIR/../src/plugin-daemon/