From b21037485a584338b11bcb9c15ed53ce957d8e92 Mon Sep 17 00:00:00 2001 From: xielh <5604895+xielhxie@user.noreply.gitee.com> Date: Tue, 3 Nov 2020 16:06:22 +0800 Subject: [PATCH] add README.en.md --- README.en.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 README.en.md diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..7de803d --- /dev/null +++ b/README.en.md @@ -0,0 +1,26 @@ +D-Bus + +D-Bus is a message bus system, a simple way for applications to talk to one another. +In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a "single instance" application or daemon, and to launch applications and daemons on demand when their services are needed. + +D-Bus supplies both a system daemon (for events such as "new hardware device added" or "printer queue changed") and a per-user-login-session daemon (for general IPC needs among user applications). +Also, the message bus is built on top of a general one-to-one message passing framework, which can be used by any two apps to communicate directly (without going through the message bus daemon). +Currently the communicating applications are on one computer, or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories. (Help wanted with better remote transports - the transport mechanism is well-abstracted and extensible.) + +The dbus low-level API reference implementation and the D-Bus protocol have been heavily tested in the real world over several years, and are now "set in stone." Future changes will either be compatible or versioned appropriately. + +The low-level libdbus reference library has no required dependencies; the reference bus daemon's only required dependency is an XML parser (expat). +Higher-level bindings specific to particular frameworks (Qt, GLib, Java, C#, Python, etc.) add more dependencies, but can make more assumptions and are thus much simpler to use. +The bindings evolve separately from the low-level libdbus, so some are more mature and ABI-stable than others; check the docs for the binding you plan to use. + +There are also some reimplementations of the D-Bus protocol for languages such as C#, Java, and Ruby. +These do not use the libdbus reference implementation. + +It should be noted that the low-level implementation is not primarily designed for application authors to use. +Rather, it is a basis for binding authors and a reference for reimplementations. +If you are able to do so it is recommended that you use one of the higher level bindings or implementations. +A list of these can be found on the bindings page. + +The list of projects using D-Bus is growing and they provide a wealth of examples of using the various APIs to learn from. + +D-Bus is very portable to any Linux or UNIX flavor, and a port to Windows is in progress. \ No newline at end of file