trust-store: /build/trust-store-git/src/trust-store/include/core/trust/expose.h Source File

trust-store 2.0.0 Provides a common implementation of a trust store to be used by trusted helpers.

expose.h
Go to the documentation of this file.
1 /*
2 * Copyright © 2013 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_EXPOSE_H_
20 #define CORE_TRUST_EXPOSE_H_
21
22 #include <core/trust/visibility.h>
23
24 #include <memory>
25 #include <string>
26
27 namespace core
28 {
29 namespace dbus
30 {
31 class Bus;
32 }
33 namespace trust
34 {
35 // Forward declarations
36 class Store;
37
39 class CORE_TRUST_DLL_PUBLIC Token
40 {
41 public:
42 Token(const Token&) = delete;
43 virtual ~Token() = default;
44
45 Token& operator=(const Token&) = delete;
46 bool operator==(const Token&) const = delete;
47
48 protected:
49 Token() = default;
50 };
51
60 CORE_TRUST_DLL_PUBLIC std::unique_ptr<Token> expose_store_to_bus_with_name(
61 const std::shared_ptr<Store>& store,
62 const std::shared_ptr<core::dbus::Bus>& bus,
63 const std::string& name);
64
72 CORE_TRUST_DLL_PUBLIC std::unique_ptr<Token> expose_store_to_session_with_name(
73 const std::shared_ptr<Store>& store,
74 const std::string& name);
75 }
76 }
77
78 #endif // CORE_TRUST_EXPOSE_H_
visibility.h
core::trust::Token::operator==
bool operator==(const Token &) const =delete
core::trust::expose_store_to_session_with_name
CORE_TRUST_DLL_PUBLIC std::unique_ptr< Token > expose_store_to_session_with_name(const std::shared_ptr< Store > &store, const std::string &name)
Exposes an existing store instance with the current user session.
core::trust::Token::operator=
Token & operator=(const Token &)=delete
core::trust::Token
Opaque type describing the exposure of a store instance.
Definition: expose.h:40
core
Definition: agent.h:29
core::trust::Token::Token
Token(const Token &)=delete
core::trust::expose_store_to_bus_with_name
CORE_TRUST_DLL_PUBLIC std::unique_ptr< Token > expose_store_to_bus_with_name(const std::shared_ptr< Store > &store, const std::shared_ptr< core::dbus::Bus > &bus, const std::string &name)
Exposes an existing store instance on the given bus.
core::trust::Token::Token
Token()=default
CORE_TRUST_DLL_PUBLIC
#define CORE_TRUST_DLL_PUBLIC
Definition: visibility.h:26
core::trust::Token::~Token
virtual ~Token()=default