OpenCPN Partial API docs
linux_usb_watch.h
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright (C) 2024 Alec Leamas *
3  * *
4  * This program is free software; you can redistribute it and/or modify *
5  * it under the terms of the GNU General Public License as published by *
6  * the Free Software Foundation; either version 2 of the License, or *
7  * (at your option) any later version. *
8  * *
9  * This program is distributed in the hope that it will be useful, *
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12  * GNU General Public License for more details. *
13  * *
14  * You should have received a copy of the GNU General Public License *
15  * along with this program; if not, write to the *
16  * Free Software Foundation, Inc., *
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18  **************************************************************************/
19 
22 #ifndef __linux__
23 #error "This file can only be compiled on linux. "
24 #endif
25 
26 #include "model/usb_watch_daemon.h"
27 
28 #include <gio/gio.h>
29 
36 public:
39 
40  void Start();
41  void Stop();
42 
43 private:
44  void DoStart();
45 
46  GDBusConnection* m_conn;
47  GMainLoop* m_main_loop;
48  GMainContext* m_worker_context;
49  std::thread m_thread;
50 };
Listen to DBus system bus signals reflecting for example suspend/resume, new USB devicesbeing plugged...
Listen to hardware events and notifies SystemEvents when new devices are plugged in.
Generic hardware events interface.