X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bc00e7155e50add264599856a39e0ceb2db19541..520200fd10b80c1d759311ed345789f5fe048ca5:/docs/latex/wx/snglinst.tex diff --git a/docs/latex/wx/snglinst.tex b/docs/latex/wx/snglinst.tex index 10f4535c7e..b655dd94b1 100644 --- a/docs/latex/wx/snglinst.tex +++ b/docs/latex/wx/snglinst.tex @@ -15,7 +15,7 @@ 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}. +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 @@ -24,17 +24,18 @@ example: \begin{verbatim} bool MyApp::OnInit() { - m_checker = new wxSingleInstanceChecker(GetAppName()); + const wxString name = wxString::Format("MyApp-%s", wxGetUserId().c_str()); + m_checker = new wxSingleInstanceChecker(name); if ( m_checker->IsAnotherRunning() ) { wxLogError(_("Another program instance is already running, aborting.")); - return FALSE; + return false; } ... more initializations ... - return TRUE; + return true; } int MyApp::OnExit() @@ -45,14 +46,21 @@ int MyApp::OnExit() } \end{verbatim} -This class is implemented for Win32 and Unix platforms supporting {\tt fcntl()} -system call only. +Note using \helpref{wxGetUserId()}{wxgetuserid} to construct the name: this +allows different user to run the application concurrently which is usually the +intended goal. If you don't use the user name in the wxSingleInstanceChecker +name, only one user would be able to run the application at a time. + +This class is implemented for Win32 and Unix platforms (supporting {\tt fcntl()} +system call, but almost all of modern Unix systems do) only. \wxheading{Derived from} No base class -\wxheading{Data structures} +\wxheading{Include files} + + \latexignore{\rtfignore{\wxheading{Members}}} @@ -82,7 +90,8 @@ had been used is an error. \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} +\helpref{GetAppName()}{wxappgetappname} and \helpref{wxGetUserId()}{wxgetuserid} +are commonly used to construct 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 @@ -90,7 +99,7 @@ create the lock file in under Unix (default is \wxheading{Return value} -Returns {\tt FALSE} if initialization failed, it doesn't mean that another +Returns {\tt false} if initialization failed, it doesn't mean that another instance is running - use \helpref{IsAnotherRunning()}{wxsingleinstancecheckerisanotherrunning} to check for it. @@ -99,8 +108,8 @@ for it. \constfunc{bool}{IsAnotherRunning}{\void} -Returns {\tt TRUE} if another copy of this program is already running, {\tt -FALSE} otherwise. +Returns {\tt true} if another copy of this program is already running, {\tt +false} otherwise. \membersection{wxSingleInstanceChecker::\destruct{wxSingleInstanceChecker}}\label{wxsingleinstancecheckerdtor}