~scymtym/+junk/telepathy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
;;; util.el --- Utility functions used in the Telepathy bindings.
;;
;; Copyright (C) 2010, 2011 Jan Moringen
;;
;; Author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
;; Keywords: telepathy, communication, instant messaging
;;
;; This Program is free software: you can redistribute it and/or modify
;; it under the terms of the 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>.


;;; Commentary:
;;
;; This file contains some utility functions which are used in the
;; Telepathy bindings for Emacs Lisp.


;;; History:
;;
;; 0.1 - Initial version


;;; Code:
;;

(defun telepathy-path->service (path)
  "Convert PATH, an object path, to a service name (D-Bus
well-known name)."
  (replace-regexp-in-string "/" "." (substring path 1)))

(defun telepathy-prop-get (key props)
  "Retrieve the property designated by KEY in the Telepathy
property list PROPS."
  (caadr (assoc-string key props)))

(defun telepathy-make-remote-proxy-from-path (bus path)
  "Make and return a proxy object for the D-Bus object on BUS
designated by PATH. PATH is converted to the service and also
used as the object path."
  (dbus-proxy-make-remote-proxy
   :session (telepathy-path->service path) path))

(provide 'telepathy/util)
;;; util.el ends here