added wxSingleInstanceChecker class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -549,5 +549,6 @@ using any of them in the new programs:
|
||||
\twocolitem{\helpref{wxEncodingConverter}{wxencodingconverter}}{Encoding conversions}
|
||||
\twocolitem{\helpref{wxCalendarDateAttr}{wxcalendardateattr}}{Used with \helpref{wxCalendarCtrl}{wxcalendarctrl}}
|
||||
\twocolitem{\helpref{wxQuantize}{wxquantize}}{Class to perform quantization, or colour reduction}
|
||||
\twocolitem{\helpref{wxSingleInstanceChecker}{wxsingleinstancechecker}}{Check that only single program instance is running}
|
||||
\end{twocollist}
|
||||
|
||||
|
@@ -276,6 +276,7 @@
|
||||
\input strlist.tex
|
||||
\input propslv.tex
|
||||
\input tokenizr.tex
|
||||
\input snglinst.tex
|
||||
\input sysclevt.tex
|
||||
\input settings.tex
|
||||
\input tab.tex
|
||||
|
112
docs/latex/wx/snglinst.tex
Normal file
112
docs/latex/wx/snglinst.tex
Normal file
@@ -0,0 +1,112 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% Name: snglinst.tex
|
||||
%% Purpose: wxSingleInstanceChecker documentation
|
||||
%% Author: Vadim Zeitlin
|
||||
%% Modified by:
|
||||
%% Created: 08.06.01
|
||||
%% RCS-ID: $Id$
|
||||
%% Copyright: (c) 2001 Vadim Zeitlin
|
||||
%% License: wxWindows license
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\section{\class{wxSingleInstanceChecker}}\label{wxsingleinstancechecker}
|
||||
|
||||
wxSingleInstanceChecker class allows to check that only a single instance of a
|
||||
program is running. To do it, you should create an object of this class. As
|
||||
long as this object is alive, calls to
|
||||
\helpref{IsAnotherRunning()}{wxsingleinstancecheckerisanotherrunning} from
|
||||
other processes will return {\tt TRUE}.
|
||||
|
||||
As the object should have the life span as big as possible, it makes sense to
|
||||
create it either as a global or in \helpref{wxApp::OnInit}{wxapponinit}. For
|
||||
example:
|
||||
|
||||
\begin{verbatim}
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
m_checker = new wxSingleInstanceChecker(GetAppName());
|
||||
if ( m_checker->IsAnotherRunning() )
|
||||
{
|
||||
wxLogError(_("Another program instance is already running, aborting."));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
... more initializations ...
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int MyApp::OnExit()
|
||||
{
|
||||
delete m_checker;
|
||||
|
||||
return 0;
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
This class is implemented for Win32 and Unix platforms supporting {\tt fcntl()}
|
||||
system call only.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No base class
|
||||
|
||||
\wxheading{Data structures}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSingleInstanceChecker::wxSingleInstanceChecker}\label{wxsingleinstancecheckerctor}
|
||||
|
||||
\func{}{wxSingleInstanceChecker}{\void}
|
||||
|
||||
Default ctor, use \helpref{Create()}{wxsingleinstancecheckercreate} after it.
|
||||
|
||||
\membersection{wxSingleInstanceChecker::wxSingleInstanceChecker}\label{wxsingleinstancecheckerwxsingleinstancechecker}
|
||||
|
||||
\func{}{wxSingleInstanceChecker}{\param{const wxString\& }{name}, \param{const wxString\& }{path = wxEmptyString}}
|
||||
|
||||
Like \helpref{Create()}{wxsingleinstancecheckercreate} but without
|
||||
error checking.
|
||||
|
||||
\membersection{wxSingleInstanceChecker::Create}\label{wxsingleinstancecheckercreate}
|
||||
|
||||
\func{bool}{Create}{\param{const wxString\& }{name}, \param{const wxString\& }{path = wxEmptyString}}
|
||||
|
||||
Initialize the object if it had been created using the default constructor.
|
||||
Note that you can't call Create() more than once, so calling it if the
|
||||
\helpref{non default ctor}{wxsingleinstancecheckerwxsingleinstancechecker}
|
||||
had been used is an error.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{name}{must be given and be as unique as possible, it is used as the
|
||||
mutex name under Win32 and the lock file name under Unix.
|
||||
\helpref{GetAppName()}{wxappgetappname} may be a good value for this parameter}
|
||||
|
||||
\docparam{path}{is optional and is ignored under Win32 and used as the directory to
|
||||
create the lock file in under Unix (default is
|
||||
\helpref{wxGetHomeDir()}{wxgethomedir})
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns {\tt FALSE} if initialization failed, it doesn't mean that another
|
||||
instance is running - use
|
||||
\helpref{IsAnotherRunning()}{wxsingleinstancecheckerisanotherrunning} to check
|
||||
for it.
|
||||
|
||||
\membersection{wxSingleInstanceChecker::IsAnotherRunning}\label{wxsingleinstancecheckerisanotherrunning}
|
||||
|
||||
\constfunc{bool}{IsAnotherRunning}{\void}
|
||||
|
||||
Returns {\tt TRUE} if another copy of this program is already running, {\tt
|
||||
FALSE} otherwise.
|
||||
|
||||
\membersection{wxSingleInstanceChecker::\destruct{wxSingleInstanceChecker}}\label{wxsingleinstancecheckerdtor}
|
||||
|
||||
\func{}{\destruct{wxSingleInstanceChecker}}{\void}
|
||||
|
||||
Destructor frees the associated resources.
|
||||
|
||||
Note that it is not virtual, this class is not meant to be used polymorphically
|
||||
|
Reference in New Issue
Block a user