OpenCPN Partial API docs
comm_navmsg_bus.cpp
1 /***************************************************************************
2  *
3  * Project: OpenCPN
4  * Purpose: Implements comm_navmsg_bus -- raw, undecoded messages bus.
5  * Author: David Register, Alec Leamas
6  *
7  ***************************************************************************
8  * Copyright (C) 2022 by David Register, Alec Leamas *
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  * This program is distributed in the hope that it will be useful, *
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18  * GNU General Public License for more details. *
19  * *
20  * You should have received a copy of the GNU General Public License *
21  * along with this program; if not, write to the *
22  * Free Software Foundation, Inc., *
23  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
24  **************************************************************************/
25 
26 // For compilers that support precompilation, includes "wx.h".
27 #include <wx/wxprec.h>
28 
29 #ifndef WX_PRECOMP
30 #include <wx/wx.h>
31 #endif // precompiled headers
32 
33 #include "model/comm_navmsg_bus.h"
34 
35 using namespace std;
36 
37 void NavMsgBus::Notify(std::shared_ptr<const NavMsg> msg) {
38  Observable(*msg).Notify(msg);
39 }
40 
41 NavMsgBus& NavMsgBus::GetInstance() {
42  static NavMsgBus instance;
43  return instance;
44 }
45 
Common interface for all drivers.
Definition: comm_driver.h:58
The raw message layer, a singleton.
void Notify(std::shared_ptr< const NavMsg > message)
Handle a received message.
The observable notify/listen basic nuts and bolts.
Definition: observable.h:82
virtual const void Notify()
Notify all listeners about variable change.
Definition: observable.cpp:94