From 262e8b6a2b34abb0acd890fe234c55640ab9de38 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 4 Aug 2008 19:55:41 +0200 Subject: Remove the old API documentation --- src/Makefile.am | 4 +- src/dbus-api.txt | 1401 ------------------------------------------------------ 2 files changed, 2 insertions(+), 1403 deletions(-) delete mode 100644 src/dbus-api.txt (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index 4e8a9318..04144dd3 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -44,14 +44,14 @@ INCLUDES = -I$(top_srcdir)/common BUILT_SOURCES = parser.h if MANPAGES -man_MANS = hcid.8 hcid.conf.5 +man_MANS = bluetoothd.8 hcid.conf.5 endif AM_YFLAGS = -d CLEANFILES = lexer.c parser.c parser.h -EXTRA_DIST = bluetooth.conf hcid.8 hcid.conf.5 hcid.conf dbus-api.txt \ +EXTRA_DIST = bluetooth.conf bluetoothd.8 hcid.conf.5 hcid.conf \ list-devices test-discovery test-manager test-adapter test-device \ simple-service simple-agent service-record.dtd \ service-did.xml service-spp.xml service-opp.xml service-ftp.xml diff --git a/src/dbus-api.txt b/src/dbus-api.txt deleted file mode 100644 index 622477be..00000000 --- a/src/dbus-api.txt +++ /dev/null @@ -1,1401 +0,0 @@ -D-Bus API description for BlueZ -******************************* - -Copyright (C) 2004-2007 Marcel Holtmann -Copyright (C) 2005-2006 Johan Hedberg -Copyright (C) 2005-2006 Claudio Takahasi -Copyright (C) 2005-2006 Eduardo Rocha - - -Constant definitions -==================== - -The class of device definition from the Bluetooth specification divides into -three different parts. It the major class, the minor class and the service -classes. The D-Bus interface will always use string constants to identify -any of these classes. - -Service classes positioning, networking, rendering, capturing, - object transfer, audio, telephony, information - -Major classes miscellaneous, computer, phone, access point, - audio/video, peripheral, imaging, wearable, toy, - uncategorized - -Minor classes computer uncategorized, desktop, server, laptop, handheld, - palm, wearable - -Minor classes phone uncategorized, cellular, cordless, smart phone, - modem, isdn - -Minor classes access point fully, 1-17 percent, 17-33 percent, - 33-50 percent, 50-67 percent, 67-83 percent, - 83-99 percent, not available - -Minor classes audio video uncategorized, headset, handsfree,microphone, - loudspeaker, headphones, portable audio, car audio, - set-top box, hifi audio, vcr, video camera, camcorder, - video monitor, video display and loudspeaker, - video conferencing, gaming/toy, unknown - -Minor classes peripheral uncategorized, keyboard, pointing, combo - -Minor classes imaging display, camera, scanner, printer - -Minor classes wearable wrist watch, pager, jacket, helmet, glasses - -Minor classes toy robot, vehicle, doll, controller, game - -Error hierarchy -=============== - -Interface org.bluez.Error - -Shared Errors (Can be thrown by hcid or any bluetooth service) - - DeviceUnreachable - - The remote device is either powered down or out of range. - - AlreadyConnected - A connection request has been received on an already - connected device. - - ConnectionAttemptFailed - - An unexpected error (other than DeviceUnreachable) error - has occured while attempting a connection to a device. - - NotConnected - The remote device is not connected, while the method call - would expect it to be, or is not in the expected state to - perform the action. - - InProgress - - Error returned if an operation is in progress. Since - this is a generic error that can be used in various - situations, the error message should be more clear - about what is in progress. For example "Bonding in - progress". - - InvalidArguments - - The DBUS request does not contain the right number of - arguments with the right type, or the arguments are there - but their value is wrong, or does not makes sense in the - current context. - - OutOfMemory - - Error returned when a memory allocation via malloc() - fails. This error is similar to ENOMEM. - - NotAvailable - - Error returned when a specified record is not - available. - - NotSupported - - The remote device does not support the expected - feature. - - AlreadyExists - One of the requested elements already exists - - DoesNotExist - One of the requested elements does not exist - - Canceled - The operation was canceled. - - Failed - - This is a the most generic error. - It is thrown when something unexpected happens. - - -Hcid specific Errors (Can be thrown by hcid only) - - NotReady - - Error returned when the adapter is DOWN. - - UnknwownMethod - - This is an experimental method. - - NotAuthorized - - Error returned when the caller of a method is not - authorized. This might happen if a caller tries to - terminate a connection that it hasn't created. - - Rejected - - NoSuchAdapter - - Error returned when the requested adapter doesn't - exists. This error is similar to ENODEV. - - NoSuchService - - RequestDeferred - - NotInProgress - - UnsupportedMajorClass - - AuthenticationCanceled - - AuthenticationFailed - - AuthenticationTimeout - - AuthenticationRejected - - RepeatedAttempts - -Manager hierarchy -================= - -Service org.bluez -Interface org.bluez.Manager -Object path /org/bluez - -Methods uint32 InterfaceVersion() - - Returns the current interface version. At the moment - only version 0 is supported. - - Possible errors: org.bluez.Error.InvalidArguments - - string DefaultAdapter() - - Returns object path for the default adapter. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NoSuchAdapter - - string FindAdapter(string pattern) - - Returns object path for the specified adapter. Valid - patterns are "hci0" or "00:11:22:33:44:55". - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NoSuchAdapter - - array{string} ListAdapters() - - Returns list of adapter object paths under /org/bluez - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.Failed - org.bluez.Error.OutOfMemory - - string FindService(string pattern) - - Returns object path for the specified service. Valid - patterns are the unqiue identifier or a bus name. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NoSuchService - - array{string} ListServices() - - Returns list of object paths of current services. - - Possible errors: org.bluez.Error.InvalidArguments - - string ActivateService(string pattern) - - Returns the unqiue bus id of the specified service. - Valid patterns are the same as for FindService(). If - the service is not running it will be started. - -Signals void AdapterAdded(string path) - - Parameter is object path of added adapter. - - void AdapterRemoved(string path) - - Parameter is object path of removed adapter. - - void DefaultAdapterChanged(string path) - - Parameter is object path of the new default adapter, - or an empty string if there is no available adapters. - - void ServiceAdded(string path) - - Parameter is object path of registered service agent. - - void ServiceRemoved(string path) - - Parameter is object path of unregistered service agent. - - -Database hierarchy -================== - -Service org.bluez -Interface org.bluez.Database -Object path /org/bluez - -Methods uint32 AddServiceRecord(array{byte}) - - Adds a new service record and returns the assigned - record handle. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.Failed - - uint32 AddServiceRecordFromXML(string record) - - Adds a new service record and returns the assigned - record handle. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.Failed - - void UpdateServiceRecord(uint32 handle, array{byte}) - - Updates a given service record. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - org.bluez.Error.Failed - - void UpdateServiceRecordFromXML(uint32 handle, string record) - - Updates a given service record provided in the - XML format. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - org.bluez.Error.Failed - - void RemoveServiceRecord(uint32 handle) - - Remove a service record identified by its handle. - - It is only possible to remove service records that - where added by the current connection. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAuthorized - org.bluez.Error.DoesNotExist - org.bluez.Error.Failed - - -Adapter hierarchy -================= - -Service org.bluez -Interface org.bluez.Adapter -Object path /org/bluez/{hci0,hci1,...} - -Methods dict GetInfo() - - Returns the properties of the local adapter. - - Possible errors: org.bluez.Error.NotReady - - string GetAddress() - - Returns the device address for a given path. - - Example: "00:11:22:33:44:55" - - Possible errors: org.bluez.Error.NotReady - - string GetVersion() - - Returns the version of the Bluetooth chip. This version - is compiled from the LMP version. In case of EDR the - features attribute must be checked. - - Example: "Bluetooth 2.0 + EDR" - - Possible errors: none - - string GetRevision() - - Returns the revision of the Bluetooth chip. This is a - vendor specific value and in most cases it represents - the firmware version. This might derive from the HCI - revision and LMP subversion values or via extra vendor - specific commands. - - In case the revision of a chip is not available. This - method should return the LMP subversion value as a - string. - - Example: "HCI 19.2" - - Possible errors: org.bluez.Error.Failed - - string GetManufacturer() - - Returns the manufacturer of the Bluetooth chip. If - the company id is not know the sting "Company ID %d" - where %d should be replaced with the numeric value - from the manufacturer field. - - Example: "Cambridge Silicon Radio" - - Possible errors: org.bluez.Error.Failed - - string GetCompany() - - Returns the company name from the OUI database of the - Bluetooth device address. This function will need a - valid and up-to-date oui.txt from the IEEE. This value - will be different from the manufacturer string in the - most cases. - - If the oui.txt file is not present or the OUI part of - the BD_ADDR is not listed, it should return the - string "OUI %s" where %s is the actual OUI. - - Example: "Apple Computer" - - Possible errors: org.bluez.Error.Failed - - array{string} ListAvailableModes() - - Returns a list of available modes the adapter can - be switched into. - - string GetMode() - - Returns the current mode of a adapter. - - Valid modes: "off", "connectable", "discoverable", - "limited". - - Possible errors: none - - void SetMode(string mode) - - Sets mode of the adapter. See GetMode for valid strings - for the mode parameter. In addition to the valid strings - for GetMode, this method also supports a special - parameter value "on" which will change the mode to the - previous non-off mode (or do nothing if the current - mode isn't "off"). - - Possible errors: org.bluez.Error.NoSuchAdapter - org.bluez.Error.Failed - - uint32 GetDiscoverableTimeout() - - Returns the discoverable timeout in seconds. A value - of zero means that the timeout is disabled and it will - stay in discoverable/limited mode forever. - - The default value for the discoverable timeout should - be 180 seconds (3 minutes). - - Possible errors: none - - void SetDiscoverableTimeout(uint32 timeout) - - Sets the discoverable timeout in seconds. A value of - zero disables the timeout and the adapter would be - always discoverable/limited. - - Changing this value doesn't set the adapter into - discoverable/limited mode. The SetMode method must be used. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.InvalidArguments - - boolean IsConnectable() - - Returns true if the local adapter is connectable and - false if it is switched off. - - It is also possible to use GetMode to retrieve this - information. - - Possible errors: none - - boolean IsDiscoverable() - - Returns true if the local adapter is discoverable/limited - and false if it is only connectable or switched off. - - It is also possible to use GetMode to retrieve this - information. - - Possible errors: none - - boolean IsConnected(string address) - - Return true if the local adapter is connected to - the remote device. - - Possible errors: org.bluez.Error.InvalidArguments - - array{string} ListConnections() - - Returns a list with addresses of currently connected - remote devices. - - Possible errors: none - - string GetMajorClass() - - Returns the current major class value for this - system. Currently, only "computer" is supported. - For the other values, unsupported major class - error is returned. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.UnsupportedMajorClass - - array{string} ListAvailableMinorClasses() - - Returns a list of available minor classes for the - currently used major class. At the moment this should - only return a list of minor classes if the major - class is set to "computer". - - If the major class is not "computer" an error should - be returned. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.UnsupportedMajorClass - - string GetMinorClass() - - Returns the current minor class value for this - system where the default major class is "computer". - - If the major class is not "computer" an error should - be returned. - - Valid values: "uncategorized", "desktop", "server", - "laptop", "handheld", "palm", "wearable" - - The default value is "uncategorized". - - Possible errors:org.bluez.Error.InvalidArguments - org.bluez.Error.UnsupportedMajorClass - - void SetMinorClass(string minor) - - Sets the local minor class and on success it sends - a MinorClassChanged signal. - - If the major class is not "computer" an error should - be returned. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.InvalidArguments - org.bluez.Error.NoSuchAdapter - org.bluez.Error.Failed - org.bluez.Error.UnsupportedMajorClass - - array{string} GetServiceClasses() - - Returns the current set of service classes. - - In the case no service classes are set (when no - service has been registered) an empty list should - be returned. - - Valid values: "positioning", "networking", "rendering", - "capturing", "object transfer", "audio", - "telephony", "information" - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.NoSuchAdapter - org.bluez.Error.Failed - - string GetName() - - Returns the local adapter name (friendly name) in UTF-8. - - Possible errors: org.bluez.Error.Failed - - void SetName(string name) - - Sets the local adapter name. If EIR is supported by - the local hardware this modifies also the extended - response data value. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.Failed - - Questions: What to do (in case of EIR) if one - low-level API call fails. - - dict GetRemoteInfo(string address) - - Returns the properties for a remote device. - - string GetRemoteVersion(string address) - - Get the version info for a remote device. This request - returns always this information based on its cached - data. The base for this string is the LMP version - value and the features for EDR support. - - Not available can be received if the remote device was - not contacted(connected) previously. Remote data is - automatically retrieved in the first connection. - - Example: "Bluetooth 2.0 + EDR" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - string GetRemoteRevision(string address) - - Get the revision of the Bluetooth chip. This is a - vendor specific value and in most cases it represents - the firmware version. This derives only from the LMP - subversion value. - - Example: "HCI 19.2" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - string GetRemoteManufacturer(string address) - - Get the manufacturer of the chip for a remote device. - - Example: "Nokia Mobile Phones" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - string GetRemoteCompany(string address) - - Get the company name from the OUI database of the - Bluetooth device address. This function will need a - valid and up-to-date oui.txt from the IEEE. This value - will be different from the manufacturer string in the - most cases. - - Example: "Microsoft Corporation" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - string GetRemoteMajorClass(string address) - - Get the major device class of the specified device. - - Example: "computer" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - string GetRemoteMinorClass(string address) - - Get the minor device class of the specified device. - - Example: "laptop" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - array{string} GetRemoteServiceClasses(string address) - - Get the service classes of the specified device. - - Example: ["networking", "object transfer"] - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - uint32 GetRemoteClass(string address) - - Get the remote major, minor, and service classes - encoded as 32 bit integer. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - array{byte} GetRemoteFeatures(string address) - - Get the remote features encoded as bit mask. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - string GetRemoteName(string address) - - Get the remote device's name. This request returns always - a cached name. The service daemon is responsible for - updating the cache. - - NotAvailable error is returned if the name is not in - the cache. But if there is a discovery running, then - this function will return RequestDeferred. In this - case the service daemon will queue the request and - it will try to resolve the name at the next possible - opportunity. On success a RemoteNameUpdated signal will - be send and if a failure happens it will be indicated by - a RemoteNameFailed signal. - - If this is an empty string, the UI might want to - display the BD_ADDR instead. - - Example: "00:11:22:33:44:55", "Nokia 770" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - org.bluez.Error.NotReady - org.bluez.Error.RequestDeferred - - string GetRemoteAlias(string address) - - Returns alias name for remote device. If this is - an empty string value, the UI should show the - remote name instead. - - An alias should supersede the remote name. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - void SetRemoteAlias(string address, string alias) - - Sets alias name for remote device. If alias name is - empty, then no alias is set. - - On success the SetRemoteAlias method will produce a - RemoteAliasChanged signal which applications can use - to update their current display of the remote device - name. - - Possible errors: org.bluez.Error.Failed - org.bluez.Error.InvalidArguments - - void ClearRemoteAlias(string address) - - Resets alias name for remote device. If there is no - alias set for the device this method will silently - succeed, but no RemoteAliasCleared signal has to be - sent in this case. - - On success the ClearRemoteAlias method will produce - a RemoteAliasCleared signal. - - Possible errors: org.bluez.Error.Failed - org.bluez.Error.InvalidArguments - - string LastSeen(string address) - - Returns the date and time when the adapter has been - seen by a discover procedure. - - Example: "2006-02-08 12:00:00 GMT" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - Question: Can we find a better name? - - string LastUsed(string address) - - Returns the date and time of the last time when the - adapter has been connected. - - Example: "2006-02-08 12:00:00 GMT" - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotAvailable - - Question: Can we find a better name? - - void DisconnectRemoteDevice(string address) - - This method disconnects a specific remote device by - terminating the low-level ACL connection. The use of - this method should be restricted to administrator - use. - - A RemoteDeviceDisconnectRequested signal will be - sent and the actual disconnection will only happen 2 - seconds later. This enables upper-level applications - to terminate their connections gracefully before the - ACL connection is terminated. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.NoSuchAdapter - org.bluez.Error.InvalidArguments - org.bluez.Error.NotConnected - org.bluez.Error.InProgress - - void CreateBonding(string address) - - This method creates a bonding with a remote device. - - If a link key for this adapter already exists, this - procedure should fail instead of trying to create a - new pairing. - - If no connection to the remote device exists, a - low-level ACL connection must be created. - - This function will block and the calling application - should take care of setting are higher timeout. This - might be needed in case of a page timeout from the - low-level HCI commands. - - In case of success it will send a BondingCreated - signal. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.InvalidArguments - org.bluez.Error.AlreadyExists - org.bluez.Error.InProgress - org.bluez.Error.NoSuchAdapter - org.bluez.Error.ConnectionAttemptFailed - org.bluez.Error.AuthenticationFailed - org.bluez.Error.AuthenticationTimeout - org.bluez.Error.AuthenticationRejected - org.bluez.Error.AuthenticationCanceled - - void CancelBondingProcess(string address) - - This method will cancel the CreateBonding process. - - The CreateBonding method will return - AuthenticationCanceled to signal that an attempt to - create a bonding has been canceled. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.InvalidArguments - org.bluez.Error.NotInProgress - org.bluez.Error.NotAuthorized - - void RemoveBonding(string address) - - This method removes the bonding with a remote device. - - For security reasons this includes removing the actual - link key and also disconnecting any open connections - for the remote device. - - If the link key was stored on the Bluetooth chip, it - must be removed from there, too. - - After deleting the link key this method will send a - BondingRemoved signal. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.InvalidArguments - org.bluez.Error.NoSuchAdapter - org.bluez.Error.DoesNotExist - - boolean HasBonding(string address) - - Returns true if the remote device is bonded and false - if no link key is available. - - Possible errors: org.bluez.Error.InvalidArguments - - array{string} ListBondings() - - List device addresses of currently bonded adapter. - - Possible errors: none - - uint8 GetPinCodeLength(string address) - - Returns the PIN code length that was used in the - pairing process. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.DoesNotExist - - uint8 GetEncryptionKeySize(string address) - - Returns the currently used encryption key size. - - This method will fail if no connection to the address - has been established. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.Failed - - void SetTrusted(string address) - - Marks the remote device as trusted. Authorization - request will automatically succeed. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.AlreadyExists - - boolean IsTrusted(string address) - - Returns true if the user is trusted or false otherwise. - The address parameter must match one of the remote - devices of the service. - - Possible errors: org.bluez.Error.InvalidArguments - - void RemoveTrust(string address) - - Marks the remote device as not trusted. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.DoesNotExist - - array{string} ListTrusts() - - Returns a list of remote devices that are trusted. - - void DiscoverDevices() - - This method starts the device discovery procedure. This - includes an inquiry procedure and remote device name - resolving. - - On start up this process will generate a DiscoveryStarted - signal and then return RemoteDeviceFound and also - RemoteNameUpdated signals. If the procedure has been - finished an DiscoveryCompleted signal will be sent. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.InProgress - org.bluez.Error.NoSuchAdapter - - void DiscoverDevicesWithoutNameResolving() - - This method starts the device discovery procedure. This - includes an inquiry and an optional remote device name - resolving. The remote names can be retrieved with - GetRemoteName and in the case a name doesn't exist it - will be queued for later resolving and GetRemoteName - will return an error. - - While this procedure is running every found device - will be returned with RemoteDeviceFound. While - DiscoverDevices() automatically resolves unknown - devices names and sends RemoteNameUpdated in this - case it will only happen if GetRemoteName has been - called and no previously stored name is available. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.InProgress - org.bluez.Error.NoSuchAdapter - - void CancelDiscovery() - - This method will cancel any previous DiscoverDevices - or DiscoverDevicesWithoutNameResolving actions. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.NotAuthorized - org.bluez.Error.NoSuchAdapter - - void StartPeriodicDiscovery() - - This method starts a periodic discovery. - - Possible errors: org.bluez.error.NotReady - org.bluez.Error.Failed - org.bluez.Error.InProgress - org.bluez.Error.NoSuchAdapter - - void StopPeriodicDiscovery() - - This method stops a periodic discovery. If the - adapter is not in the periodic inquiry mode an - error(not authorized) is returned. Everyone can - request exit from this mode, it is not restricted - to start requestor. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.NotAuthorized - org.bluez.Error.NoSuchAdapter - - boolean IsPeriodicDiscovery() - - Returns true if the periodic inquiry is active and - false if it is switched off. - - Possible errors: none - - void SetPeriodicDiscoveryNameResolving(boolean resolve_names) - - Enable or disable automatic remote name resolving for - periodic discovery. - - Possible errors: org.bluez.Error.InvalidArguments - - boolean GetPeriodicDiscoveryNameResolving() - - Check if automatic remote name resolving is enabled or not - for periodic discovery. - - Possible error: org.bluez.Error.InvalidArguments - - array{uint32} GetRemoteServiceHandles(string address, string match) - - This method will request the SDP database of a remote - device and retrieve the service record handles. To - request service browse send an empty match string. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.InProgress - org.bluez.Error.ConnectionAttemptFailed - org.bluez.Error.Failed - - array{byte} GetRemoteServiceRecord(string address, uint32 handle) - - This method will request the SDP database of a remote - device for a service record and return the binary - stream of it. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.InProgress - org.bluez.Error.Failed - - string GetRemoteServiceRecordAsXML(string address, uint32 handle) - - This method will request the SDP database of a remote - device for a service record and return its data in XML - format. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.InProgress - org.bluez.Error.Failed - - array{string} GetRemoteServiceIdentifiers(string address) - - This method will request the SDP database of a remote - device for all supported services. The identifiers are - returned in UUID 128 string format. - - Possible errors: org.bluez.Error.InProgress - org.bluez.Error.Failed - - void FinishRemoteServiceTransaction(string address) - - This method will finish all SDP transaction for that - given address. In general this call is not needed, - but in cases of resources restricted devices it - is useful to call this to finish the SDP transaction - before proceeded with profile specific connections. - - array{string} ListRemoteDevices() - - List addresses of all known remote devices (bonded, - trusted and used). - - Possible errors: none - - array{string} ListRecentRemoteDevices(string date) - - List addresses of all bonded, trusted, seen or used remote - devices since date. Bonded and trusted devices are always - included(the date informed is not applied). - - date format is "YYYY-MM-DD HH:MM:SS GMT" - - Possible errors: none - -Signals void ModeChanged(string mode) - - If the current mode is changed with SetMode this signal - will inform about the new mode. - - This signal can also be triggered by low-level HCI - commands. - - void DiscoverableTimeoutChanged(uint32 timeout) - - After changing the discoverable timeout this signal - provide the new timeout value. - - void MinorClassChanged(string minor) - - After changing the minor class with SetMinorClass this - signal will provide the new class value. - - void NameChanged(string name) - - After changing the local adapter name with SetName this - signal will provide the new name. - - This signal can also be triggered by low-level HCI - commands. - - void DiscoveryStarted() - - This signal indicates that a device discovery - procedure has been started. - - void DiscoveryCompleted() - - This signal indicates that a device discovery - procedure has been completed. - - void PeriodicDiscoveryStarted() - - This signal indicates that a periodic discovery - procedure has been started. - - void PeriodicDiscoveryStopped() - - This signal indicates that a periodic discovery - procedure has been completed. - - void RemoteDeviceFound(string address, uint32 class, int16 rssi) - - This signal will be send every time an inquiry result - has been found by the service daemon. In general they - only appear during a device discovery. - - void RemoteDeviceDisappeared(string address) - - This signal will be send when an inquiry session for - a periodic discovery finishes and previously found - devices are no longer in range or visible. - - void RemoteClassUpdated(string address, uint32 class) - - This signal will be send every time the remote class - of device has been changed. This happens for example - after a remote connection attempt. This signal will - not be send if the class of device hasn't changed - compared to cached one. - - void RemoteNameUpdated(string address, string name) - - This signal will be send every time the service daemon - detect a new name for a remote device. - - void RemoteIdentifiersUpdated(string address, array{string identifiers}) - - This signal is sent to indicate the provided services of a given - remote device. It will be sent after GetRemoteServiceIdentifiers - calls. This signal has at least one identifier and it does not - contain repeated entries. - - void RemoteNameFailed(string address) - - This signal will be sent every time the service daemon - tries to resolve a remote and this fails. - - void RemoteNameRequested(string address) - - This signal will be sent every time the service daemon - tries to resolve a remote name during discovery. - - void RemoteAliasChanged(string address, string alias) - - After changing an alias with SetRemoteAlias this - signal will indicate the new alias. - - void RemoteAliasCleared(string address) - - After removing an alias with ClearRemoteAlias this - signal will indicate that the alias is no longer - valid. - - void RemoteDeviceConnected(string address) - - This signal will be send if a low level connection - between two devices has been created. - - void RemoteDeviceDisconnectRequested(string address) - - This signal will be sent when a low level - disconnection to a remote device has been requested. - The actual disconnection will happen 2 seconds later. - - void RemoteDeviceDisconnected(string address) - - This signal will be send if a low level connection - between two devices has been terminated. - - void BondingCreated(string address) - - Signals that a successful bonding has been created. - - void BondingRemoved(string address) - - Signals that a bonding was removed. - - void TrustAdded(string address) - - Sent when SetTrusted() is called. - - void TrustRemoved(string address) - - Sent when RemoveTrust() is called. - -Service hierarchy -================= - -Service org.bluez -Interface org.bluez.Service -Object path path from org.bluez.Manager.ListServices() - -Methods dict GetInfo() - - Returns the service properties. - - string GetIdentifier() - - This method returns the service identifier. - - string GetName() - - This method returns the service name. - - string GetDescription() - - This method returns the service description. - - string GetBusName() [experimental] - - Returns the unique bus name of the service if it has - been started. - - Possible errors: org.bluez.Error.NotAvailable - - void Start() - - This method tells the system to start the - service. - - void Stop() - - This method tells the system to stop the - service. - - boolean IsRunning() - - Returns true if the service has been started and - is currently active. Otherwise, it returns false. - - boolean IsExternal() - - Returns true if the service was registered using the - Database.RegisterService method instead of a .service - file. The Start and Stop methods are not applicable to - external services and will return an error. - - array{string} ListTrusts() [experimental] - - Returns a list of remote devices that are trusted - for the service. - - void SetTrusted(string address) [experimental] - - Marks the user as trusted. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.AlreadyExists - - boolean IsTrusted(string address) [experimental] - - Returns true if the user is trusted or false otherwise. - The address parameter must match one of the - current users of the service. - - Possible errors: org.bluez.Error.InvalidArguments - - void RemoveTrust(string address) [experimental] - - Marks the user as not trusted. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.DoesNotExist - -Signals void Started() - - The object path of this signal contains which service - was started. - - void Stopped() - - The object path of this signal contains which service - was stopped. - - void TrustAdded(string address) - - Sent when SetTrusted() is called. - - void TrustRemoved(string address) - - Sent when RemoveTrust() is called. - - -Security hierarchy -================== - -Service org.bluez -Interface org.bluez.Security -Object path /org/bluez or /org/bluez/{hci0,hci1,...} - -Methods void RegisterDefaultPasskeyAgent(string path) - - This registers the default passkey agent. It can - register a passkey for all adapters or for a - specific device depending on with object path has - been used. - - The path parameter defines the object path of the - passkey agent that will be called when a passkey - needs to be entered. - - If an application disconnects from the bus all - registered passkey agent will be removed. - - Possible errors: org.bluez.Error.AlreadyExists - - void UnregisterDefaultPasskeyAgent(string path) - - This unregisters a default passkey agent that has - been previously registered. The object path and - the path parameter must match the same values that - has been used on registration. - - Possible errors: org.bluez.Error.DoesNotExist - - void RegisterPasskeyAgent(string path, string address) - - This registers the application passkey agent that - will be used for any application specific passkey - tasks. - - The path parameter defines the object path of the - passkey agent that will be called when a passkey - needs to be entered. The address defines the remote - device that it will answer passkey requests for. - - If an application disconnects from the bus all - registered passkey agent will be removed. It will - also be unregistered after a timeout and if the - pairing succeeds or fails. The application has to - take care of that it reregisters the passkey agent. - - Possible errors: org.bluez.Error.AlreadyExists - - void UnregisterPasskeyAgent(string path, string address) - - This unregisters a passkey agent that has been - previously registered. The object path and the path - and address parameter must match the same values - that has been used on registration. - - The method is actually only needed if an application - wants to removed the passkey agent and don't wanna - wait for the automatic timeout. - - Possible errors: org.bluez.Error.DoesNotExist - - void RegisterDefaultAuthorizationAgent(string path) - - This registers the default authorization agent. It can - register an authorization agent for all adapters or - for a specific one depending on which object path has - been used. - - The path parameter defines the object path of the - authorization agent that will be called when an - authorization request needs to be answered. - - void UnregisterDefaultAuthorizationAgent(string path) - - This unregisters a default authorization agent that has - been previously registered. The path parameter must - match the same value that has been used on - registration. - - -PasskeyAgent hierarchy -====================== - -Service unique name -Interface org.bluez.PasskeyAgent -Object path freely definable - -Methods string Request(string path, string address) - - This method gets called when the service daemon - needs to get the passkey for an authentication. The - return value is actual passkey. It is a 1 to 16 - byte PIN code in UTF-8 format. - - The first argument contains the path of the local - adapter and the second one the remote address. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void Cancel(string path, string address) - - This method gets called to indicate that the - authentication request failed before a reply was - returned by the Request method. - - void Release() - - This method gets called when the service daemon - unregisters a passkey agent. An agent can use - it to do cleanup tasks. There is no need to - unregister the agent, because when this method - gets called it has already been unregistered. - - -AuthorizationAgent hierarchy (experimental) -=========================================== - -Service unique name -Interface org.bluez.AuthorizationAgent -Object path freely definable - -Methods void Authorize(string adapter_path, string address, - string service_path, string uuid) - - This method gets called when the service daemon wants - to get an authorization for accessing a service. This - method should return if the remote user is granted - access or an error otherwise. - - The adapter_path parameter is the object path of the - local adapter. The address, service_path and action - parameters correspond to the remote device address, - the object path of the service and the uuid of the - profile. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void Cancel(string adapter_path, string address, - string service_path, string uuid) - - This method cancels a previous authorization request. - The adapter_path, address, service_path and uuid - parameters must match the same values that have been - used when the Authorize() method was called. - - void Release() - - This method gets called when the service daemon - unregisters an authorization agent. An agent can - use it to do cleanup tasks. There is no need to - unregister the agent, because when this method - gets called it has already been unregistered. -- cgit