aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2018-06-07 11:16:11 +0200
committerMichael Albinus2018-06-07 11:16:11 +0200
commit2e2f61efa66b69fbd12c83bbd5370a4be2374f66 (patch)
tree8367defda294fb1dee8d353b323f0a5644f4c504
parent4a51deb993d923767f0eddd4f350e636fe8d7c0b (diff)
downloademacs-2e2f61efa66b69fbd12c83bbd5370a4be2374f66.tar.gz
emacs-2e2f61efa66b69fbd12c83bbd5370a4be2374f66.zip
Remove Tramp "obex" and "synce" methods
* doc/misc/tramp.texi (GVFS based methods): Remove `obex' and `synce'. * etc/NEWS: Mention obsolete Tramp "obex" and "synce" methods. * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Remove "obex" and "synce". (top): Do not add defaults for "obex" and "synce". (tramp-bluez-service, tramp-bluez-interface-manager) (tramp-bluez-interface-adapter) (tramp-bluez-discover-devices-timeout, tramp-bluez-discovery) (tramp-bluez-devices, tramp-hal-service, tramp-hal-path-manager) (tramp-hal-interface-manager, tramp-hal-interface-device) (tramp-bluez-address, tramp-bluez-device) (tramp-bluez-list-devices, tramp-bluez-property-changed) (tramp-bluez-device-found, tramp-bluez-parse-device-names) (tramp-synce-list-devices, tramp-synce-parse-device-names): Remove. (tramp-gvfs-handler-mounted-unmounted) (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec): Do not handle "obex" and "synce".
-rw-r--r--doc/misc/tramp.texi25
-rw-r--r--etc/NEWS4
-rw-r--r--lisp/net/tramp-gvfs.el304
3 files changed, 19 insertions, 314 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 29626138ae1..83585038a8f 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -1110,13 +1110,6 @@ Since Google Drive uses cryptic blob file names internally,
1110could produce unexpected behavior in case two files in the same 1110could produce unexpected behavior in case two files in the same
1111directory have the same @code{display-name}, such a situation must be avoided. 1111directory have the same @code{display-name}, such a situation must be avoided.
1112 1112
1113@item @option{obex}
1114@cindex method @option{obex}
1115@cindex @option{obex} method
1116
1117OBEX is an FTP-like access protocol for cell phones and similar simple
1118devices. @value{tramp} supports OBEX over Bluetooth.
1119
1120@item @option{owncloud} 1113@item @option{owncloud}
1121@cindex @acronym{GNOME} Online Accounts 1114@cindex @acronym{GNOME} Online Accounts
1122@cindex method @option{owncloud} 1115@cindex method @option{owncloud}
@@ -1137,24 +1130,16 @@ This method uses @command{sftp} in order to securely access remote
1137hosts. @command{sftp} is a more secure option for connecting to hosts 1130hosts. @command{sftp} is a more secure option for connecting to hosts
1138that for security reasons refuse @command{ssh} connections. 1131that for security reasons refuse @command{ssh} connections.
1139 1132
1140@item @option{synce}
1141@cindex method @option{synce}
1142@cindex @option{synce} method
1143
1144@option{synce} method allows connecting to MS Windows Mobile devices.
1145It uses GVFS for mounting remote files and directories via FUSE and
1146requires the SYNCE-GVFS plugin.
1147
1148@end table 1133@end table
1149 1134
1150@defopt tramp-gvfs-methods 1135@defopt tramp-gvfs-methods
1151This user option is a list of external methods for GVFS@. By default, 1136This user option is a list of external methods for GVFS@. By default,
1152this list includes @option{afp}, @option{dav}, @option{davs}, 1137this list includes @option{afp}, @option{dav}, @option{davs},
1153@option{gdrive}, @option{obex}, @option{owncloud}, @option{sftp} and 1138@option{gdrive}, @option{owncloud} and @option{sftp}. Other methods
1154@option{synce}. Other methods to include are @option{ftp}, 1139to include are @option{ftp}, @option{http}, @option{https} and
1155@option{http}, @option{https} and @option{smb}. These methods are not 1140@option{smb}. These methods are not intended to be used directly as
1156intended to be used directly as GVFS based method. Instead, they are 1141GVFS based method. Instead, they are added here for the benefit of
1157added here for the benefit of @ref{Archive file names}. 1142@ref{Archive file names}.
1158@end defopt 1143@end defopt
1159 1144
1160 1145
diff --git a/etc/NEWS b/etc/NEWS
index 01dcb441a7d..d6b7485f7ff 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -430,6 +430,10 @@ process. It now accepts signals specified either by name or by its number.
430or NextCloud hosted files and directories. 430or NextCloud hosted files and directories.
431 431
432+++ 432+++
433*** Connection methods "obex" and "synce" are removed, because they
434are obsoleted in GVFS.
435
436+++
433*** Validated passwords are saved by auth-source backends which support this. 437*** Validated passwords are saved by auth-source backends which support this.
434 438
435+++ 439+++
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index f547f84a17e..87c0c796b69 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -49,10 +49,7 @@
49 49
50;; The user option `tramp-gvfs-methods' contains the list of supported 50;; The user option `tramp-gvfs-methods' contains the list of supported
51;; connection methods. Per default, these are "afp", "dav", "davs", 51;; connection methods. Per default, these are "afp", "dav", "davs",
52;; "gdrive", "obex", "owncloud", "sftp" and "synce". Note that with 52;; "gdrive", "owncloud" and "sftp".
53;; "obex" it might be necessary to pair with the other bluetooth
54;; device, if it hasn't been done already. There might be also some
55;; few seconds delay in discovering available bluetooth devices.
56 53
57;; "gdrive" and "owncloud" connection methods require a respective 54;; "gdrive" and "owncloud" connection methods require a respective
58;; account in GNOME Online Accounts, with enabled "Files" service. 55;; account in GNOME Online Accounts, with enabled "Files" service.
@@ -83,18 +80,14 @@
83;; request an additional connection method to be supported, please 80;; request an additional connection method to be supported, please
84;; drop me a note. 81;; drop me a note.
85 82
86;; For hostname completion, information is retrieved either from the 83;; For hostname completion, information is retrieved from the zeroconf
87;; bluez daemon (for the "obex" method), the hal daemon (for the 84;; daemon (for the "afp", "dav", "davs", and "sftp" methods). The
88;; "synce" method), or from the zeroconf daemon (for the "afp", "dav", 85;; zeroconf daemon is pre-configured to discover services in the
89;; "davs", and "sftp" methods). The zeroconf daemon is pre-configured 86;; "local" domain. If another domain shall be used for discovering
90;; to discover services in the "local" domain. If another domain 87;; services, the user option `tramp-gvfs-zeroconf-domain' can be set
91;; shall be used for discovering services, the user option 88;; accordingly.
92;; `tramp-gvfs-zeroconf-domain' can be set accordingly.
93 89
94;; Restrictions: 90;; Restrictions:
95
96;; * The current GVFS implementation does not allow writing on the
97;; remote bluetooth device via OBEX.
98;; 91;;
99;; * Two shares of the same SMB server cannot be mounted in parallel. 92;; * Two shares of the same SMB server cannot be mounted in parallel.
100 93
@@ -128,10 +121,10 @@
128 121
129;;;###tramp-autoload 122;;;###tramp-autoload
130(defcustom tramp-gvfs-methods 123(defcustom tramp-gvfs-methods
131 '("afp" "dav" "davs" "gdrive" "obex" "owncloud" "sftp" "synce") 124 '("afp" "dav" "davs" "gdrive" "owncloud" "sftp")
132 "List of methods for remote files, accessed with GVFS." 125 "List of methods for remote files, accessed with GVFS."
133 :group 'tramp 126 :group 'tramp
134 :version "26.1" 127 :version "27.1"
135 :type '(repeat (choice (const "afp") 128 :type '(repeat (choice (const "afp")
136 (const "dav") 129 (const "dav")
137 (const "davs") 130 (const "davs")
@@ -139,11 +132,9 @@
139 (const "gdrive") 132 (const "gdrive")
140 (const "http") 133 (const "http")
141 (const "https") 134 (const "https")
142 (const "obex")
143 (const "owncloud") 135 (const "owncloud")
144 (const "sftp") 136 (const "sftp")
145 (const "smb") 137 (const "smb"))))
146 (const "synce"))))
147 138
148(defconst tramp-goa-methods '("gdrive" "owncloud") 139(defconst tramp-goa-methods '("gdrive" "owncloud")
149 "List of methods which require registration at GNOME Online Accounts.") 140 "List of methods which require registration at GNOME Online Accounts.")
@@ -162,8 +153,6 @@
162 `("\\`gdrive\\'" nil ,(match-string 1 user-mail-address))) 153 `("\\`gdrive\\'" nil ,(match-string 1 user-mail-address)))
163 (add-to-list 'tramp-default-host-alist 154 (add-to-list 'tramp-default-host-alist
164 '("\\`gdrive\\'" nil ,(match-string 2 user-mail-address)))) 155 '("\\`gdrive\\'" nil ,(match-string 2 user-mail-address))))
165;;;###tramp-autoload
166(add-to-list 'tramp-default-user-alist '("\\`synce\\'" nil nil))
167 156
168;;;###tramp-autoload 157;;;###tramp-autoload
169(defcustom tramp-gvfs-zeroconf-domain "local" 158(defcustom tramp-gvfs-zeroconf-domain "local"
@@ -463,132 +452,6 @@ It has been changed in GVFS 1.14.")
463;; in order to be compatible with Emacs 24 and 25. 452;; in order to be compatible with Emacs 24 and 25.
464(cl-defstruct (tramp-goa-name (:type list) :named) method user host port) 453(cl-defstruct (tramp-goa-name (:type list) :named) method user host port)
465 454
466(defconst tramp-bluez-service "org.bluez"
467 "The well known name of the BLUEZ service.")
468
469(defconst tramp-bluez-interface-manager "org.bluez.Manager"
470 "The manager interface of the BLUEZ daemon.")
471
472;; <interface name='org.bluez.Manager'>
473;; <method name='DefaultAdapter'>
474;; <arg type='o' direction='out'/>
475;; </method>
476;; <method name='FindAdapter'>
477;; <arg type='s' direction='in'/>
478;; <arg type='o' direction='out'/>
479;; </method>
480;; <method name='ListAdapters'>
481;; <arg type='ao' direction='out'/>
482;; </method>
483;; <signal name='AdapterAdded'>
484;; <arg type='o'/>
485;; </signal>
486;; <signal name='AdapterRemoved'>
487;; <arg type='o'/>
488;; </signal>
489;; <signal name='DefaultAdapterChanged'>
490;; <arg type='o'/>
491;; </signal>
492;; </interface>
493
494(defconst tramp-bluez-interface-adapter "org.bluez.Adapter"
495 "The adapter interface of the BLUEZ daemon.")
496
497;; <interface name='org.bluez.Adapter'>
498;; <method name='GetProperties'>
499;; <arg type='a{sv}' direction='out'/>
500;; </method>
501;; <method name='SetProperty'>
502;; <arg type='s' direction='in'/>
503;; <arg type='v' direction='in'/>
504;; </method>
505;; <method name='RequestMode'>
506;; <arg type='s' direction='in'/>
507;; </method>
508;; <method name='ReleaseMode'/>
509;; <method name='RequestSession'/>
510;; <method name='ReleaseSession'/>
511;; <method name='StartDiscovery'/>
512;; <method name='StopDiscovery'/>
513;; <method name='ListDevices'>
514;; <arg type='ao' direction='out'/>
515;; </method>
516;; <method name='CreateDevice'>
517;; <arg type='s' direction='in'/>
518;; <arg type='o' direction='out'/>
519;; </method>
520;; <method name='CreatePairedDevice'>
521;; <arg type='s' direction='in'/>
522;; <arg type='o' direction='in'/>
523;; <arg type='s' direction='in'/>
524;; <arg type='o' direction='out'/>
525;; </method>
526;; <method name='CancelDeviceCreation'>
527;; <arg type='s' direction='in'/>
528;; </method>
529;; <method name='RemoveDevice'>
530;; <arg type='o' direction='in'/>
531;; </method>
532;; <method name='FindDevice'>
533;; <arg type='s' direction='in'/>
534;; <arg type='o' direction='out'/>
535;; </method>
536;; <method name='RegisterAgent'>
537;; <arg type='o' direction='in'/>
538;; <arg type='s' direction='in'/>
539;; </method>
540;; <method name='UnregisterAgent'>
541;; <arg type='o' direction='in'/>
542;; </method>
543;; <signal name='DeviceCreated'>
544;; <arg type='o'/>
545;; </signal>
546;; <signal name='DeviceRemoved'>
547;; <arg type='o'/>
548;; </signal>
549;; <signal name='DeviceFound'>
550;; <arg type='s'/>
551;; <arg type='a{sv}'/>
552;; </signal>
553;; <signal name='PropertyChanged'>
554;; <arg type='s'/>
555;; <arg type='v'/>
556;; </signal>
557;; <signal name='DeviceDisappeared'>
558;; <arg type='s'/>
559;; </signal>
560;; </interface>
561
562;;;###tramp-autoload
563(defcustom tramp-bluez-discover-devices-timeout 60
564 "Defines seconds since last bluetooth device discovery before rescanning.
565A value of 0 would require an immediate discovery during hostname
566completion, nil means to use always cached values for discovered
567devices."
568 :group 'tramp
569 :version "23.2"
570 :type '(choice (const nil) integer))
571
572(defvar tramp-bluez-discovery nil
573 "Indicator for a running bluetooth device discovery.
574It keeps the timestamp of last discovery.")
575
576(defvar tramp-bluez-devices nil
577 "Alist of detected bluetooth devices.
578Every entry is a list (NAME ADDRESS).")
579
580(defconst tramp-hal-service "org.freedesktop.Hal"
581 "The well known name of the HAL service.")
582
583(defconst tramp-hal-path-manager "/org/freedesktop/Hal/Manager"
584 "The object path of the HAL daemon manager.")
585
586(defconst tramp-hal-interface-manager "org.freedesktop.Hal.Manager"
587 "The manager interface of the HAL daemon.")
588
589(defconst tramp-hal-interface-device "org.freedesktop.Hal.Device"
590 "The device interface of the HAL daemon.")
591
592;; "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1. We 455;; "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1. We
593;; must use "gio <command>" tool instead. 456;; must use "gio <command>" tool instead.
594(defconst tramp-gvfs-gio-mapping 457(defconst tramp-gvfs-gio-mapping
@@ -1675,8 +1538,6 @@ file-notify events."
1675 (cadr (assoc "uri" (cadr mount-spec)))))) 1538 (cadr (assoc "uri" (cadr mount-spec))))))
1676 (when (string-match "^\\(afp\\|smb\\)" method) 1539 (when (string-match "^\\(afp\\|smb\\)" method)
1677 (setq method (match-string 1 method))) 1540 (setq method (match-string 1 method)))
1678 (when (string-equal "obex" method)
1679 (setq host (tramp-bluez-device host)))
1680 (when (and (string-equal "dav" method) (string-equal "true" ssl)) 1541 (when (and (string-equal "dav" method) (string-equal "true" ssl))
1681 (setq method "davs")) 1542 (setq method "davs"))
1682 (when (and (string-equal "davs" method) 1543 (when (and (string-equal "davs" method)
@@ -1766,8 +1627,6 @@ file-notify events."
1766 (cadr (assoc "volume" (cadr mount-spec))))))) 1627 (cadr (assoc "volume" (cadr mount-spec)))))))
1767 (when (string-match "^\\(afp\\|smb\\)" method) 1628 (when (string-match "^\\(afp\\|smb\\)" method)
1768 (setq method (match-string 1 method))) 1629 (setq method (match-string 1 method)))
1769 (when (string-equal "obex" method)
1770 (setq host (tramp-bluez-device host)))
1771 (when (and (string-equal "dav" method) (string-equal "true" ssl)) 1630 (when (and (string-equal "dav" method) (string-equal "true" ssl))
1772 (setq method "davs")) 1631 (setq method "davs"))
1773 (when (and (string-equal "davs" method) 1632 (when (and (string-equal "davs" method)
@@ -1776,8 +1635,6 @@ file-notify events."
1776 (setq method "owncloud")) 1635 (setq method "owncloud"))
1777 (when (string-equal "google-drive" method) 1636 (when (string-equal "google-drive" method)
1778 (setq method "gdrive")) 1637 (setq method "gdrive"))
1779 (when (and (string-equal "synce" method) (zerop (length user)))
1780 (setq user (or (tramp-file-name-user vec) "")))
1781 (when (and (string-equal "http" method) (stringp uri)) 1638 (when (and (string-equal "http" method) (stringp uri))
1782 (setq uri (url-generic-parse-url uri) 1639 (setq uri (url-generic-parse-url uri)
1783 method (url-type uri) 1640 method (url-type uri)
@@ -1837,10 +1694,6 @@ It was \"a(say)\", but has changed to \"a{sv})\"."
1837 (list (tramp-gvfs-mount-spec-entry "type" "smb-share") 1694 (list (tramp-gvfs-mount-spec-entry "type" "smb-share")
1838 (tramp-gvfs-mount-spec-entry "server" host) 1695 (tramp-gvfs-mount-spec-entry "server" host)
1839 (tramp-gvfs-mount-spec-entry "share" share))) 1696 (tramp-gvfs-mount-spec-entry "share" share)))
1840 ((string-equal "obex" method)
1841 (list (tramp-gvfs-mount-spec-entry "type" method)
1842 (tramp-gvfs-mount-spec-entry
1843 "host" (concat "[" (tramp-bluez-address host) "]"))))
1844 ((string-match "^dav\\|^owncloud" method) 1697 ((string-match "^dav\\|^owncloud" method)
1845 (list (tramp-gvfs-mount-spec-entry "type" "dav") 1698 (list (tramp-gvfs-mount-spec-entry "type" "dav")
1846 (tramp-gvfs-mount-spec-entry "host" host) 1699 (tramp-gvfs-mount-spec-entry "host" host)
@@ -2139,103 +1992,6 @@ VEC is used only for traces."
2139 (tramp-get-connection-property key "Uri" "file:///")))))))))) 1992 (tramp-get-connection-property key "Uri" "file:///"))))))))))
2140 1993
2141 1994
2142;; D-Bus BLUEZ functions.
2143
2144(defun tramp-bluez-address (device)
2145 "Return bluetooth device address from a given bluetooth DEVICE name."
2146 (when (stringp device)
2147 (if (string-match tramp-ipv6-regexp device)
2148 (match-string 0 device)
2149 (cadr (assoc device (tramp-bluez-list-devices))))))
2150
2151(defun tramp-bluez-device (address)
2152 "Return bluetooth device name from a given bluetooth device ADDRESS.
2153ADDRESS can have the form \"xx:xx:xx:xx:xx:xx\" or \"[xx:xx:xx:xx:xx:xx]\"."
2154 (when (stringp address)
2155 (while (string-match "[][]" address)
2156 (setq address (replace-match "" t t address)))
2157 (let (result)
2158 (dolist (item (tramp-bluez-list-devices) result)
2159 (when (string-match address (cadr item))
2160 (setq result (car item)))))))
2161
2162(defun tramp-bluez-list-devices ()
2163 "Return all discovered bluetooth devices as list.
2164Every entry is a list (NAME ADDRESS).
2165
2166If `tramp-bluez-discover-devices-timeout' is an integer, and the last
2167discovery happened more time before indicated there, a rescan will be
2168started, which lasts some ten seconds. Otherwise, cached results will
2169be used."
2170 ;; Reset the scanned devices list if time has passed.
2171 (and (integerp tramp-bluez-discover-devices-timeout)
2172 (integerp tramp-bluez-discovery)
2173 (> (tramp-time-diff (current-time) tramp-bluez-discovery)
2174 tramp-bluez-discover-devices-timeout)
2175 (setq tramp-bluez-devices nil))
2176
2177 ;; Rescan if needed.
2178 (unless tramp-bluez-devices
2179 (let ((object-path
2180 (with-tramp-dbus-call-method tramp-gvfs-dbus-event-vector t
2181 :system tramp-bluez-service "/"
2182 tramp-bluez-interface-manager "DefaultAdapter")))
2183 (setq tramp-bluez-devices nil
2184 tramp-bluez-discovery t)
2185 (with-tramp-dbus-call-method tramp-gvfs-dbus-event-vector nil
2186 :system tramp-bluez-service object-path
2187 tramp-bluez-interface-adapter "StartDiscovery")
2188 (while tramp-bluez-discovery
2189 (read-event nil nil 0.1))))
2190 (setq tramp-bluez-discovery (current-time))
2191 (tramp-message tramp-gvfs-dbus-event-vector 10 "%s" tramp-bluez-devices)
2192 tramp-bluez-devices)
2193
2194(defun tramp-bluez-property-changed (property value)
2195 "Signal handler for the \"org.bluez.Adapter.PropertyChanged\" signal."
2196 (tramp-message tramp-gvfs-dbus-event-vector 6 "%s %s" property value)
2197 (cond
2198 ((string-equal property "Discovering")
2199 (unless (car value)
2200 ;; "Discovering" FALSE means discovery run has been completed.
2201 ;; We stop it, because we don't need another run.
2202 (setq tramp-bluez-discovery nil)
2203 (with-tramp-dbus-call-method tramp-gvfs-dbus-event-vector t
2204 :system tramp-bluez-service (dbus-event-path-name last-input-event)
2205 tramp-bluez-interface-adapter "StopDiscovery")))))
2206
2207(when tramp-gvfs-enabled
2208 (dbus-register-signal
2209 :system nil nil tramp-bluez-interface-adapter "PropertyChanged"
2210 'tramp-bluez-property-changed))
2211
2212(defun tramp-bluez-device-found (device args)
2213 "Signal handler for the \"org.bluez.Adapter.DeviceFound\" signal."
2214 (tramp-message tramp-gvfs-dbus-event-vector 6 "%s %s" device args)
2215 (let ((alias (car (cadr (assoc "Alias" args))))
2216 (address (car (cadr (assoc "Address" args)))))
2217 ;; Maybe we shall check the device class for being a proper
2218 ;; device, and call also SDP in order to find the obex service.
2219 (add-to-list 'tramp-bluez-devices (list alias address))))
2220
2221(when tramp-gvfs-enabled
2222 (dbus-register-signal
2223 :system nil nil tramp-bluez-interface-adapter "DeviceFound"
2224 'tramp-bluez-device-found))
2225
2226(defun tramp-bluez-parse-device-names (_ignore)
2227 "Return a list of (nil host) tuples allowed to access."
2228 (mapcar
2229 (lambda (x) (list nil (car x)))
2230 (tramp-bluez-list-devices)))
2231
2232;; Add completion function for OBEX method.
2233(when (and tramp-gvfs-enabled
2234 (member tramp-bluez-service (dbus-list-known-names :system)))
2235 (tramp-set-completion-function
2236 "obex" '((tramp-bluez-parse-device-names ""))))
2237
2238
2239;; D-Bus zeroconf functions. 1995;; D-Bus zeroconf functions.
2240 1996
2241(defun tramp-zeroconf-parse-device-names (service) 1997(defun tramp-zeroconf-parse-device-names (service)
@@ -2317,41 +2073,6 @@ This uses \"avahi-browse\" in case D-Bus is not enabled in Avahi."
2317 (tramp-set-completion-function 2073 (tramp-set-completion-function
2318 "smb" '((tramp-gvfs-parse-device-names "_smb._tcp")))))))) 2074 "smb" '((tramp-gvfs-parse-device-names "_smb._tcp"))))))))
2319 2075
2320
2321;; D-Bus SYNCE functions.
2322
2323(defun tramp-synce-list-devices ()
2324 "Return all discovered synce devices as list.
2325They are retrieved from the hal daemon."
2326 (let (tramp-synce-devices)
2327 (dolist (device
2328 (with-tramp-dbus-call-method tramp-gvfs-dbus-event-vector t
2329 :system tramp-hal-service tramp-hal-path-manager
2330 tramp-hal-interface-manager "GetAllDevices"))
2331 (when (with-tramp-dbus-call-method tramp-gvfs-dbus-event-vector t
2332 :system tramp-hal-service device tramp-hal-interface-device
2333 "PropertyExists" "sync.plugin")
2334 (let ((prop
2335 (with-tramp-dbus-call-method
2336 tramp-gvfs-dbus-event-vector t
2337 :system tramp-hal-service device tramp-hal-interface-device
2338 "GetPropertyString" "pda.pocketpc.name")))
2339 (unless (member prop tramp-synce-devices)
2340 (push prop tramp-synce-devices)))))
2341 (tramp-message tramp-gvfs-dbus-event-vector 10 "%s" tramp-synce-devices)
2342 tramp-synce-devices))
2343
2344(defun tramp-synce-parse-device-names (_ignore)
2345 "Return a list of (nil host) tuples allowed to access."
2346 (mapcar
2347 (lambda (x) (list nil x))
2348 (tramp-synce-list-devices)))
2349
2350;; Add completion function for SYNCE method.
2351(when tramp-gvfs-enabled
2352 (tramp-set-completion-function
2353 "synce" '((tramp-synce-parse-device-names ""))))
2354
2355(add-hook 'tramp-unload-hook 2076(add-hook 'tramp-unload-hook
2356 (lambda () 2077 (lambda ()
2357 (unload-feature 'tramp-gvfs 'force))) 2078 (unload-feature 'tramp-gvfs 'force)))
@@ -2368,11 +2089,6 @@ They are retrieved from the hal daemon."
2368;; * Check, how two shares of the same SMB server can be mounted in 2089;; * Check, how two shares of the same SMB server can be mounted in
2369;; parallel. 2090;; parallel.
2370;; 2091;;
2371;; * Apply SDP on bluetooth devices, in order to filter out obex
2372;; capability.
2373;;
2374;; * Implement obex for other serial communication but bluetooth.
2375;;
2376;; * What's up with ftps dns-sd afc admin computer? 2092;; * What's up with ftps dns-sd afc admin computer?
2377 2093
2378;;; tramp-gvfs.el ends here 2094;;; tramp-gvfs.el ends here