Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Desktop communication protocol
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{for|the use of this acronym as it pertains to artificial intelligence|Distributed constraint optimization}} {{Infobox software | name = | title = Desktop Communication Protocol | logo = <!-- Image name is enough --> | logo caption = | logo_size = | logo_alt = | screenshot = <!-- Image name is enough --> | caption = | screenshot_size = | screenshot_alt = | collapsible = | author = [[KDE]] | developer = [[KDE]] | released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | discontinued = yes | latest release version = | latest release date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | latest preview version = | latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | status = | programming language = | operating system = [[Linux]] | replaced_by = [[D-Bus]] | genre = [[Inter-process communication|IPC daemon]] | license = [[GNU LGPL]] | website = }} '''Desktop''' '''Communication''' '''Protocol''' ('''DCOP''') was an [[inter-process communication]] (IPC) [[Daemon (computing)|daemon]] by [[KDE]] used in [[K Desktop Environment 3]]. The design goal for the protocol was to allow [[Application software|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 [[X Window System protocols and architecture#Inter-client communication|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 (computer science)|marshalling]]'' in [[CORBA]] speak) using the built-in QDataStream operators available in all of the [[Qt (software)|Qt]] [[Class (computer science)|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 [[Graphical user interface|GUI]] tool to explore the [[Interface (computer science)|interfaces]] of an application. ==See also== {{Portal|Free and open-source software}} * [[KDELibs]] – predecessor of KDE Platform 4 ==External links== * [http://api.kde.org/3.5-api/kdelibs-apidocs/dcop/html/index.html DCOP Documentation] {{Inter-process communication}} {{KDE}} [[Category:Inter-process communication]] [[Category:KDE Platform]] [[Category:Software that uses Qt]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:For
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Inter-process communication
(
edit
)
Template:KDE
(
edit
)
Template:Main other
(
edit
)
Template:Portal
(
edit
)
Template:Template other
(
edit
)