|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.kde.qt.Qt
org.kde.qt.QObject
org.kde.koala.DCOPClient
public class DCOPClient
Inter-process communication and remote procedure calls for KDE applications. This class provides IPC and RPC for KDE applications. Usually you will not have to instantiate one yourself because KApplication contains a method to return a pointer to a DCOPClient object which can be used for your whole application. Before being able to send or receive any DCOP messages, you will have to attach your client object to the DCOP server, and then register your application with a specific name. See attach() and registerAs() for more information. Data to be sent should be serialized into a QDataStream which was initialized with the byte[] that you actually intend to send the data in. An example of how you might do this:
byte[] data; QDataStream arg(data, IO_WriteOnly); arg << String("This is text I am serializing"); client.send("someApp", "someObject", "someFunction(String)", data);See
DCOPClientSignals
for signals emitted by DCOPClient
KApplication.dcopClient()
Field Summary |
---|
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 | |
---|---|
|
DCOPClient()
Constructs a new DCOP client, but does not attach to any server. |
protected |
DCOPClient(java.lang.Class dummy)
|
Method Summary | |
---|---|
boolean |
acceptCalls()
Returns whether the client handles incoming calls. |
java.lang.String |
appId()
Returns the current app id or a null string if the application hasn't yet been registered. |
boolean |
attach()
Attaches to the DCOP server. |
void |
bindToApp()
Internal function for KUniqueApplication to register the DCOPClient with the application in case the application didn't exist at the time the DCOPClient was created. |
boolean |
call(java.lang.String remApp,
java.lang.String remObj,
java.lang.String remFun,
byte[] data,
java.lang.StringBuffer replyType,
byte[] replyData,
boolean useEventLoop,
int timeout)
Performs a synchronous send and receive. |
int |
callAsync(java.lang.String remApp,
java.lang.String remObj,
java.lang.String remFun,
byte[] data,
org.kde.qt.QObject callBackObj,
java.lang.String callBackSlot)
Performs a asynchronous send with receive callback. |
java.lang.String |
className()
|
boolean |
connectDCOPSignal(java.lang.String sender,
java.lang.String senderObj,
java.lang.String signal,
java.lang.String receiverObj,
java.lang.String slot,
boolean Volatile)
Connects to a DCOP signal. |
static java.lang.String |
dcopServerFile()
|
static java.lang.String |
dcopServerFile(java.lang.String hostname)
File with information how to reach the dcopserver. |
java.lang.String |
defaultObject()
Returns the current default object or an empty string if no object is installed as default object. |
boolean |
detach()
Detaches from the DCOP server. |
boolean |
disconnectDCOPSignal(java.lang.String sender,
java.lang.String senderObj,
java.lang.String signal,
java.lang.String receiverObj,
java.lang.String slot)
Disconnects a DCOP signal. |
void |
dispose()
Delete the wrapped C++ instance ahead of finalize() |
static void |
emergencyClose()
|
void |
emitDCOPSignal(java.lang.String signal,
byte[] data)
|
void |
emitDCOPSignal(java.lang.String object,
java.lang.String signal,
byte[] data)
Emits signal as DCOP signal from object object with data as
arguments. |
protected void |
finalize()
Deletes the wrapped C++ instance |
boolean |
find(java.lang.String app,
java.lang.String arg2,
java.lang.String fun,
byte[] data,
java.lang.StringBuffer replyType,
byte[] replyData)
Receives a DCOPFind message from the server. |
static DCOPClient |
findLocalClient(java.lang.String _appId)
Look for the given client only in this process. |
boolean |
findObject(java.lang.String remApp,
java.lang.String remObj,
java.lang.String remFun,
byte[] data,
java.lang.StringBuffer foundApp,
java.lang.StringBuffer foundObj,
boolean useEventLoop,
int timeout)
Searches for an object which matches a criteria. |
static java.lang.String |
iceauthPath()
Return the path of iceauth or an empty string if not found. |
boolean |
isApplicationRegistered(java.lang.String remApp)
Checks whether remApp is registered with the DCOP server. |
boolean |
isAttached()
Returns whether or not the client is attached to the server. |
boolean |
isAttachedToForeignServer()
Returns whether the client is attached to a server owned by another user. |
boolean |
isDisposed()
Has the wrapped C++ instance been deleted? |
boolean |
isRegistered()
Returns whether or not the client is registered at the server. |
boolean |
isSuspended()
Returns whether DCOP events are being processed. |
static DCOPClient |
mainClient()
Returns the application's main dcop client. |
org.kde.qt.QMetaObject |
metaObject()
|
static java.lang.String |
normalizeFunctionSignature(java.lang.String fun)
Normalizes the function signature fun.
A normalized signature doesn't contain any unnecessary whitespace
anymore. |
static java.lang.String |
postMortemFunction()
|
static java.lang.String |
postMortemObject()
|
static java.lang.String |
postMortemSender()
Provides information about the last DCOP call for debugging purposes. |
boolean |
process(java.lang.String fun,
byte[] data,
java.lang.StringBuffer replyType,
byte[] replyData)
Reimplement this function to handle app-wide function calls unassociated w/an object. |
protected void |
processSocketData(int socknum)
Process data from the socket. |
boolean |
qtBridgeEnabled()
Returns whether the DCOP - Qt bridge is enabled. |
boolean |
receive(java.lang.String app,
java.lang.String arg2,
java.lang.String fun,
byte[] data,
java.lang.StringBuffer replyType,
byte[] replyData)
Receives a DCOPSend or DCOPCall message from the server. |
java.lang.String |
registerAs(java.lang.String appId)
|
java.lang.String |
registerAs(java.lang.String appId,
boolean addPID)
Registers at the DCOP server. |
java.util.ArrayList |
registeredApplications()
Retrieves the list of all currently registered applications from dcopserver. |
java.util.ArrayList |
remoteFunctions(java.lang.String remApp,
java.lang.String remObj)
|
java.util.ArrayList |
remoteFunctions(java.lang.String remApp,
java.lang.String remObj,
boolean[] ok)
Retrieves the list of functions of the remote object remObj
of application remApp |
java.util.ArrayList |
remoteInterfaces(java.lang.String remApp,
java.lang.String remObj)
|
java.util.ArrayList |
remoteInterfaces(java.lang.String remApp,
java.lang.String remObj,
boolean[] ok)
Retrieves the list of interfaces of the remote object remObj
of application remApp. |
java.util.ArrayList |
remoteObjects(java.lang.String remApp)
|
java.util.ArrayList |
remoteObjects(java.lang.String remApp,
boolean[] ok)
Retrieves the list of objects of the remote application remApp. |
void |
resume()
Resumes the processing of DCOP events. |
boolean |
send(java.lang.String remApp,
java.lang.String remObj,
java.lang.String remFun,
byte[] data)
Sends a data block to the server. |
boolean |
send(java.lang.String remApp,
java.lang.String remObj,
java.lang.String remFun,
java.lang.String data)
This function acts exactly the same as the above, but the data parameter can be specified as a String for convenience. |
java.lang.String |
senderId()
Returns the appId of the last application that talked to us. |
void |
setAcceptCalls(boolean b)
Specify whether the client should accept incoming calls. |
void |
setDaemonMode(boolean daemonMode)
Tells the dcopserver to treat the client as daemon client, not as regular client. |
void |
setDefaultObject(java.lang.String objId)
Installs object objId as application-wide default object. |
static void |
setMainClient(DCOPClient mainClient)
Sets the application's main dcop client. |
void |
setNotifications(boolean enabled)
Enables / disables the applicationRegistered() / applicationRemoved() signals. |
void |
setPriorityCall(boolean arg1)
Switch to priority call mode. |
void |
setQtBridgeEnabled(boolean b)
Specify whether Qt objects of the application should be accessible via DCOP. |
static void |
setServerAddress(java.lang.String addr)
Sets the address of a server to use upon attaching. |
int |
socket()
Returns the socket fd that is used for communication with the server. |
void |
suspend()
Temporarily suspends processing of DCOP events. |
int |
transactionId()
Test whether the current function call is delayed. |
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, event, 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, tr, tr |
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 |
---|
protected DCOPClient(java.lang.Class dummy)
public DCOPClient()
Method Detail |
---|
public org.kde.qt.QMetaObject metaObject()
metaObject
in class org.kde.qt.QObject
public java.lang.String className()
className
in class org.kde.qt.QObject
public boolean attach()
public void bindToApp()
public boolean detach()
public boolean isAttached()
public boolean isAttachedToForeignServer()
public boolean acceptCalls()
public void setAcceptCalls(boolean b)
b
- true to accept calls, false to reject thempublic boolean qtBridgeEnabled()
public void setQtBridgeEnabled(boolean b)
b
- true to make Qt objects accessible over DCOPpublic java.lang.String registerAs(java.lang.String appId, boolean addPID)
appId
is a unique
application/program id that the server
will use to associate requests with. If there is already an application
registered with the same name, the server will add a number to the
id to unify it. If addPID
is true, the PID of the current process
will be added to id.
Registration is necessary if you want to allow other clients to talk
to you. They can do so using your appId
as first parameter
for send() or call(). If you just want to talk to
other clients, you
do not need to register at the server. In that case attach() is
enough.
It will implicitly register you as "anonymous".
appId
- the id of the applicationaddPID
- true to add the process id
appId
used for the registration or a null string
if the registration wasn't successful.public java.lang.String registerAs(java.lang.String appId)
public boolean isRegistered()
public java.lang.String appId()
public int socket()
public void suspend()
resume()
,
isSuspended()
public void resume()
#suspend#
,
isSuspended()
public boolean isSuspended()
suspend()
,
#resume#
public boolean send(java.lang.String remApp, java.lang.String remObj, java.lang.String remFun, byte[] data)
remApp
- The remote application id.remObj
- The name of the remote object.remFun
- The remote function in the specified object to call.data
- The data to provide to the remote function.
public boolean send(java.lang.String remApp, java.lang.String remObj, java.lang.String remFun, java.lang.String data)
remApp
- The remote application id.remObj
- The name of the remote object.remFun
- The remote function in the specified object to call.data
- The data to provide to the remote function.
public boolean call(java.lang.String remApp, java.lang.String remObj, java.lang.String remFun, byte[] data, java.lang.StringBuffer replyType, byte[] replyData, boolean useEventLoop, int timeout)
useEventLoop
is true, a local event loop will be started after
1/10th of a second in order to keep the user interface updated
(by processing paint events and such) until an answer is received.
remApp
- the remote application's idremObj
- the remote object idremFun
- the remote function iddata
- the data to sendreplyType
- the type of the reply will be written herereplyData
- the data of the reply will be written hereuseEventLoop
- if true the event loop will be started when
the call blocks too longtimeout
- timeout for the call in miliseconds, or -1 for no timeout
send(java.lang.String, java.lang.String, java.lang.String, byte[])
public int callAsync(java.lang.String remApp, java.lang.String remObj, java.lang.String remFun, byte[] data, org.kde.qt.QObject callBackObj, java.lang.String callBackSlot)
callBackObj
and callBackSlot
specify a call back
slot that is called when an answer is received.
The slot should have the following signature:
callBackSlot(int callId, String replyType,
const byte[] &replyData);
remApp
- the remote application's idremObj
- the remote object idremFun
- the remote function iddata
- the data to sendcallBackObj
- object to call backcallBackSlot
- slot to call back
send(java.lang.String, java.lang.String, java.lang.String, byte[])
,
#callback
public boolean findObject(java.lang.String remApp, java.lang.String remObj, java.lang.String remFun, byte[] data, java.lang.StringBuffer foundApp, java.lang.StringBuffer foundObj, boolean useEventLoop, int timeout)
remFun
in the applications and objects identified
by remApp
and remObj
until remFun
returns true. The name of
the application and object that returned true are returned in
foundApp
and foundObj
respectively.
If remFun
is empty a default function is called in the object
which always returns true.
A findObject blocks the application until the process receives the
answer.
If useEventLoop
is true, a local event loop will be started after
1/10th of a second in order to keep the user interface updated
(by processing paint events and such) until an answer is received.
remApp
- The remote application id.remObj
- The name of the remote object.remFun
- The remote function in the specified object to call.
This function should return a boolean and is used as
criteria.data
- The data to provide to the remote function.foundApp
- The remote application id that matched the criteria.foundObj
- The remote object that matched the criteria.useEventLoop
- if true the event loop will be started when
the call blocks too longtimeout
- timeout for the call in miliseconds, or -1 for no timeout
remFun
returned true. If no such object is the function returns false.send(java.lang.String, java.lang.String, java.lang.String, byte[])
public void emitDCOPSignal(java.lang.String object, java.lang.String signal, byte[] data)
signal
as DCOP signal from object object
with data
as
arguments.
public void emitDCOPSignal(java.lang.String signal, byte[] data)
public boolean connectDCOPSignal(java.lang.String sender, java.lang.String senderObj, java.lang.String signal, java.lang.String receiverObj, java.lang.String slot, boolean Volatile)
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.receiverObj
- The name of the object to callslot
- 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.
public boolean disconnectDCOPSignal(java.lang.String sender, java.lang.String senderObj, java.lang.String signal, java.lang.String receiverObj, java.lang.String slot)
sender
& signal
are empty. In this
case all connections related to receiverObj
in the current client
are disconnected. (Both connections from as well as to this object!)
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.receiverObj
- The name of the object the signal is connected to.
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.
public boolean process(java.lang.String fun, byte[] data, java.lang.StringBuffer replyType, byte[] replyData)
fun
is normalized. See normalizeFunctionSignature().
If you do not want to reimplement this function for whatever reason,
you can also use a default object or a DCOPObjectProxy.
fun
- the normalized function signaturedata
- the received datareplyType
- write the reply type in this stringreplyData
- write the reply data in this array
setDefaultObject(java.lang.String)
public int transactionId()
process(java.lang.String, byte[], java.lang.StringBuffer, byte[])
,
#beginTransaction
public boolean isApplicationRegistered(java.lang.String remApp)
remApp
is registered with the DCOP server.
remApp
- the id of the remote application
false.
public java.util.ArrayList registeredApplications()
public java.util.ArrayList remoteObjects(java.lang.String remApp, boolean[] ok)
remApp.
remApp
- he id of the applicationok
- if not null, the function sets ok
to true if successful
and false if an error occurred
public java.util.ArrayList remoteObjects(java.lang.String remApp)
public java.util.ArrayList remoteInterfaces(java.lang.String remApp, java.lang.String remObj, boolean[] ok)
remObj
of application remApp.
remApp
- the id of the applicationremObj
- the id of the objectok
- if not null, the function sets ok
to true if successful
and false if an error occurred
public java.util.ArrayList remoteInterfaces(java.lang.String remApp, java.lang.String remObj)
public java.util.ArrayList remoteFunctions(java.lang.String remApp, java.lang.String remObj, boolean[] ok)
remObj
of application remApp
remApp
- the id of the applicationremObj
- the id of the objectok
- if not null, the function sets ok
to true if successful
and false if an error occurred
public java.util.ArrayList remoteFunctions(java.lang.String remApp, java.lang.String remObj)
public boolean receive(java.lang.String app, java.lang.String arg2, java.lang.String fun, byte[] data, java.lang.StringBuffer replyType, byte[] replyData)
app
- The application the message was intended for. Should be
equal to our appId that we passed when the DCOPClient was
created.obj
- The name of the object to pass the data on to.fun
- The name of the function in the object to call.data
- The arguments for the function.replyType
- write the reply type in this stringreplyData
- write the reply data in this array
public boolean find(java.lang.String app, java.lang.String arg2, java.lang.String fun, byte[] data, java.lang.StringBuffer replyType, byte[] replyData)
DCOPFind
message from the server.
app
- The application the message was intended for. Should be
equal to our appId that we passed when the DCOPClient was
created.obj
- The name of the object to pass the data on to.fun
- The name of the function in the object to call.data
- The arguments for the function.replyType
- write the reply type in this stringreplyData
- write the reply data in this arraypublic java.lang.String senderId()
public void setDefaultObject(java.lang.String objId)
objId
as application-wide default object.
All app-wide messages that have not been processed by the dcopclient
will be send further to objId.
objId
- the id of the new default objectpublic java.lang.String defaultObject()
public void setNotifications(boolean enabled)
enabled
set to
true, notifications will be enabled until it was called with
enabled
set to false as often.
They are disabled by default.
enabled
- true to enable notifications, false to disablepublic void setDaemonMode(boolean daemonMode)
daemonMode
- true to enable daemon mode, false to disablepublic void setPriorityCall(boolean arg1)
public static void setServerAddress(java.lang.String addr)
addr
- the new address of the serverpublic static java.lang.String normalizeFunctionSignature(java.lang.String fun)
fun.
A normalized signature doesn't contain any unnecessary whitespace
anymore. The remaining whitespace consists of single blanks only (0x20).
Example for a normalized signature:
"someFunction(String,int)"When using send() or call(), normalization is done automatically for you.
fun
- the function signature to normalize
public static DCOPClient mainClient()
public static void setMainClient(DCOPClient mainClient)
mainClient
- the new main dcop clientpublic static DCOPClient findLocalClient(java.lang.String _appId)
public static void emergencyClose()
public static java.lang.String postMortemSender()
public static java.lang.String postMortemObject()
public static java.lang.String postMortemFunction()
public static java.lang.String dcopServerFile(java.lang.String hostname)
hostname
- Hostname to use, if empty current hostname of
the system is used.
public static java.lang.String dcopServerFile()
public static java.lang.String iceauthPath()
protected void processSocketData(int socknum)
socknum
- the fd of the socketprotected void finalize() throws java.lang.InternalError
finalize
in class org.kde.qt.QObject
java.lang.InternalError
public void dispose()
dispose
in class org.kde.qt.QObject
public boolean isDisposed()
isDisposed
in class org.kde.qt.QObject
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |