org.kde.koala
Class KUniqueApplication

java.lang.Object
  extended by org.kde.qt.Qt
      extended by org.kde.qt.QObject
          extended by org.kde.qt.QApplication
              extended by org.kde.koala.KApplication
                  extended by org.kde.koala.KUniqueApplication
All Implemented Interfaces:
DCOPObjectInterface, KInstanceInterface, org.kde.qt.QtSupport

public class KUniqueApplication
extends KApplication
implements DCOPObjectInterface

Maintains only a single instance of a running application at a time. If another instance is started, it will determine (via DCOP) whether it is the first instance or a second instance. If it is a second instance, it will forward on the information to the first instance and then quit. The .desktop file for the application should state X-DCOP-ServiceType=Unique, see kapplication.h If your application is used to open files, it should also support the --tempfile option (see KCmdLineArgs.addTempFileOption()), to delete tempfiles after use. Add X-KDE-HasTempFileOption=true to the .desktop file to indicate this.

Author:
Preston Brown
See Also:
KApplication, DCOPObject

Field Summary
 
Fields inherited from class org.kde.koala.KApplication
Button1Pressed, Button2Pressed, Button3Pressed, Button4Pressed, Button5Pressed, CaptionAppFirst, CaptionAppLast, CaptionNoApp, ControlModifier, LockModifier, Modifier1, Modifier2, Modifier3, Modifier4, Modifier5, SETTINGS_COMPLETION, SETTINGS_MOUSE, SETTINGS_PATHS, SETTINGS_POPUPMENU, SETTINGS_QT, SETTINGS_SHORTCUTS, ShiftModifier, ShutdownConfirmDefault, ShutdownConfirmNo, ShutdownConfirmYes, ShutdownModeDefault, ShutdownModeForceNow, ShutdownModeInteractive, ShutdownModeSchedule, ShutdownModeTryNow, ShutdownTypeDefault, ShutdownTypeHalt, ShutdownTypeNone, ShutdownTypeReboot
 
Fields inherited from class org.kde.qt.QApplication
CustomColor, CustomColors, DefaultCodec, GuiClient, GuiServer, ManyColor, NormalColor, NormalColors, Tty, UnicodeUTF8
 
Fields inherited from class org.kde.qt.Qt
AlignAuto, AlignBottom, AlignCenter, AlignHCenter, AlignHorizontal_Mask, AlignJustify, AlignLeft, AlignRight, AlignTop, AlignVCenter, AlignVertical_Mask, AlphaDither_Mask, ALT, AltButton, AnchorHref, AnchorName, AndNotROP, AndROP, ArrowCursor, Ascending, ASCII_ACCEL, AutoColor, AutoDither, AutoText, AvoidDither, BDiagPattern, BeginsWith, BevelJoin, BitmapCursor, BlankCursor, Bottom, BottomLeft, BottomRight, BreakAnywhere, BusyCursor, CaseSensitive, ClearROP, ColorMode_Mask, ColorOnly, Contains, ControlButton, CopyROP, CrossCursor, CrossPattern, CTRL, CustomPattern, DashDotDotLine, DashDotLine, DashLine, Dense1Pattern, Dense2Pattern, Dense3Pattern, Dense4Pattern, Dense5Pattern, Dense6Pattern, Dense7Pattern, Descending, DiagCrossPattern, DiffuseAlphaDither, DiffuseDither, Dither_Mask, DitherMode_Mask, DockBottom, DockLeft, DockMinimized, DockRight, DockTop, DockTornOff, DockUnmanaged, DontClip, DontPrint, DotLine, DownArrow, EndsWith, EraseROP, ExactMatch, ExpandTabs, FDiagPattern, FixedColor, FixedPixmap, FlatCap, ForbiddenCursor, HiEnglishUnit, HiMetricUnit, Horizontal, HorPattern, IbeamCursor, Identical, IncludeTrailingSpaces, ISODate, Key_0, Key_1, Key_2, Key_3, Key_4, Key_5, Key_6, Key_7, Key_8, Key_9, Key_A, Key_aacute, Key_Aacute, Key_acircumflex, Key_Acircumflex, Key_acute, Key_adiaeresis, Key_Adiaeresis, Key_ae, Key_AE, Key_agrave, Key_Agrave, Key_Alt, Key_Ampersand, Key_Any, Key_Apostrophe, Key_aring, Key_Aring, Key_AsciiCircum, Key_AsciiTilde, Key_Asterisk, Key_At, Key_atilde, Key_Atilde, Key_B, Key_Back, Key_Backslash, Key_Backspace, Key_BackSpace, Key_Backtab, Key_BackTab, Key_Bar, Key_BassBoost, Key_BassDown, Key_BassUp, Key_BraceLeft, Key_BraceRight, Key_BracketLeft, Key_BracketRight, Key_brokenbar, Key_C, Key_CapsLock, Key_ccedilla, Key_Ccedilla, Key_cedilla, Key_cent, Key_Clear, Key_Colon, Key_Comma, Key_Control, Key_copyright, Key_currency, Key_D, Key_degree, Key_Delete, Key_diaeresis, Key_Direction_L, Key_Direction_R, Key_division, Key_Dollar, Key_Down, Key_E, Key_eacute, Key_Eacute, Key_ecircumflex, Key_Ecircumflex, Key_ediaeresis, Key_Ediaeresis, Key_egrave, Key_Egrave, Key_End, Key_Enter, Key_Equal, Key_Escape, Key_eth, Key_ETH, Key_Exclam, Key_exclamdown, Key_F, Key_F1, Key_F10, Key_F11, Key_F12, Key_F13, Key_F14, Key_F15, Key_F16, Key_F17, Key_F18, Key_F19, Key_F2, Key_F20, Key_F21, Key_F22, Key_F23, Key_F24, Key_F25, Key_F26, Key_F27, Key_F28, Key_F29, Key_F3, Key_F30, Key_F31, Key_F32, Key_F33, Key_F34, Key_F35, Key_F4, Key_F5, Key_F6, Key_F7, Key_F8, Key_F9, Key_Favorites, Key_Forward, Key_G, Key_Greater, Key_guillemotleft, Key_guillemotright, Key_H, Key_Help, Key_Home, Key_HomePage, Key_Hyper_L, Key_Hyper_R, Key_hyphen, Key_I, Key_iacute, Key_Iacute, Key_icircumflex, Key_Icircumflex, Key_idiaeresis, Key_Idiaeresis, Key_igrave, Key_Igrave, Key_Insert, Key_J, Key_K, Key_L, Key_Launch0, Key_Launch1, Key_Launch2, Key_Launch3, Key_Launch4, Key_Launch5, Key_Launch6, Key_Launch7, Key_Launch8, Key_Launch9, Key_LaunchA, Key_LaunchB, Key_LaunchC, Key_LaunchD, Key_LaunchE, Key_LaunchF, Key_LaunchMail, Key_LaunchMedia, Key_Left, Key_Less, Key_M, Key_macron, Key_masculine, Key_MediaLast, Key_MediaNext, Key_MediaPlay, Key_MediaPrev, Key_MediaRecord, Key_MediaStop, Key_Menu, Key_Meta, Key_Minus, Key_mu, Key_multiply, Key_N, Key_Next, Key_nobreakspace, Key_notsign, Key_ntilde, Key_Ntilde, Key_NumberSign, Key_NumLock, Key_O, Key_oacute, Key_Oacute, Key_ocircumflex, Key_Ocircumflex, Key_odiaeresis, Key_Odiaeresis, Key_ograve, Key_Ograve, Key_onehalf, Key_onequarter, Key_onesuperior, Key_Ooblique, Key_OpenUrl, Key_ordfeminine, Key_oslash, Key_otilde, Key_Otilde, Key_P, Key_PageDown, Key_PageUp, Key_paragraph, Key_ParenLeft, Key_ParenRight, Key_Pause, Key_Percent, Key_Period, Key_periodcentered, Key_Plus, Key_plusminus, Key_Print, Key_Prior, Key_Q, Key_Question, Key_questiondown, Key_QuoteDbl, Key_QuoteLeft, Key_R, Key_Refresh, Key_registered, Key_Return, Key_Right, Key_S, Key_ScrollLock, Key_Search, Key_section, Key_Semicolon, Key_Shift, Key_Slash, Key_Space, Key_ssharp, Key_Standby, Key_sterling, Key_Stop, Key_Super_L, Key_Super_R, Key_SysReq, Key_T, Key_Tab, Key_thorn, Key_THORN, Key_threequarters, Key_threesuperior, Key_TrebleDown, Key_TrebleUp, Key_twosuperior, Key_U, Key_uacute, Key_Uacute, Key_ucircumflex, Key_Ucircumflex, Key_udiaeresis, Key_Udiaeresis, Key_ugrave, Key_Ugrave, Key_Underscore, Key_unknown, Key_Up, Key_V, Key_VolumeDown, Key_VolumeMute, Key_VolumeUp, Key_W, Key_X, Key_Y, Key_yacute, Key_Yacute, Key_ydiaeresis, Key_yen, Key_Z, KeyButtonMask, Keypad, LastCursor, LastROP, Left, LeftArrow, LeftButton, LocalDate, LocalTime, LoEnglishUnit, LogText, LoMetricUnit, MacStyle, META, MetaButton, MidButton, Minimized, MiterJoin, MODIFIER_MASK, MonoOnly, MotifStyle, MouseButtonMask, MPenCapStyle, MPenJoinStyle, MPenStyle, MV_10_DOT_0, MV_10_DOT_1, MV_10_DOT_2, MV_10_DOT_3, MV_10_DOT_4, MV_9, MV_CHEETAH, MV_JAGUAR, MV_PANTHER, MV_PUMA, MV_TIGER, MV_Unknown, NandROP, NoAccel, NoAlpha, NoBackground, NoBrush, NoButton, NoMatch, NoPen, NopROP, NorROP, NotAndROP, NotCopyROP, NotEraseROP, NotOrROP, NotROP, NotXorROP, OpaqueMode, OrderedAlphaDither, OrderedDither, OrNotROP, OrROP, Overline, PaletteBackground, PaletteBase, PaletteBrightText, PaletteButton, PaletteButtonText, PaletteDark, PaletteForeground, PaletteHighlight, PaletteHighlightedText, PaletteLight, PaletteLink, PaletteLinkVisited, PaletteMid, PaletteMidlight, PaletteShadow, PaletteText, PartialMatch, PixelUnit, PlainText, PMStyle, PointingHandCursor, PreferDither, RichText, Right, RightArrow, RightButton, RoundCap, RoundJoin, SetROP, SHIFT, ShiftButton, ShowPrefix, SingleLine, SizeAllCursor, SizeBDiagCursor, SizeFDiagCursor, SizeHorCursor, SizeVerCursor, SolidLine, SolidPattern, SplitHCursor, SplitVCursor, SquareCap, StrikeOut, TextDate, ThresholdAlphaDither, ThresholdDither, Top, TopLeft, TopRight, TornOff, TransparentMode, TwipsUnit, UI_AnimateCombo, UI_AnimateMenu, UI_AnimateToolBox, UI_AnimateTooltip, UI_FadeMenu, UI_FadeTooltip, UI_General, Underline, UNICODE_ACCEL, Unmanaged, UpArrow, UpArrowCursor, UTC, VerPattern, Vertical, WaitCursor, WDestructiveClose, WGroupLeader, WhatsThisCursor, Win3Style, WindowActive, WindowFullScreen, WindowMaximized, WindowMinimized, WindowNoState, WindowsStyle, WMacDrawer, WMacNoSheet, WMouseNoMask, WNoAutoErase, WNoMousePropagation, WNorthWestGravity, WordBreak, WPaintClever, WPaintDesktop, WPaintUnclipped, WRepaintNoErase, WResizeNoErase, WShowModal, WState_AutoMask, WState_BlockUpdates, WState_CompressKeys, WState_ConfigPending, WState_Created, WState_CreatedHidden, WState_Disabled, WState_DND, WState_Exposed, WState_ForceDisabled, WState_ForceHide, WState_FullScreen, WState_HasMouse, WState_InPaintEvent, WState_Maximized, WState_Minimized, WState_MouseTracking, WState_OwnCursor, WState_OwnSizePolicy, WState_Polished, WState_Reparented, WState_Reserved0, WState_Resized, WState_Visible, WStaticContents, WStyle_ContextHelp, WStyle_Customize, WStyle_Dialog, WStyle_DialogBorder, WStyle_Mask, WStyle_Maximize, WStyle_Minimize, WStyle_MinMax, WStyle_NoBorder, WStyle_NoBorderEx, WStyle_NormalBorder, WStyle_Reserved, WStyle_Splash, WStyle_StaysOnTop, WStyle_SysMenu, WStyle_Title, WStyle_Tool, WSubWindow, WType_Desktop, WType_Dialog, WType_Mask, WType_Modal, WType_Popup, WType_TopLevel, WV_2000, WV_2003, WV_32s, WV_95, WV_98, WV_CE, WV_CE_based, WV_CENET, WV_DOS_based, WV_Me, WV_NT, WV_NT_based, WV_XP, WWinOwnDC, WX11BypassWM, X11ParentRelative, XorROP
 
Constructor Summary
  KUniqueApplication()
           
  KUniqueApplication(boolean allowStyles)
           
  KUniqueApplication(boolean allowStyles, boolean GUIenabled)
           
  KUniqueApplication(boolean allowStyles, boolean GUIenabled, boolean configUnique)
          Constructor.
protected KUniqueApplication(java.lang.Class dummy)
           
 
Method Summary
static void addCmdLineOptions()
          Adds command line options specific for KUniqueApplication.
 DCOPClient callingDcopClient()
          Returns the DCOPClient responsible for making the call.
 java.lang.String className()
           
 boolean connectDCOPSignal(java.lang.String sender, java.lang.String senderObj, java.lang.String signal, java.lang.String slot, boolean Volatile)
          Connects to a DCOP signal.
 boolean disconnectDCOPSignal(java.lang.String sender, java.lang.String senderObj, java.lang.String signal, java.lang.String slot)
          Disconnects a DCOP signal.
 void dispose()
          Delete the wrapped C++ instance ahead of finalize()
 void emitDCOPSignal(java.lang.String signal, byte[] data)
          Emit signal as DCOP signal from this object with data as arguments
protected  void finalize()
          Deletes the wrapped C++ instance
static DCOPObjectInterface find(java.lang.String objId)
          Try to find a dcop object with the given id.
 java.util.ArrayList functions()
          Returns the list of functions understood by the object.
 java.util.ArrayList functionsDynamic()
          This function is of interest when you used an IDL compiler to generate the implementation for functions() but you still want to list some functions dynamically.
static boolean hasObject(java.lang.String objId)
          Checks whether an object with the given id is known in this process.
 java.util.ArrayList interfaces()
          Returns the names of the interfaces, specific ones last.
 java.util.ArrayList interfacesDynamic()
          This function is of interest when you used an IDL compiler to generate the implementation for interfaces() but you still want to list some interfaces dynamically.
 boolean isDisposed()
          Has the wrapped C++ instance been deleted?
 org.kde.qt.QMetaObject metaObject()
           
 int newInstance()
          Creates a new "instance" of the application.
static java.lang.String objectName(org.kde.qt.QObject arg1)
          Creates an object id for the QObject obj. This is done using the QObject.name() function.
 java.lang.String objId()
          Returns the object id of the DCOPObject.
 boolean process(java.lang.String fun, byte[] data, java.lang.StringBuffer replyType, byte[] replyData)
          Dispatches any incoming DCOP message for a new instance.
 boolean processDynamic(java.lang.String fun, byte[] data, java.lang.StringBuffer replyType, byte[] replyData)
          This function is of interest when you used an IDL compiler to generate the implementation for process() but you still want to dispatch some functions dynamically.
 boolean restoringSession()
          Returns whether newInstance() is being called while session restoration is in progress.
 void setCallingDcopClient(DCOPClient arg1)
           
static void setHandleAutoStarted()
           
 boolean setObjId(java.lang.String objId)
          Renames a dcop object, if no other with the same name exists Use with care, all dcop signals are disconnected
static boolean start()
          Forks and registers with dcop.
 
Methods inherited from class org.kde.koala.KApplication
aboutData, addKipcEventMask, allowURLAction, authorize, authorizeControlModule, authorizeControlModules, authorizeKAction, authorizeURLAction, caption, checkRecoverFile, clear, commitData, config, copy, createApplicationPalette, createApplicationPalette, cut, dcopClient, deref, dirs, disableAutoDcopRegistration, disableSessionManagement, disableStyles, enableSessionManagement, enableStyles, geometryArgument, guiEnabled, icon, iconLoader, iconName, installKDEPropertyMap, installSigpipeHandler, installX11EventFilter, instanceName, invokeBrowser, invokeBrowser, invokeEditSlot, invokeHelp, invokeHelp, invokeHelp, invokeHelp, invokeMailer, invokeMailer, invokeMailer, invokeMailer, invokeMailer, invokeMailer, invokeMailer, invokeMailer, invokeMailer, isRestored, kApplication, kdeinitExec, kdeinitExec, kdeinitExec, kdeinitExec, kdeinitExec, kdeinitExecWait, kdeinitExecWait, kdeinitExecWait, kdeinitExecWait, kdeinitExecWait, keyboardMouseState, launcher, makeStdCaption, makeStdCaption, makeStdCaption, mimeSourceFactory, miniIcon, miniIconName, newIconLoader, notify, paste, propagateSessionManager, random, randomString, ref, removeKipcEventMask, removeX11EventFilter, requestShutDown, requestShutDown, requestShutDown, requestShutDown, saveState, selectAll, sessionConfig, sessionSaving, setConfigName, setJavaSlotFactory, setStartupId, setTopWidget, sharedConfig, startKdeinit, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopName, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByDesktopPath, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startServiceByName, startupId, tempSaveName, updateRemoteUserTimestamp, updateRemoteUserTimestamp, updateUserTimestamp, updateUserTimestamp, userTimestamp
 
Methods inherited from class org.kde.qt.QApplication
aboutQt, activeModalWidget, activePopupWidget, activeWindow, addLibraryPath, allWidgets, applicationDirPath, applicationFilePath, args, beep, clipboard, closeAllWindows, closingDown, colorMode, colorSpec, cursorFlashTime, defaultCodec, desktop, desktopSettingsAware, doubleClickInterval, enter_loop, event, eventLoop, exec, exit_loop, exit, exit, flush, flushX, focusWidget, font, font, fontMetrics, globalStrut, hasGlobalMouseTracking, hasPendingEvents, horizontalAlignment, installTranslator, isEffectEnabled, isSessionRestored, libraryPaths, loopLevel, mainWidget, overrideCursor, palette, palette, polish, postEvent, processEvents, processEvents, processOneEvent, quit, removeLibraryPath, removePostedEvents, removeTranslator, restoreOverrideCursor, reverseLayout, sendEvent, sendPostedEvents, sendPostedEvents, sessionId, sessionKey, setColorMode, setColorSpec, setCursorFlashTime, setDefaultCodec, setDesktopSettingsAware, setDoubleClickInterval, setEffectEnabled, setEffectEnabled, setFont, setFont, setFont, setGlobalMouseTracking, setGlobalStrut, setLibraryPaths, setMainWidget, setOverrideCursor, setOverrideCursor, setPalette, setPalette, setPalette, setReverseLayout, setStartDragDistance, setStartDragTime, setStyle, setStyle, setWheelScrollLines, setWinStyleHighlightColor, startDragDistance, startDragTime, startingUp, style, syncX, topLevelWidgets, tr, tr, translate, translate, translate, type, wakeUpGuiThread, wheelScrollLines, widgetAt, widgetAt, widgetAt, widgetAt, winStyleHighlightColor
 
Methods inherited from class org.kde.qt.QObject
activate_filters, activate_signal_bool, activate_signal, activate_signal, activate_signal, activate_signal, blockSignals, checkConnectArgs, child, child, child, childEvent, children, connect, connect, connectInternal, connectNotify, customEvent, deleteLater, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnect, disconnectInternal, disconnectNotify, dumpObjectInfo, dumpObjectTree, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, emit, eventFilter, highPriority, i18n, inherits, insertChild, installEventFilter, isA, isWidgetType, killTimer, killTimers, name, name, normalizeSignalSlot, objectTrees, parent, property, queryList, queryList, queryList, queryList, queryList, registerUserData, removeChild, removeEventFilter, sender, setName, setProperty, signalsBlocked, startTimer, timerEvent
 
Methods inherited from class org.kde.qt.Qt
arrowCursor, bin, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, bitBlt, black, blankCursor, blue, color0, color1, copyBlt, copyBlt, copyBlt, copyBlt, copyBlt, crossCursor, cyan, darkBlue, darkCyan, darkGray, darkGreen, darkMagenta, darkRed, darkYellow, dec, dynamicCast, endl, flush, forbiddenCursor, fromUtf8, gray, green, hex, ibeamCursor, lightGray, magenta, oct, op_div, op_div, op_div, op_div, op_equals, op_equals, op_equals, op_equals, op_minus, op_minus, op_minus, op_mult, op_mult, op_mult, op_mult, op_mult, op_mult, op_mult, op_mult, op_mult, op_not_equals, op_not_equals, op_not_equals, op_not_equals, op_plus, op_plus, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_read, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, op_write, pointingHandCursor, qAlpha, qApp, qAppName, qBlue, qCompress, qCompress, qDebug, qDebug, qDrawArrow, qDrawItem, qDrawItem, qDrawItem, qDrawPlainRect, qDrawPlainRect, qDrawPlainRect, qDrawPlainRect, qDrawPlainRect, qDrawPlainRect, qDrawShadeLine, qDrawShadeLine, qDrawShadeLine, qDrawShadeLine, qDrawShadeLine, qDrawShadeLine, qDrawShadeLine, qDrawShadeLine, qDrawShadePanel, qDrawShadePanel, qDrawShadePanel, qDrawShadePanel, qDrawShadePanel, qDrawShadePanel, qDrawShadePanel, qDrawShadePanel, qDrawShadeRect, qDrawShadeRect, qDrawShadeRect, qDrawShadeRect, qDrawShadeRect, qDrawShadeRect, qDrawShadeRect, qDrawShadeRect, qDrawShadeRect, qDrawShadeRect, qDrawWinButton, qDrawWinButton, qDrawWinButton, qDrawWinButton, qDrawWinButton, qDrawWinButton, qDrawWinPanel, qDrawWinPanel, qDrawWinPanel, qDrawWinPanel, qDrawWinPanel, qDrawWinPanel, qFatal, qFatal, qGLVersion, qGray, qGray, qGreen, qInitNetworkProtocols, qInstallPath, qInstallPathBins, qInstallPathData, qInstallPathDocs, qInstallPathHeaders, qInstallPathLibs, qInstallPathPlugins, qInstallPathSysconf, qInstallPathTranslations, qItemRect, qItemRect, qObsolete, qObsolete, qObsolete, qRed, qRgb, qRgba, qRound, qSharedBuild, qSuppressObsoleteWarnings, qSuppressObsoleteWarnings, qSysInfo, qSystemWarning, qSystemWarning, qUncompress, qUncompress, qVersion, qWarning, qWarning, red, reset, SIGNAL, sizeAllCursor, sizeBDiagCursor, sizeFDiagCursor, sizeHorCursor, sizeVerCursor, SLOT, splitHCursor, splitVCursor, upArrowCursor, waitCursor, whatsThisCursor, white, ws, yellow
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KUniqueApplication

protected KUniqueApplication(java.lang.Class dummy)

KUniqueApplication

public KUniqueApplication(boolean allowStyles,
                          boolean GUIenabled,
                          boolean configUnique)
Constructor. Takes command line arguments from KCmdLineArgs

Parameters:
allowStyles - Set to false to disable the loading on plugin based styles. This is only useful to applications that do not display a GUI normally. If you do create an application with allowStyles set to false it normally runs in the background but under special circumstances displays widgets. Call KApplication.enableStyles() before displaying any widgets.
GUIenabled - Set to false to disable all GUI stuff. This implies no styles either.
configUnique - If true, the uniqueness of the application will depend on the value of the "MultipleInstances" key in the "KDE" group of the application config file.

KUniqueApplication

public KUniqueApplication(boolean allowStyles,
                          boolean GUIenabled)

KUniqueApplication

public KUniqueApplication(boolean allowStyles)

KUniqueApplication

public KUniqueApplication()
Method Detail

metaObject

public org.kde.qt.QMetaObject metaObject()
Overrides:
metaObject in class KApplication

className

public java.lang.String className()
Overrides:
className in class KApplication

process

public boolean process(java.lang.String fun,
                       byte[] data,
                       java.lang.StringBuffer replyType,
                       byte[] replyData)
Dispatches any incoming DCOP message for a new instance. If it is not a request for a new instance, return false. Overloaded from DCOPObject to make sure that the application stays unique.

Specified by:
process in interface DCOPObjectInterface
Parameters:
fun - DCOP function signature
data - the data for the arguments
replyType - the type of the reply value
replyData - the reply
See Also:
DCOPObject

newInstance

public int newInstance()
Creates a new "instance" of the application. Usually this will involve making some calls into the GUI portion of your application asking for a new window to be created, possibly with some data already loaded based on the arguments received. Command line arguments have been passed to KCmdLineArgs before this function is called and can be checked in the usual way. The default implementation ensures the mainwindow of the already running instance is shown and activated if necessary. You should prefer using it from your overridden method instead of doing it directly. Note that newInstance() is called also in the first started application process.

Returns:
An exit value. The calling process will exit with this value.

restoringSession

public boolean restoringSession()
Returns whether newInstance() is being called while session restoration is in progress.


addCmdLineOptions

public static void addCmdLineOptions()
Adds command line options specific for KUniqueApplication. Should be called before calling KUniqueApplication constructor and / or start().


start

public static boolean start()
Forks and registers with dcop. The command line arguments are being sent via DCOP to newInstance() and will be received once the application enters the event loop. Typically this is used like:
                 int main(String[] args) {
                    KAboutData about("myappname", "myAppName", .....);
                    KCmdLineArgs.init(args, &about);
                    KCmdLineArgs.addCmdLineOptions( myCmdOptions );
                    KUniqueApplication.addCmdLineOptions();
                            if (!KUniqueApplication.start()) {
                       fprintf(stderr, "myAppName is already running!\n");
                       exit(0);
                    }
                    KUniqueApplication a;
                    a.exec();
                 }
                 
Note that it's not necessary to call start() explicitly. It will be called automatically before creating KUniqueApplication if it hasn't been called yet, without any performance impact.

Returns:
true if registration is successful. false if another process was already running.

setHandleAutoStarted

public static void setHandleAutoStarted()

finalize

protected void finalize()
                 throws java.lang.InternalError
Deletes the wrapped C++ instance

Overrides:
finalize in class KApplication
Throws:
java.lang.InternalError

dispose

public void dispose()
Delete the wrapped C++ instance ahead of finalize()

Overrides:
dispose in class KApplication

isDisposed

public boolean isDisposed()
Has the wrapped C++ instance been deleted?

Overrides:
isDisposed in class KApplication

objId

public java.lang.String objId()
Returns the object id of the DCOPObject.

Specified by:
objId in interface DCOPObjectInterface
Returns:
the object's id

setObjId

public boolean setObjId(java.lang.String objId)
Renames a dcop object, if no other with the same name exists Use with care, all dcop signals are disconnected

Specified by:
setObjId in interface DCOPObjectInterface
Parameters:
objId - the new object id

processDynamic

public boolean processDynamic(java.lang.String fun,
                              byte[] data,
                              java.lang.StringBuffer replyType,
                              byte[] replyData)
This function is of interest when you used an IDL compiler to generate the implementation for process() but you still want to dispatch some functions dynamically. Dynamically means that methods may appear and vanish during runtime.

Specified by:
processDynamic in interface DCOPObjectInterface
Parameters:
fun - is the normalized function signature. Such a signature usually looks like foobar(String,int). The return type, qualifiers like "const" etc. are not part of the signature.
data - the received data
replyType - write the reply type in this string
replyData - write the reply data in this array
Returns:
true if successful, false otherwise. The default implementation returns always false.
See Also:
process(java.lang.String, byte[], java.lang.StringBuffer, byte[]), DCOPClient.normalizeFunctionSignature(java.lang.String), functions(), DCOPClient.process(java.lang.String, byte[], java.lang.StringBuffer, byte[])

functionsDynamic

public java.util.ArrayList functionsDynamic()
This function is of interest when you used an IDL compiler to generate the implementation for functions() but you still want to list some functions dynamically. Dynamically means that the methods may appear and vanish during runtime.

Specified by:
functionsDynamic in interface DCOPObjectInterface
Returns:
A list of the additional functions, default is an empty list.
See Also:
functions()

interfacesDynamic

public java.util.ArrayList interfacesDynamic()
This function is of interest when you used an IDL compiler to generate the implementation for interfaces() but you still want to list some interfaces dynamically. Dynamically means that they may appear and vanish during runtime.

Specified by:
interfacesDynamic in interface DCOPObjectInterface
Returns:
A list of the additional interfaces, default is an empty list.
See Also:
interfaces()

interfaces

public java.util.ArrayList interfaces()
Returns the names of the interfaces, specific ones last. The functions gets reimplemented by the IDL compiler. If you don't use the IDL compiler, consider implementing this function manually if you want your object to be easily explorable.

Specified by:
interfaces in interface DCOPObjectInterface
Returns:
a list of interfaces
See Also:
functions()

functions

public java.util.ArrayList functions()
Returns the list of functions understood by the object. It gets reimplemented by the IDL compiler. If you don't use the IDL compiler, consider implementing this function manually if you want your object to be easily scriptable. Rationale: functions() allows an interpreter to do client-side type-casting properly. Note to implementators: remember to call the baseclasses implementation.

Specified by:
functions in interface DCOPObjectInterface
Returns:
a list of functions
See Also:
interfaces(), process(java.lang.String, byte[], java.lang.StringBuffer, byte[]), processDynamic(java.lang.String, byte[], java.lang.StringBuffer, byte[]), DCOPClient.normalizeFunctionSignature(java.lang.String)

emitDCOPSignal

public void emitDCOPSignal(java.lang.String signal,
                           byte[] data)
Emit signal as DCOP signal from this object with data as arguments

Specified by:
emitDCOPSignal in interface DCOPObjectInterface
Parameters:
signal - the signal to emit
data - the data to send

connectDCOPSignal

public boolean connectDCOPSignal(java.lang.String sender,
                                 java.lang.String senderObj,
                                 java.lang.String signal,
                                 java.lang.String slot,
                                 boolean Volatile)
Connects to a DCOP signal.

Specified by:
connectDCOPSignal in interface DCOPObjectInterface
Parameters:
sender - the name of the client that emits the signal. When empty the signal will be passed from any client.
senderObj - the name of the sending object that emits the signal.
signal - the name of the signal. The arguments should match with slot.
slot - The name of the slot to call. Its arguments should match with signal.
Volatile - If true, the connection will not be reestablished when sender unregisters and reregisters with DCOP. In this case the sender must be registered when the connection is made. If false, the connection will be reestablished when sender reregisters. In this case the connection can be made even if sender is not registered at that time.
  • Volatile is true and sender does not exist.
  • signal and slot do not have matching arguments.
  • @return false if a connection could not be established. This will be the case when

    disconnectDCOPSignal

    public boolean disconnectDCOPSignal(java.lang.String sender,
                                        java.lang.String senderObj,
                                        java.lang.String signal,
                                        java.lang.String slot)
    Disconnects a DCOP signal. A special case is when both sender & signal are empty. In this case all connections related to this object in the current client are disconnected. (Both connections from as well as to this object!)

    Specified by:
    disconnectDCOPSignal in interface DCOPObjectInterface
    Parameters:
    sender - the name of the client that emits the signal.
    senderObj - the name of the object that emits the signal. If empty all objects will be disconnected.
    signal - the name of the signal. The arguments should match with slot. If empty all objects will be disconnected.
    slot - The name of the slot the signal is connected to. If empty all slots will be disconnected.
    Returns:
    false if no connection(s) where removed.

    callingDcopClient

    public DCOPClient callingDcopClient()
    Returns the DCOPClient responsible for making the call. Only call this function while you are handling a DCOP call.

    Specified by:
    callingDcopClient in interface DCOPObjectInterface
    Returns:
    the DCOPClient responsible for making the call. This information is only guaranteed to be correct when entering your DCOP function.

    setCallingDcopClient

    public void setCallingDcopClient(DCOPClient arg1)
    Specified by:
    setCallingDcopClient in interface DCOPObjectInterface

    hasObject

    public static boolean hasObject(java.lang.String objId)
    Checks whether an object with the given id is known in this process. DCOPObjectProxy

    Returns:
    true if an object with the questionable objId is known in this process. This query does not ask proxies.

    find

    public static DCOPObjectInterface find(java.lang.String objId)
    Try to find a dcop object with the given id. This function does not query the DCOPObjectProxy.

    Parameters:
    objId - the object id to search
    Returns:
    the DCOPObject for the id objId.

    objectName

    public static java.lang.String objectName(org.kde.qt.QObject arg1)
    Creates an object id for the QObject obj. This is done using the QObject.name() function.

    Parameters:
    obj - the object whose name will be used
    Returns:
    the created object id