Mir
protocol_version.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2015 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: Alan Griffiths <alan@octopull.co.uk>
17  */
18 
19 #ifndef MIR_PROTOBUF_PROTOCOL_VERSION_H
20 #define MIR_PROTOBUF_PROTOCOL_VERSION_H
21 
22 #include "mir_toolkit/version.h"
23 
24 namespace mir
25 {
26 namespace protobuf
27 {
28 // For the present we use the client API protocol_version as a proxy for the protocol
29 // version as the protocol is typically updated to support API changes.
30 // If we need to break protocol without a corresponding ABI break then we need to bump "epoch"
31 inline constexpr int protocol_version(int major, int minor, int epoch = 0)
32 {
33  return MIR_VERSION_NUMBER(epoch, major, minor);
34 }
35 
36 inline constexpr int current_protocol_version()
37 {
39 }
40 
41 // Client libraries older than last ABI break may make calls we can't understand
42 inline constexpr int oldest_compatible_protocol_version()
43 {
45 }
46 }
47 }
48 
49 #endif //MIR_PROTOBUF_PROTOCOL_VERSION_H
#define MIR_CLIENT_MINOR_VERSION
MIR_CLIENT_MINOR_VERSION.
Definition: version.h:46
All things Mir.
Definition: atomic_callback.h:25
constexpr int protocol_version(int major, int minor, int epoch=0)
Definition: protocol_version.h:31
constexpr int current_protocol_version()
Definition: protocol_version.h:36
#define MIR_VERSION_NUMBER(major, minor, micro)
MIR_VERSION_NUMBER.
Definition: mir_version_number.h:34
#define MIR_CLIENT_MAJOR_VERSION
MIR_CLIENT_MAJOR_VERSION.
Definition: version.h:36
constexpr int oldest_compatible_protocol_version()
Definition: protocol_version.h:42

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Oct 8 16:20:16 UTC 2015