Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
error_connections.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2012-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: Alexandros Frantzis <alexandros.frantzis@canonical.com>
17  */
18 
19 #ifndef MIR_CLIENT_ERROR_CONNECTIONS_H_
20 #define MIR_CLIENT_ERROR_CONNECTIONS_H_
21 
23 #include <mutex>
24 #include <unordered_set>
25 
26 namespace mir
27 {
28 namespace client
29 {
30 
32 {
33 public:
34  static ErrorConnections& instance();
35 
36  void insert(MirConnection* connection);
37  void remove(MirConnection* connection);
38  bool contains(MirConnection* connection) const;
39 
40 private:
41  ErrorConnections() = default;
42  ErrorConnections(ErrorConnections const&) = delete;
43  ErrorConnections& operator=(ErrorConnections const&) = delete;
44 
45  mutable std::mutex connection_guard;
46  std::unordered_set<MirConnection*> connections;
47 };
48 
49 }
50 }
51 
52 #endif /* MIR_CLIENT_ERROR_CONNECTIONS_H_ */
All things Mir.
Definition: aging_buffer.h:24
static ErrorConnections & instance()
Definition: error_connections.cpp:28
void insert(MirConnection *connection)
Definition: error_connections.cpp:39
Definition: error_connections.h:31
Definition: mir_connection.h:72
bool contains(MirConnection *connection) const
Definition: error_connections.cpp:51

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Oct 10 14:07:14 UTC 2014