// Copyright 2020 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 __MEDIASERVER_PROXY_H__ #define __MEDIASERVER_PROXY_H__ #include #include #define MEDIASERVER "rockchip.mediaserver.control" #define MEDIASERVER_CAMERA_PATH "/rockchip/mediaserver/control/camera" #define MEDIASERVER_CAMERA_INTERFACE "rockchip.mediaserver.control.camera" #define MEDIASERVER_ENCODER_PATH "/rockchip/mediaserver/control/encoder" #define MEDIASERVER_ENCODER_INTERFACE "rockchip.mediaserver.control.encoder" #define MEDIASERVER_AUDIO_PATH "/rockchip/mediaserver/control/audio" #define MEDIASERVER_AUDIO_INTERFACE "rockchip.mediaserver.control.audio" #define MEDIASERVER_FEATURE_PATH "/rockchip/mediaserver/control/feature" #define MEDIASERVER_FEATURE_INTERFACE "rockchip.mediaserver.control.feature" #define MEDIASERVER_ADVANCED_ENCODER_PATH "/rockchip/mediaserver/control/advancedencoder" #define MEDIASERVER_ADVANCED_ENCODER_INTERFACE "rockchip.mediaserver.control.advancedencoder" #define MEDIASERVER_FACE_RECOGNIZE_PATH "/rockchip/mediaserver/control/facerecognize" #define MEDIASERVER_FACE_RECOGNIZE_INTERFACE "rockchip.mediaserver.control.facerecognize" class MediaControlProxy : public ::DBus::InterfaceProxy { public: MediaControlProxy(const char * interface) : ::DBus::InterfaceProxy(interface) {} public: int32_t SetParam(const char * member, const int32_t& id) { ::DBus::CallMessage call; ::DBus::MessageIter wi = call.writer(); wi << id; call.member(member); ::DBus::Message ret = invoke_method (call); ::DBus::MessageIter ri = ret.reader(); int32_t argout; ri >> argout; return argout; } int32_t SetParam(const char * member, const int32_t& id, const int32_t& param) { ::DBus::CallMessage call; ::DBus::MessageIter wi = call.writer(); wi << id; wi << param; call.member(member); ::DBus::Message ret = invoke_method (call); ::DBus::MessageIter ri = ret.reader(); int32_t argout; ri >> argout; return argout; } int32_t SetParam(const char * member, const int32_t& id, const std::string& param) { ::DBus::CallMessage call; ::DBus::MessageIter wi = call.writer(); wi << id; wi << param; call.member(member); ::DBus::Message ret = invoke_method (call); ::DBus::MessageIter ri = ret.reader(); int32_t argout; ri >> argout; return argout; } int32_t SetParam(const char * member, const int32_t& id, const std::vector& param) { ::DBus::CallMessage call; ::DBus::MessageIter wi = call.writer(); wi << id; wi << param; call.member(member); ::DBus::Message ret = invoke_method (call); ::DBus::MessageIter ri = ret.reader(); int32_t argout; ri >> argout; return argout; } int32_t SetParam(const char * member, const int32_t& id, const std::map< std::string, std::string >& param) { ::DBus::CallMessage call; ::DBus::MessageIter wi = call.writer(); wi << id; wi << param; call.member(member); ::DBus::Message ret = invoke_method (call); ::DBus::MessageIter ri = ret.reader(); int32_t argout; ri >> argout; return argout; } }; class MediaControl : public MediaControlProxy, public DBus::IntrospectableProxy, public DBus::ObjectProxy { public: MediaControl(DBus::Connection & conn, const char *path, const char *interface) : MediaControlProxy(interface) , DBus::ObjectProxy(0, conn, path, MEDIASERVER) {} virtual ~MediaControl() {} private: }; #endif