Desktop_communication_protocol

Desktop communication protocol

Desktop communication protocol

Add article description


Desktop Communication Protocol (DCOP) was an inter-process communication (IPC) daemon by KDE used in K Desktop Environment 3. The design goal for the protocol was to allow applications to interoperate, and share complex tasks. Essentially, DCOP was a ‘remote control’ system, which allowed applications or scripts to enlist the help of other applications. DCOP is built on top of the X11 Inter-Client Exchange protocol.

Quick Facts Original author(s), Developer(s) ...

DCOP continues to be used by the K Desktop Environment 3-fork Trinity Desktop Environment. DCOP was replaced by D-Bus, a message bus system heavily influenced by the DCOP and standardized by freedesktop.org, in KDE Software Compilation 4 and later.

DCOP model

DCOP implements the client–server model, where each application using DCOP is a client and communicates with other clients through the DCOP server. DCOP server functions like a traffic director, dispatching messages/calls to the proper destinations. All clients are peers of each other.

Two types of actions are possible with DCOP: "send and forget" messages, which do not block, and "calls," which block waiting for some data to be returned.

Any data that will be sent is serialized (also referred to as marshalling in CORBA speak) using the built-in QDataStream operators available in all of the Qt classes. There is also a simple IDL-like compiler available (dcopidl and dcopidl2cpp) that generates stubs and skeletons. Using the dcopidl compiler has the additional benefit of type safety.

There is a command-line tool called ‘dcop’ (note the lower-case letters) that can be used for communication with the applications from the shell. ‘kdcop’ is a GUI tool to explore the interfaces of an application.

See also

  • KDELibs – predecessor of KDE Platform 4

Share this article:

This article uses material from the Wikipedia article Desktop_communication_protocol, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.