OpenCPN Partial API docs
std_instance_chk.h
1 /***************************************************************************
2  * Copyright (C) 2023 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 #ifndef _STD_INSTANCE_CHECK_H__
20 #define _STD_INSTANCE_CHECK_H__
21 
22 #include <wx/snglinst.h>
23 
24 #include "model/instance_check.h"
25 
28 public:
30 
31  virtual ~StdInstanceCheck();
32 
33  bool IsMainInstance() override;
34 
35  void CleanUp() override;
36 
37 private:
38  std::string m_path;
39  bool m_is_main_instance;
40 };
41 
42 #endif // _STD_INSTANCE_CHECK_H__
Common interface for all instance checkers.
InstanceCheck implementation based on <unistd.h> i.
bool IsMainInstance() override
Return true if this process is the primary opencpn instance.
void CleanUp() override
Remove all persistent instance state, including possible lock file and defunct opencpn processes.