DCOP


Desktop COmmunication Protocol was an inter-process communication 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.
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 using the built-in QDataStream operators available in all of the Qt classes. There is also a simple IDL-like compiler available that generates stubs and skeletons. Using the dcopidl compiler has the additional benefit of type safety.
There is a command-line tool called ‘dcop’ that can be used for communication with the applications from the shell. ‘kdcop’ is a GUI tool to explore the interfaces of an application.