OpenCPN Partial API docs
comm_appmsg_bus.cpp
1 /***************************************************************************
2  *
3  * Project: OpenCPN
4  * Purpose: Implement comm_appmsg_bus.h -- Decoded 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_appmsg_bus.h"
34 
35 void AppMsgBus::Notify(std::shared_ptr<const AppMsg> msg) {
36  Observable(*msg).Notify(msg);
37 }
38 
39 AppMsgBus& AppMsgBus::GetInstance() {
40  static AppMsgBus instance;
41  return instance;
42 }
Application layer messaging, a singleton.
void Notify(std::shared_ptr< const AppMsg > msg)
Send message to everyone listening to given message type.
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