class DCOPObject

# class DCOPObject |
Definition | `#include <dcopobject.h>`
Annotated List
Files
Globals
Hierarchy
Index
Main

#### Public Methods

- DCOPObject ()
- DCOPObject (QObject *obj)
- DCOPObject (const QCString &objId)
- virtual ~ DCOPObject ()
- QCString objId () const
- 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 interfaces ()
- virtual QCStringList functions ()

#### Public Static Methods

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

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

DCOPObject ()

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

DCOPObject (QObject *obj)

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

DCOPObject (const QCString &objId)

Creates a DCOPObject with object Id `objId.`

~ DCOPObject ()

[virtual]

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

QCString objId ()

[const]

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

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

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.

See also: DCOPClient::normalizeFunctionSignature(), functions()

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

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

Returns: `false` by default.

See also: process(), DCOPClient::normalizeFunctionSignature(), functions()

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

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

See also: process(), processDynamic(), DCOPClient::normalizeFunctionSignature()

bool hasObject (const QCString &objId)

[static]

DCOPObjectProxy

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

DCOPObject * find (const QCString &objId)

[static]

This function does not query the DCOPObjectProxy.

Returns: the DCOPObject for the id `objId.`

QList<DCOPObject> match (const QCString &partialId)

[static]

This function is used for multicasting a DCOP message to several objects inside a single process.

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

QCString objectName ( QObject* obj )

[static]

Creates an object id for the QObject `obj.` This is done using the QObject::name() function.