org.kde.koala

Class DCOPObject

public class DCOPObject extends Object implements QtSupport, DCOPObjectInterface

Provides an interface for receiving DCOP messages. This class provides an interface for receiving DCOP messages. To use it, simply multiply-inherit from DCOPObject and from some other class, and then implement the DCOPObject.process() method. Because this method is pure virtual, you must implement the method. Note that it is usually more convenient to mark a section in the class with "k_dcop:", add your DCOP methods there and let the IDL compiler do the rest. Read the tutorials for more information.

Author: Preston Brown , Matthias Ettrich

See Also: DCOPClient DCOPObjectProxy

UNKNOWN: Provides an interface for receiving DCOP messages.

Constructor Summary
protected DCOPObject(Class dummy)
DCOPObject()
Creates a DCOPObject and calculates the object id using its physical memory address.
DCOPObject(QObject arg1)
Creates a DCOPObject and calculates the object id using QObject.name().
DCOPObject(String objId)
Creates a DCOPObject with object Id objId.
Method Summary
DCOPClientcallingDcopClient()
Returns the DCOPClient responsible for making the call.
booleanconnectDCOPSignal(String sender, String senderObj, String signal, String slot, boolean Volatile)
Connects to a DCOP signal.
booleandisconnectDCOPSignal(String sender, String senderObj, String signal, String slot)
Disconnects a DCOP signal.
voiddispose()
Delete the wrapped C++ instance ahead of finalize()
voidemitDCOPSignal(String signal, byte[] data)
Emit signal as DCOP signal from this object with data as arguments
protected voidfinalize()
Deletes the wrapped C++ instance
static DCOPObjectInterfacefind(String objId)
Try to find a dcop object with the given id.
ArrayListfunctions()
Returns the list of functions understood by the object.
ArrayListfunctionsDynamic()
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 booleanhasObject(String objId)
Checks whether an object with the given id is known in this process.
ArrayListinterfaces()
Returns the names of the interfaces, specific ones last.
ArrayListinterfacesDynamic()
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.
booleanisDisposed()
Has the wrapped C++ instance been deleted?
static StringobjectName(QObject arg1)
Creates an object id for the QObject obj. This is done using the QObject.name() function.
StringobjId()
Returns the object id of the DCOPObject.
booleanprocess(String fun, byte[] data, StringBuffer replyType, byte[] replyData)
Dispatches a message.
booleanprocessDynamic(String fun, byte[] data, 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.
voidsetCallingDcopClient(DCOPClient arg1)
booleansetObjId(String objId)
Renames a dcop object, if no other with the same name exists Use with care, all dcop signals are disconnected

Constructor Detail

DCOPObject

protected DCOPObject(Class dummy)

DCOPObject

public DCOPObject()
Creates a DCOPObject and calculates the object id using its physical memory address.

UNKNOWN: Creates a DCOPObject and calculates the object id using its physical memory address.

DCOPObject

public DCOPObject(QObject arg1)
Creates a DCOPObject and calculates the object id using QObject.name().

Parameters: obj the object to extract the name from

UNKNOWN: Creates a DCOPObject and calculates the object id using QObject.name().

DCOPObject

public DCOPObject(String objId)
Creates a DCOPObject with object Id objId.

Parameters: objId the object id of the DCOP object

UNKNOWN: Creates a DCOPObject with object Id objId.

Method Detail

callingDcopClient

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

Returns: the DCOPClient responsible for making the call. This information is only guaranteed to be correct when entering your DCOP function.

UNKNOWN: Returns the DCOPClient responsible for making the call.

connectDCOPSignal

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

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

    UNKNOWN: Connects to a DCOP signal.

    disconnectDCOPSignal

    public boolean disconnectDCOPSignal(String sender, String senderObj, String signal, 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!)

    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.

    UNKNOWN: Disconnects a DCOP signal.

    dispose

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

    emitDCOPSignal

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

    Parameters: signal the signal to emit data the data to send

    UNKNOWN: Emit signal as DCOP signal from this object with data as arguments

    finalize

    protected void finalize()
    Deletes the wrapped C++ instance

    find

    public static DCOPObjectInterface find(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.

    UNKNOWN: Try to find a dcop object with the given id.

    functions

    public 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.

    Returns: a list of functions

    See Also: DCOPObject DCOPObject DCOPObject DCOPClient

    UNKNOWN: Returns the list of functions understood by the object.

    functionsDynamic

    public 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.

    Returns: A list of the additional functions, default is an empty list.

    See Also: DCOPObject

    UNKNOWN: 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.

    hasObject

    public static boolean hasObject(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.

    UNKNOWN: Checks whether an object with the given id is known in this process.

    interfaces

    public 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.

    Returns: a list of interfaces

    See Also: DCOPObject

    UNKNOWN: Returns the names of the interfaces, specific ones last.

    interfacesDynamic

    public 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.

    Returns: A list of the additional interfaces, default is an empty list.

    See Also: DCOPObject

    UNKNOWN: 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.

    isDisposed

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

    objectName

    public static String objectName(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

    UNKNOWN: Creates an object id for the QObject obj.

    objId

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

    Returns: the object's id

    UNKNOWN: Returns the object id of the DCOPObject.

    process

    public boolean process(String fun, byte[] data, StringBuffer replyType, byte[] replyData)
    Dispatches a message. Usually you want to use an IDL compiler to automatically generate an implementation for this function. If this function returns false, then processDynamic() is called. Note to implementators: remember to call the baseclasses implementation. It handles the functions "functions()" and "interfaces()" which return the lists of supported functions and interfaces, respectively.

    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 false for all fun except "functions()" and "interfaces()".

    See Also: DCOPClient DCOPObject DCOPClient

    UNKNOWN: Dispatches a message.

    processDynamic

    public boolean processDynamic(String fun, byte[] data, 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.

    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: DCOPObject DCOPClient DCOPObject DCOPClient

    UNKNOWN: 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.

    setCallingDcopClient

    public void setCallingDcopClient(DCOPClient arg1)

    UNKNOWN:

    setObjId

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

    Parameters: objId the new object id

    UNKNOWN: Renames a dcop object, if no other with the same name exists Use with care, all dcop signals are disconnected