// Copyright 2019 Fuzhou Rockchip Electronics Co., Ltd. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef _RK_DBUS_DISPATCHER_H_ #define _RK_DBUS_DISPATCHER_H_ #include #include #include #include #include #include "dbus_media_control_adaptor.h" #include namespace rockchip { namespace aiserver { #define MEDIA_CONTROL_BUS_NAME "rockchip.aiserver.control" #define MEDIA_CONTROL_PATH_ENCODER "/rockchip/aiserver/control/encoder" #define MEDIA_CONTROL_PATH_CAMERA "/rockchip/aiserver/control/camera" #define MEDIA_CONTROL_PATH_AUDIO "/rockchip/aiserver/control/audio" #define MEDIA_CONTROL_PATH_GRAPH "/rockchip/aiserver/control/graph" #define MEDIA_CONTROL_PATH_FEATURE "/rockchip/aiserver/control/feature" // define by package dbserver #define DBSERVER_BUS_NAME "rockchip.dbserver" #define DBSERVER_PATH "/" #define DBSERVER_MEDIA_INTERFACE DBSERVER_BUS_NAME ".media" #define DBSERVER_DBCHANGE_INTERFACE DBSERVER_MEDIA_INTERFACE #define DBSERVER_EVENT_INTERFACE DBSERVER_BUS_NAME ".event" #define DBSERVER_DBEVENT_CHANGE_INTERFACE DBSERVER_EVENT_INTERFACE // define by package storage_manager #define STORAGE_MANAGER_BUS_NAME "rockchip.StorageManager" #define STORAGE_MANAGER_PATH "/" #define STORAGE_MANAGER_MEDIA_INTERFACE STORAGE_MANAGER_BUS_NAME ".file" #define STORAGE_MANAGER_DBCHANGE_INTERFACE STORAGE_MANAGER_MEDIA_INTERFACE class DbusDispatcher { public: DbusDispatcher() = delete; DbusDispatcher(int timeout_ms); virtual ~DbusDispatcher() {} friend class DBusDbServer; private: static DBus::BusDispatcher dispatcher_; int timeout_ms_; }; } // namespace aiserver } // namespace rockchip #endif // _RK_DBUS_INTERFACE_H_