root / trunk / install / launcher / izpack-launcher-1.3_linux / src / wx / include / wx / snglinst.h @ 6834
History | View | Annotate | Download (2.16 KB)
1 |
///////////////////////////////////////////////////////////////////////////////
|
---|---|
2 |
// Name: wx/snglinst.h
|
3 |
// Purpose: wxSingleInstanceChecker can be used to restrict the number of
|
4 |
// simultaneously running copies of a program to one
|
5 |
// Author: Vadim Zeitlin
|
6 |
// Modified by:
|
7 |
// Created: 08.06.01
|
8 |
// RCS-ID: $Id: snglinst.h 6834 2006-08-24 08:23:24Z jmvivo $
|
9 |
// Copyright: (c) 2001 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
10 |
// Licence: wxWindows licence
|
11 |
///////////////////////////////////////////////////////////////////////////////
|
12 |
|
13 |
#ifndef _WX_SNGLINST_H_
|
14 |
#define _WX_SNGLINST_H_
|
15 |
|
16 |
#if wxUSE_SNGLINST_CHECKER
|
17 |
|
18 |
// ----------------------------------------------------------------------------
|
19 |
// wxSingleInstanceChecker
|
20 |
// ----------------------------------------------------------------------------
|
21 |
|
22 |
class WXDLLEXPORT wxSingleInstanceChecker |
23 |
{ |
24 |
public:
|
25 |
// default ctor, use Create() after it
|
26 |
wxSingleInstanceChecker() { Init(); } |
27 |
|
28 |
// like Create() but no error checking (dangerous!)
|
29 |
wxSingleInstanceChecker(const wxString& name,
|
30 |
const wxString& path = wxEmptyString)
|
31 |
{ |
32 |
Init(); |
33 |
Create(name, path); |
34 |
} |
35 |
|
36 |
// name must be given and be as unique as possible, it is used as the mutex
|
37 |
// name under Win32 and the lock file name under Unix -
|
38 |
// wxTheApp->GetAppName() may be a good value for this parameter
|
39 |
//
|
40 |
// path is optional and is ignored under Win32 and used as the directory to
|
41 |
// create the lock file in under Unix (default is wxGetHomeDir())
|
42 |
//
|
43 |
// returns FALSE if initialization failed, it doesn't mean that another
|
44 |
// instance is running - use IsAnotherRunning() to check it
|
45 |
bool Create(const wxString& name, const wxString& path = wxEmptyString); |
46 |
|
47 |
// is another copy of this program already running?
|
48 |
bool IsAnotherRunning() const; |
49 |
|
50 |
// dtor is not virtual, this class is not meant to be used polymorphically
|
51 |
~wxSingleInstanceChecker(); |
52 |
|
53 |
private:
|
54 |
// common part of all ctors
|
55 |
void Init() { m_impl = NULL; } |
56 |
|
57 |
// the implementation details (platform specific)
|
58 |
class WXDLLEXPORT wxSingleInstanceCheckerImpl *m_impl; |
59 |
}; |
60 |
|
61 |
#endif // wxUSE_SNGLINST_CHECKER |
62 |
|
63 |
#endif // _WX_SNGLINST_H_ |