trust-store 2.0.3
Provides a common implementation of a trust store to be used by trusted helpers.
mir_agent.h
Go to the documentation of this file.
1/*
2 * Copyright © 2014 Canonical Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License version 3,
6 * as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authored by: Thomas Voß <thomas.voss@canonical.com>
17 */
18
19#ifndef CORE_TRUST_MIR_AGENT_H_
20#define CORE_TRUST_MIR_AGENT_H_
21
23
24#include <memory>
25#include <stdexcept>
26
27#include <wayland-client.h>
28
29// Forward declare the MirConnection type.
30struct MirConnection;
31
32namespace core
33{
34namespace trust
35{
36// Forward declare the Agent interface.
37class Agent;
38
39namespace mir
40{
41
42class InvalidMirConnection : public std::runtime_error
43{
44public:
45 explicit InvalidMirConnection(const char* what_arg)
46 : std::runtime_error(what_arg)
47 {}
48};
49
56CORE_TRUST_DLL_PUBLIC MirConnection* connect(const std::string& endpoint, const std::string& name);
57
63CORE_TRUST_DLL_PUBLIC std::shared_ptr<core::trust::Agent> create_agent_for_mir_connection(MirConnection* connection);
64}
65
66namespace wayland
67{
68CORE_TRUST_DLL_PUBLIC std::shared_ptr<core::trust::Agent> create_agent_for_wayland_connection(struct wl_display* connection);
69}
70
71}
72}
73
74#endif // CORE_TRUST_MIR_AGENT_H_
Abstracts user-prompting functionality.
Definition agent.h:34
InvalidMirConnection(const char *what_arg)
Definition mir_agent.h:45
CORE_TRUST_DLL_PUBLIC std::shared_ptr< core::trust::Agent > create_agent_for_mir_connection(MirConnection *connection)
create_agent_for_mir_connection creates a trust::Agent implementation leveraging Mir's trusted prompt...
CORE_TRUST_DLL_PUBLIC MirConnection * connect(const std::string &endpoint, const std::string &name)
Helper function building up a connection to Mir.
CORE_TRUST_DLL_PUBLIC std::shared_ptr< core::trust::Agent > create_agent_for_wayland_connection(struct wl_display *connection)
Contains functionality for implementing Ubuntu's trust model.
Definition agent.h:31
Definition agent.h:29
#define CORE_TRUST_DLL_PUBLIC
Definition visibility.h:26