4 XCSoar Glide Computer - http://www.xcsoar.org/
5 Copyright (C) 2000-2013 The XCSoar Project
6 A detailed list of copyright holders can be found in the file "AUTHORS".
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 #ifndef MAP_WINDOW_BLACKBOARD_H
25 #define MAP_WINDOW_BLACKBOARD_H
27 #include "Blackboard/BaseBlackboard.hpp"
28 #include "Blackboard/ComputerSettingsBlackboard.hpp"
29 #include "Blackboard/MapSettingsBlackboard.hpp"
30 #include "Thread/Debug.hpp"
31 #include "UIState.hpp"
34 * Blackboard used by map window: provides read-only access to local
35 * copies of data required by map window
38 class MapWindowBlackboard
:
39 public BaseBlackboard
,
40 public ComputerSettingsBlackboard
,
41 public MapSettingsBlackboard
47 const MoreData
&Basic() const {
48 assert(InDrawThread());
50 return BaseBlackboard::Basic();
54 const DerivedInfo
&Calculated() const {
55 assert(InDrawThread());
57 return BaseBlackboard::Calculated();
61 const ComputerSettings
&GetComputerSettings() const {
62 assert(InDrawThread());
64 return ComputerSettingsBlackboard::GetComputerSettings();
68 const MapSettings
&GetMapSettings() const {
69 assert(InDrawThread());
75 const UIState
&GetUIState() const {
76 assert(InDrawThread());
81 void ReadBlackboard(const MoreData
&nmea_info
,
82 const DerivedInfo
&derived_info
);
83 void ReadComputerSettings(const ComputerSettings
&settings
);
84 void ReadMapSettings(const MapSettings
&settings
);
86 void ReadUIState(const UIState
&new_value
) {