qsessionmanager man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



QSessionManager(3qt)			     QSessionManager(3qt)

NAME
       QSessionManager - Access to the session manager

       #include <qsessionmanager.h>

       Inherits QObject.

   Public Members
       QString sessionId () const
       bool allowsInteraction ()
       bool allowsErrorInteraction ()
       void release ()
       void cancel ()
       enum RestartHint { RestartIfRunning, RestartAnyway,
	   RestartImmediately, RestartNever }
       void setRestartHint ( RestartHint )
       RestartHint restartHint () const
       void setRestartCommand ( const QStringList & )
       QStringList restartCommand () const
       void setDiscardCommand ( const QStringList & )
       QStringList discardCommand () const
       void setProperty ( const QString & name, const QString &
	   value )
       void setProperty ( const QString & name, const QStringList
	   & value )
       bool isPhase2 () const
       void requestPhase2 ()

DESCRIPTION
       The QSessionManager class provides access to the session
       manager.

       The session manager is responsible for session management,
       most importantly interruption and resumption.

       QSessionManager provides an interface between the
       application and the session manager, so that the program
       can work well with the session manager. In Qt, the session
       management requests for action are handled by the two
       virtual functions QApplication::commitData() and
       QApplication::saveState(). Both functions provide a
       reference to a session manager object as argument, thus
       allowing the application to communicate with the session
       manager.

       During a session management action, i.e. within one of the
       two mentioned functions, no user interaction is possible,
       unless the application got explicit permission from the
       session manager. You can ask for permission by calling
       allowsInteraction() or, if it's really urgent,
       allowsErrorInteraction(). Qt does not enforce this, but
       the session manager may. Perhaps.

Trolltech AS		   13 June 2001				1

QSessionManager(3qt)			     QSessionManager(3qt)

       You can try to abort the shutdown process by calling
       cancel. The default commitData() function does that if
       some top-level window rejected its closeEvent().

       For sophisticated session managers as provided on
       Unix/X11, QSessionManager offers further possibilities to
       fine-tune an application's session management behaviour:
       setRestartCommand(), setDiscardCommand(),
       setRestartHint(), setProperty(), requestPhase2(). Please
       see the respective function descriptions for further
       details.

   Member Type Documentation
QSessionManager::RestartHint
       This enum type defines the circumstances under which this
       application wants to be restarted by the session manager.
       The current values are:

       RestartIfRunning - if the application still runs by the
       time the session is shut down, it wants to be restarted at
       the start of the next session.

       RestartAnyway - the application wants to be started at the
       start of the next session, no matter what. (This is useful
       for utilities that run just after startup, then quit.)

       RestartImmediately - the application wants to be started
       immediately whenever it is not running.

       RestartNever - the application does not want to be
       restarted automatically.

       The default hint is RestartIfRunning.

MEMBER FUNCTION DOCUMENTATION
bool QSessionManager::allowsErrorInteraction ()
       Like allowsInteraction() but tells the session manager in
       addition that an error occurred. Session managers may give
       error interaction request higher priority. That means it
       is more likely that an error interaction is granted.
       However, you are still not guaranteed that the session
       manager will grant your request.

       See also allowsInteraction(), release() and cancel().

bool QSessionManager::allowsInteraction ()
       Asks the session manager for permission to interact with
       the user. Returns TRUE if the interaction was granted,
       FALSE otherwise.

       The rationale behind this mechanism is to make it possible
       to synchronize user interaction during a shutdown.
       Advanced session managers may ask all applications

Trolltech AS		   13 June 2001				2

QSessionManager(3qt)			     QSessionManager(3qt)

       simultaneously to commit their data, resulting in a much
       faster shutdown.

       When the interaction is done we strongly recommend
       releasing the user interaction semaphore with a call to
       release(). This way, other applications may get the chance
       to interact with the user while your application is still
       busy saving data. (The semaphore is implicitly released
       when the application exits.)

       If the user decides to cancel the shutdown process during
       the interaction phase, you must tell the session manager
       so by calling cancel().

       Here's an example usage of the mentioned functions that
       may occur in the QApplication::commitData() function of an
       application:

       void MyApplication::commitData( QSessionManager& sm ) {
	   if ( sm.allowsInteraction() ) {
	       switch ( QMessageBox::warning( yourMainWindow, "Application Name",
					       "Save changes to Document Foo?",
					       tr("&Yes"),
					       tr("&No"),
					       tr("Cancel"),
					       0, 2) ) {
	       case 0: // yes
		   sm.release();
		   // save document here. If saving fails, call sm.cancel()
		   break;
	       case 1: // no
		   break;
	       default: // cancel
		   sm.cancel();
		   break;
	       }
	   } else {
	       // we did not get permission to interact, then
	       // do something reasonable instead.
	   }
       }

       If an error occurred within the application while saving
       its data, you may want to try allowsErrorInteraction()
       instead.

       See also QApplication::commitData(), release() and
       cancel().

void QSessionManager::cancel ()
       Tells the session manager to cancel the shutdown process.
       Applications should not call this function without asking
       the user first.

Trolltech AS		   13 June 2001				3

QSessionManager(3qt)			     QSessionManager(3qt)

       See also allowsInteraction() and allowsErrorInteraction().

QStringList QSessionManager::discardCommand () const
       Returns the currently set discard command.

       See also setDiscardCommand(), restartCommand() and
       setRestartCommand().

bool QSessionManager::isPhase2 () const
       Returns whether the session manager is currently
       performing a second session management phase.

       See also requestPhase2().

void QSessionManager::release ()
       Releases the session manager's interaction semaphore after
       an interaction phase.

       See also allowsInteraction() and allowsErrorInteraction().

void QSessionManager::requestPhase2 ()
       Requests a second session management phase for the
       application. The application may then return immediately
       from the QApplication::commitData() or
       QApplication::saveState() function, and they will be
       called again once most/all other applications have
       finished their session management.

       The two phases are useful for applications like X11 window
       manager, that need to store informations about other
       application's windows and therefore have to wait until
       these applications finished their respective session
       management tasks.

       Note that if another application has requested a second
       phase, it may get called before, simultaneously with, or
       after your application's second phase.

       See also isPhase2().

QStringList QSessionManager::restartCommand () const
       Returns the currently set restart command.

       See also setRestartCommand() and restartHint().

QSessionManager::RestartHint QSessionManager::restartHint() const
       Returns the application's current restart hint. The
       default is RestartIfRunning.

       See also setRestartHint().

QString QSessionManager::sessionId () const
       Returns the identifier of the current session.

Trolltech AS		   13 June 2001				4

QSessionManager(3qt)			     QSessionManager(3qt)

       If the application has been restored from an earlier
       session, this identifier is the same as it was in that
       previous session.

       See also QApplication::sessionId().

void QSessionManager::setDiscardCommand ( const QStringList & )
       See also discardCommand() and setRestartCommand().

void QSessionManager::setProperty ( const QString & name, const
       QString & value )
       Low-level write access to the application's identification
       and state record kept in the session manager.

void QSessionManager::setProperty ( const QString & name, const
       QStringList & value )
       Low-level write access to the application's identification
       and state record kept in the session manager.

void QSessionManager::setRestartCommand ( const QStringList &
       command )
       If the session manager is capable of restoring sessions,
       it will execute command in order to restore the
       application. The command defaults to

		      appname -session id

       The -session option is mandatory, otherwise QApplication
       can not tell whether it has been restored or what the
       current session identifier is. See
       QApplication::isSessionRestored() and
       QApplication::sessionId() for details. If your application
       is very simple, it may be possible to store the entire
       application state in additional command line options. In
       general, this is a very bad idea, since command lines are
       often limited to a few hundred bytes. Instead, use
       temporary files or a database for this purpose. By marking
       the data with the unique sessionId(), you will be able to
       restore the application in a future session.

       See also restartCommand(), setDiscardCommand() and
       setRestartHint().

void QSessionManager::setRestartHint ( RestartHint hint )
       Sets the application's restart hint to hint. On
       application start-up the hint is set to RestartIfRunning.

       Note that these flags are only hints, a session manager
       may or may not obey them.

       We recommend setting the restart hint in
       QApplication::saveState() since most session managers
       perform a checkpoint shortly after an application's
       startup.

Trolltech AS		   13 June 2001				5

QSessionManager(3qt)			     QSessionManager(3qt)

       See also	 restartHint().

SEE ALSO
       http://doc.trolltech.com/qsessionmanager.html
       http://www.trolltech.com/faq/tech.html

COPYRIGHT
       Copyright 1992-2001 Trolltech AS,
       http://www.trolltech.com.  See the license file included
       in the distribution for a complete license statement.

AUTHOR
       Generated automatically from the source code.

BUGS
       If you find a bug in Qt, please report it as described in
       http://doc.trolltech.com/bughowto.html.	Good bug reports
       make our job much simpler. Thank you.

       In case of content or formattting problems with this
       manual page, please report them to qt-bugs@trolltech.com.
       Please include the name of the manual page
       (qsessionmanager.3qt) and the Qt version (2.3.1).

Trolltech AS		   13 June 2001				6

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net