class DCOPObject

# class DCOPObject | Provides an interface for receiving DCOP messages. More...
Definition | `#include <dcopobject.h>`
Inherited by | MyDCOPObject
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- DCOPObject ()
- DCOPObject (QObject *obj)
- DCOPObject (const QCString &objId)
- virtual ~DCOPObject ()
- QCString objId () const
- bool setObjId (const QCString &objId)
- virtual bool process (const QCString &fun, const QByteArray &data, QCString& replyType, QByteArray &replyData)
- virtual bool processDynamic (const QCString &fun, const QByteArray &data, QCString& replyType, QByteArray &replyData)
- virtual QCStringList functionsDynamic ()
- virtual QCStringList interfacesDynamic ()
- virtual QCStringList interfaces ()
- virtual QCStringList functions ()
- void emitDCOPSignal ( const QCString &signal, const QByteArray &data)
- bool connectDCOPSignal ( const QCString &sender, const QCString &senderObj, const QCString &signal, const QCString &slot, bool Volatile)
- bool disconnectDCOPSignal ( const QCString &sender, const QCString &senderObj, const QCString &signal, const QCString &slot)
- DCOPClient * callingDcopClient ()
- void setCallingDcopClient (DCOPClient *)

#### Public Static Methods

- static bool hasObject (const QCString &objId)
- static DCOPObject * find (const QCString &objId)
- static QPtrList<DCOPObject> match (const QCString &partialId)
- static QCString objectName ( QObject* obj )

#### Protected Methods

- virtual void virtual_hook ( int id, void* data )

## Detailed Description

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.

See also: DCOPClient, DCOPObjectProxy

DCOPObject () | ### DCOPObject

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

DCOPObject (QObject *obj) | ### DCOPObject

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

Parameters:

obj | the object to extract the name from

DCOPObject (const QCString &objId) | ### DCOPObject

Creates a DCOPObject with object Id `objId`.

Parameters:

objId | the object id of the DCOP object

~DCOPObject () | ### ~DCOPObject

[virtual]

Destroys the DCOPObject and removes it from the map of known objects.

QCString objId () | ### objId

[const]

Returns the object id of the DCOPObject.

Returns: the object's id

bool setObjId (const QCString &objId) | ### setObjId

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

bool process (const QCString &fun, const QByteArray &data, QCString& replyType, QByteArray &replyData) | ### process

[virtual]

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(QString,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::normalizeFunctionSignature(), functions(), DCOPClient::process()

bool processDynamic (const QCString &fun, const QByteArray &data, QCString& replyType, QByteArray &replyData) | ### processDynamic

[virtual]

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(QString,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(), DCOPClient::normalizeFunctionSignature(), functions(), DCOPClient::process()

QCStringList functionsDynamic () | ### functionsDynamic

[virtual]

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: functions()

QCStringList interfacesDynamic () | ### interfacesDynamic

[virtual]

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 aditional interfaces, default is an empty list.

See also: interfaces()

QCStringList interfaces () | ### interfaces

[virtual]

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: functions()

QCStringList functions () | ### functions

[virtual]

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: interfaces(), process(), processDynamic(), DCOPClient::normalizeFunctionSignature()

void emitDCOPSignal ( const QCString &signal, const QByteArray &data) | ### emitDCOPSignal

Emit `signal` as DCOP signal from this object with `data` as arguments

Parameters:

signal | the signal to emit
data | the data to send

bool connectDCOPSignal ( const QCString &sender, const QCString &senderObj, const QCString &signal, const QCString &slot, bool Volatile) | ### connectDCOPSignal

Connects to a DCOP signal.

- `Volatile` is true and `sender` does not exist.
- `signal` and `slot` do not have matching arguments.

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.

Returns: false if a connection could not be established. This will be the case when

bool disconnectDCOPSignal ( const QCString &sender, const QCString &senderObj, const QCString &signal, const QCString &slot) | ### disconnectDCOPSignal

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.

DCOPClient * callingDcopClient () | ### 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.

void setCallingDcopClient (DCOPClient *) | ### setCallingDcopClient

bool hasObject (const QCString &objId) | ### hasObject

[static]

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.

DCOPObject * find (const QCString &objId) | ### find

[static]

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

QPtrList<DCOPObject> match (const QCString &partialId) | ### match

[static]

Tries to find an object using a partial object id. This function is used for multicasting a DCOP message to several objects inside a single process.

Parameters:

partialId | the partial object id to search for

Returns: a list of DCOPObjects beginning with the string contained in `partialId`.

QCString objectName ( QObject* obj ) | ### objectName

[static]

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

void virtual_hook ( int id, void* data ) | ### virtual_hook

[protected virtual]

The object id of this DCOPObject.

- Author: Preston Brown , Matthias Ettrich
- Generated: root on macppc.ports.openbsd.org on Sat Sep 6 10:36:00 2003, using kdoc 2.0a54.