DBusSharp
From NDesk
Revision as of 12:07, 8 November 2007 (edit) Alp (Talk | contribs) ← Previous diff |
Revision as of 12:07, 8 November 2007 (edit) (undo) Alp (Talk | contribs) Next diff → |
||
Line 68: | Line 68: | ||
* [http://dev.mmgsecurity.com/projects/lat/ LAT] LDAP Administration Tool | * [http://dev.mmgsecurity.com/projects/lat/ LAT] LDAP Administration Tool | ||
* [http://www.snorp.net/log/2006/12/08/im-in-ur-virtual-machines-managing-them/ VMX Manager], Virtual Machine Manager, GNOME SVN(?) | * [http://www.snorp.net/log/2006/12/08/im-in-ur-virtual-machines-managing-them/ VMX Manager], Virtual Machine Manager, GNOME SVN(?) | ||
- | * [http://www.k-d-w.org/clipboard/NewStuffManager/ NewStuffManager], a plugin update/download service | + | * [http://www.k-d-w.org/NewStuffManager/ NewStuffManager], a plugin update/download service |
* [http://folks.o-hand.com/iain/last-exit/ last-exit], a music player for Last.fm | * [http://folks.o-hand.com/iain/last-exit/ last-exit], a music player for Last.fm | ||
* [http://muine-player.org/ Muine], a music player for GNOME | * [http://muine-player.org/ Muine], a music player for GNOME |
Revision as of 12:07, 8 November 2007
ndesk-dbus is a C# implementation of D-Bus. It's often referred to as dbus-sharp, or "managed D-Bus" to avoid confusion with existing bindings (which wrap libdbus).
D-Bus is an inter-process communication framework that lets applications interface with the system event bus as well as allowing them to talk to one another in a peer-to-peer configuration.
Contents |
Status
This software is under development but is already used by a wide range of applications for tasks as simple as maintaining a single instance of the GUI to whole instant messaging frameworks and hardware detection APIs.
It provides a tested, high-performance bridge to and from all systems that are exposed via D-Bus, regardless of programming language, UI toolkit or license. The source code is MIT X11 licensed (Free Software/Open Source), allowing integration into other projects with very few restrictions.
The code is a clean-room implementation based on the D-Bus Specification Version 0.11 and study of the wire protocol of existing tools.
It aims for compatibility with Mono and Microsoft .NET frameworks supporting the 2.0 profile. Backward compatibility with 1.0 will not be a consideration. Ongoing work to ensure CLS compliance means that managed D-Bus can be used by any language that can target the CLR.
Cross platform support
Supported platforms
A standard build of managed D-Bus will work across a wide range of platforms:
- x86
- 64-bit (eg. AMD64)
- Big endian (eg. PPC)
- ARM (eg. Nokia 770)
- Mono 1.1.13 or newer
- GNU/Linux
- FreeBSD
- Mac OS X
- Microsoft Windows / .NET runtime (in the 0.5 development branch)
Soon to be supported
- Solaris (in progress: http://bugzilla.gnome.org/show_bug.cgi?id=370081)
- MIPS (untested) (eg. wifi routers)
Users
This is a list of applications known to make use of managed D-Bus:
- NDesk component object model (NParts etc.)
- telepathy-sharp
- Tapioca VoIP and IM application development framework (tapioca-sharp)
- Landell VoIP and IM client using Gtk#
- Gnome NetworkManager binding
- Gnome Power Manager binding
- Banshee provides and uses a media player API, and uses Gnome Power Manager, Gnome NetworkManager, Helix, notify-sharp, org.gnome.SettingsDaemon
- Helix D-Bus for remote control of the media stream
- hal-sharp is provides access to HAL, the Hardware Abstraction Layer
- NotifySharp provides a client implementation for Desktop Notifications and works as a libnotify client replacement
- F-Spot personal photo management application, for single-instance detection [1]
- Tomboy simple note taking application, for remote control and single-instance detection
- dcsharp file sharing client using the Direct Connect protocol, for notifications, single instance and remote control
- LAT LDAP Administration Tool
- VMX Manager, Virtual Machine Manager, GNOME SVN(?)
- NewStuffManager, a plugin update/download service
- last-exit, a music player for Last.fm
- Muine, a music player for GNOME
- The Fuzz, process security manager with GUI
- GShare, file sharing utility
- Chatter (Telepathy GnomeUI) VoIP and IM client using Gtk#
- Babuine TimeTracker
- gnome-keyring-sharp GNOME Keyring implementation, to get the keyring socket address
- eIDconfig-belgium configuration toolkit for the Belgian eID middleware
- PodSleuth iPod model information discovery/export tool, using hal-sharp
- Banter collaboration client (Telepathy)
- circ IRC client
- Beagle xesam-adapter desktop search API
- D-Bus Explorer
Contact
Support can be found on the #managed-dbus IRC channel on irc.gnome.org
There is no mailing list or email contact address.
Download
See the managed D-Bus release archive.
Development
See the development roadmap for a detailed list of remaining tasks.
git-clone git://git.ndesk.org/pub/scm/dbus-sharp
The dbus-sharp API is now fairly stable stable. It's best to install a released version and depend on it from your application rather than bundling the sources directly as has been done in the past.
There is also a module which provides GLib integration as an optional extra: