AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
DBusProxy.h
Go to the documentation of this file.
1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  * http://aws.amazon.com/apache2.0/
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
16 #ifndef ALEXA_CLIENT_SDK_BLUETOOTHIMPLEMENTATIONS_BLUEZ_INCLUDE_BLUEZ_DBUSPROXY_H_
17 #define ALEXA_CLIENT_SDK_BLUETOOTHIMPLEMENTATIONS_BLUEZ_INCLUDE_BLUEZ_DBUSPROXY_H_
18 
19 #include <memory>
20 #include <string>
21 
22 #include "BlueZUtils.h"
23 
24 #include <gio/gunixfdlist.h>
25 
26 namespace alexaClientSDK {
27 namespace bluetoothImplementations {
28 namespace blueZ {
29 
33 class DBusProxy {
34 public:
35  virtual ~DBusProxy();
36 
46  static std::shared_ptr<DBusProxy> create(const std::string& interfaceName, const std::string& objectPath);
47 
58  const std::string& methodName,
59  GVariant* parameters = nullptr,
60  GError** error = nullptr);
61 
75  const std::string& methodName,
76  GVariant* parameters = nullptr,
77  GUnixFDList** outlist = nullptr,
78  GError** error = nullptr);
79 
85  virtual std::string getObjectPath() const;
86 
93  virtual GDBusProxy* get();
94 
95 protected:
103  DBusProxy(GDBusProxy* proxy, const std::string& objectPath);
104 
105 private:
107  GDBusProxy* m_proxy;
108 
110  const std::string m_objectPath;
111 };
112 
113 } // namespace blueZ
114 } // namespace bluetoothImplementations
115 } // namespace alexaClientSDK
116 
117 #endif // ALEXA_CLIENT_SDK_BLUETOOTHIMPLEMENTATIONS_BLUEZ_INCLUDE_BLUEZ_DBUSPROXY_H_
static std::shared_ptr< DBusProxy > create(const std::string &interfaceName, const std::string &objectPath)
::std::string string
Definition: gtest-port.h:1097
DBusProxy(GDBusProxy *proxy, const std::string &objectPath)
virtual ManagedGVariant callMethod(const std::string &methodName, GVariant *parameters=nullptr, GError **error=nullptr)
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
virtual ManagedGVariant callMethodWithFDList(const std::string &methodName, GVariant *parameters=nullptr, GUnixFDList **outlist=nullptr, GError **error=nullptr)

AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0