Skip to content

GlimmerLabs/louDBus

Repository files navigation

louDBus - A D-Bus Client for Racket

This is a prototype D-Bus Client to use with Racket.  It provides a
fairly straightforward interface to a D-Bus service/object/interface
triplet.  It is designed to work on Linux systems.  It has only been
tested on 64 bit Ubuntu.

A full list of files is in MANIFEST.  Details of the implementation are
in DETAILS.  Instructions for building and installing are in INSTALL.

---

Copyright (c) 2012 Zarni Htet, Samuel A. Rebelsky, Hart Russell, and
Mani Tiwaree.  All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the Lesser GNU General Public License as published 
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

---

(require louDBus/unsafe)
  Load the module.  This is an unsafe module because it plays with
  the dangerous forces of C.

(loudbus-proxy SERVICE OBJECT INTERFACE)
  Create and return a proxy for the given service/object/interface triplet.

(loudbus-call PROXY METHOD-NAME PARAM1 ... PARAMN)
  Call a method on the proxy using the given parameters.  

(loudbus-import-methods PROXY PREFIX DASHES?)
  Create Scheme procedures that call the methods of PROXY.  The Scheme
  procedures will have names similar to those of PROXY, except that each
  will be prefaced with PREFIX (which may be the empty string) and,
  if DASHES? is true, will also have underscores converted to dashes.
  For example, if the proxy provides a method called "square", and prefix
  is "myapp.", this will add the function myapp.square.

(loudbus-methods PROXY)
  Get a list of all the available methods provided by a proxy.

(loudbus-method-info PROXY METHOD)
  Get information on a method provided by a proxy.

(loudbus-services) 
  List all the available services.
  NOT YET IMPLEMENTED

(loudbus-objects SERVICE) 
  List all of the available objects on a service.
  NOT YET IMPLEMENTED

(dbus-interfaces SERVICE OBJECT) 
  List all of the available interfaces for an object.
  NOT YET IMPLEMENTED