Desktop communication protocol

Desktop Communication ProtocolOriginal author(s)| KDE

|

Developer(s)| KDE
Operating system| Linux
Successor| D-Bus
Type| IPC daemon
License| GNU LGPL

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.

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

## External links

* DCOP Documentation

* v
* t
* e

Inter-process communication

Data exchange among threads in computer programs

Methods|

* File
* Memory-mapped file
* Message passing
* Message queue and mailbox
* Named pipe
* Anonymous pipe
* Pipe
* Semaphore
* Shared memory
* Signal
* Sockets
* Network
* Unix

Protocols
and standards|

* Apple events
* COM+
* CORBA
* D-Bus
* DDS
* DCE
* ICE
* OpenBinder
* ONC RPC
* POSIX (various methods)
* SOAP
* REST
* Thrift
* TIPC
* XML-RPC

Software libraries
and frameworks|

* D-Bus
* libevent
* SIMPL
* LINX

* v
* t
* e

KDE

Software
Compilation|

* KDE 1
* KDE 2
* KDE 3
* KDE SC 4
* Post-fourth series
* KDE Plasma 5
* KDE Frameworks
* KDE Applications

Applications
by KDE|

| Development|

* Cervisia
* KDevelop
* KImageMapEditor
* Kompare
* Quanta Plus
* Umbrello

|

Education|

* Cantor
* GCompris
* KAlgebra
* Kanagram
* KBibTeX
* KGeography
* KHangMan
* Kig
* Kiten
* KLettres
* KmPlot
* KStars
* KTouch
* KTurtle
* KWordQuiz
* LabPlot
* Marble
* RKWard
* Step

Graphics|

* digiKam
* Gwenview
* Karbon
* KColorEdit
* KolourPaint
* KPhotoAlbum
* Krita
* Spectacle
* Skanlite

Internet|

* KGet
* KMLDonkey
* Konqueror
* Kontact
* Konversation
* Kopete
* KTorrent
* Rekonq

Multimedia|

* Amarok
* Dragon Player
* JuK
* K3b
* Kaffeine
* Kdenlive

Office|

* Okular
* Calligra Suite
* Words
* Sheets
* Stage
* Flow
* Karbon
* Kexi
* Plan
* Kile
* KMyMoney
* Kontact
* KPilot
* Tellico
* Trojitá

System|

* Discover
* Dolphin
* KDE Partition Manager
* KDE System Guard
* KInfoCenter
* Konsole
* Yakuake

Utilities|

* Ark
* Filelight
* KAlarm
* Kate
* KCalc
* KGPG
* Klipper
* Krusader
* KRename
* KWallet
* KWrite

Platform|

| User interface|

| Current|

* KDE Plasma 5
* KWin

|

Discontinued|

* KDesktop
* Kicker
* SuperKaramba
* KDE Plasma 4
* KSnapshot
* Oxygen Project
* Crystal Project

Current|

* KWin
* SDDM (5–)
* Qt
* KDE Frameworks 5 (5–)
* Akonadi
* Flake
* KJS
* KHTML
* KIO
* ThreadWeaver
* KIPI
* KParts
* Kross
* Phonon
* Solid
* Sonnet
* XMLGUI

Discontinued|

* KDElibs (–3)
* DCOP (3)
* KDE Platform 4 (4)
* KDM (–4)
* NEPOMUK (4.13)
* Strigi

freedesktop.org
(shared)|

* AppStream
* D-Bus
* GStreamer
* NetworkManager
* Poppler
* Wayland
* X.Org Server
* PulseAudio

Community|

* KDE e.V.
* Akademy
* KDE.News
* Konqi

People|

* Matthias Kalle Dalheimer
* Matthias Ettrich
* Adriaan de Groot
* Frank Karlitschek
* Celeste Lyn Paul
* Nuno Pinheiro
* Cornelius Schumacher
* David Vignoni

* Category

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Desktop_communication_protocol&oldid=4282497"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template