org.bluez...ookAccess(5)
π NAME π
Hey bestie! Welcome to the org.bluez...ookAccess(5) manual page β it lives in Linux System Administration and it's the documentation for the BlueZ D-Bus OBEX PhonebookAccess API. The Name section spells the whole thing out as org.bluez.obex.PhonebookAccess, and we're about to get into every single phonebook-over-Bluetooth detail. π¦
π¦ INTERFACE π¦
- Service β
org.bluez.obex - Interface β
org.bluez.obex.PhonebookAccess1 - Object path β
[Session object path]
β¨ METHODS β¨
Okay, method time. These are the D-Bus methods on org.bluez.obex.PhonebookAccess1, and they are lowkey giving βI have your contacts and I know how to use themβ energy. π
π«Ά void Select(string location, string phonebook)
Selects the phonebook object for the other operations. Bestie, this is the prerequisite β call it before all the other operations.
β οΈ Do this one first. It's literally the setup step for everything else. π
- Possible location values:
"int","internal"(default) β Store in the Internal memory."sim{#}"β Store in the sim number.
- Possible phonebook values:
"pb"β Store as contact."ich"β Store as incoming call."och"β Store as outgoing call."mch"β Store as missing call."cch"β Store as a combination of incoming, outgoing and missing call."spd"β Store as speed dials entry ( only for"internal")."fav"β Store as favorites entry ( only for"internal").
- Possible errors:
org.bluez.obex.Error.InvalidArgumentsorg.bluez.obex.Error.Failed
π object, dict PullAll(string targetfile, dict filters)
Returns the entire phonebook object from the PSE server in plain string with vcard format, and stores it in a local file.
If an empty target file is given, a name will be automatically generated for the temporary file. Cute, right? The returned path represents the newly created transfer, which should be used to find out if the content has been successfully transferred or if the operation fails.
The properties of this transfer are also returned along with the object path, to avoid a call to GetProperties. See org.bluez.obex.Transfer(5) for the possible list of properties. π
- Possible filters:
string Formatβ Items vcard format.- Possible values:
"vcard21"(default)"vcard30"
- Possible values:
string Orderβ Items order.- Possible values:
"""indexed""alphanumeric""phonetic"
- Possible values:
uint16 Offset(default 0) β Offset of the first item.uint16 MaxCount(default 65535) β Maximum number of items.array{string} Fields(default all fields) β Item vcard fields. SeeListFilterFields()for possible values.array{string} FilterAllβ Filter items by fields using AND logic, cannot be used together withFilterAny. SeeListFilterFields()for possible values.array{string} FilterAnyβ Filter items by fields using OR logic, cannot be used together withFilterAll. SeeListFilterFields()for possible values.bool ResetNewMissedCallsβ Reset new the missed calls items, shall only be used for foldersmchandcch.
- Possible errors:
org.bluez.obex.Error.InvalidArgumentsorg.bluez.obex.Forbidden
πΈ array{string vcard, string name} List(dict filters)
Returns array of vcard-listing data where every entry consists of a pair of strings containing the vcard handle and the contact name. It's giving little contact-card lineup energy. π«Ά
For example, an entry pairs "1.vcf" with "John".
- Possible filters:
string Orderβ Contact order.- Possible values:
"""indexed""alphanumeric""phonetic"
- Possible values:
uint16 Offsetβ Start offset.uint16 MaxCountβ Maximum number of contacts.
- Possible errors:
org.bluez.obex.Error.InvalidArgumentsorg.bluez.obex.Forbidden
π§ object, dict Pull(string vcard, string targetfile, dict filters)
Retrieves the vcard in the current phonebook object and stores it in a local file.
If an empty target file is given, a name will be automatically generated for the temporary file. The returned path represents the newly created transfer, which should be used to find out if the content has been successfully transferred or if the operation fails.
The properties of this transfer are also returned along with the object path, to avoid a call to GetProperties. See org.bluez.obex.Transfer(5) for the possible list of properties. β¨
- Possible filters:
string Formatβ Contact data format.- Possible values:
"""vcard21""vcard30"
- Possible values:
array{string} Fieldsβ SeeListFilterFields()for possible values.
- Possible errors:
org.bluez.obex.Error.InvalidArgumentsorg.bluez.obex.Error.Forbiddenorg.bluez.obex.Error.Failed
π₯ array{string vcard, string name} Search(string field, string value, dict filters)
Searches for entries matching the given condition and returns an array of vcard-listing data where every entry consists of a pair of strings containing the vcard handle and the contact name. Main character search behavior, honestly. π
- Possible field values:
"name"(default) β Search by name."number"β Search by number."sound"β Search by sound.
valueβ the string value to search for.- Possible filters:
string Orderβ Contact order.- Possible values:
"""indexed""alphanumeric""phonetic"
- Possible values:
uint16 Offsetβ Start offset.uint16 MaxCountβ Maximum number of contacts.
- Possible errors:
org.bluez.obex.Error.InvalidArgumentsorg.bluez.obex.Error.Forbiddenorg.bluez.obex.Error.Failed
π uint16 GetSize()
Returns the number of entries in the selected phonebook object that are actually used (i.e. indexes that correspond to non-NULL entries). No fake entries, no ghost contacts β just the real ones. π
- Possible errors:
org.bluez.obex.Error.Forbiddenorg.bluez.obex.Error.Failed
π void UpdateVersion()
Attempts to update PrimaryCounter and SecondaryCounter. Get those counters refreshed, bestie. β
- Possible errors:
org.bluez.obex.Error.NotSupportedorg.bluez.obex.Error.Forbiddenorg.bluez.obex.Error.Failed
π array{string} ListFilterFields()
Returns all Available fields that can be used in Fields filter. This is the field-name menu, and it is long. Obsessed. π
- Possible return:
"VERSION""FN""N""PHOTO""BDAY""ADR""LABEL""TEL""EMAIL""MAILER""TZ""GEO""TITLE""ROLE""LOGO""AGENT""ORG""NOTE""REV""SOUND""URL""UID""KEY""NICKNAME""CATEGORIES""PROID""CLASS""SORT-STRING""X-IRMC-CALL-DATETIME""X-BT-SPEEDDIALKEY""X-BT-UCI""X-BT-UID""BIT-{#}"
- Possible errors: None
π PROPERTIES π
π string Folder [readonly]
Current folder.
π¦ string DatabaseIdentifier [readonly, optional]
128 bits persistent database identifier.
- Possible values:
- 32-character hexadecimal such as
A1A2A3A4B1B2C1C2D1D2E1E2E3E4E5E6
- 32-character hexadecimal such as
π string PrimaryCounter [readonly, optional]
128 bits primary version counter.
- Possible values:
- 32-character hexadecimal such as
A1A2A3A4B1B2C1C2D1D2E1E2E3E4E5E6
- 32-character hexadecimal such as
π« string SecondaryCounter [readonly, optional]
128 bits secondary version counter.
- Possible values:
- 32-character hexadecimal such as
A1A2A3A4B1B2C1C2D1D2E1E2E3E4E5E6
- 32-character hexadecimal such as
π§Έ bool FixedImageSize [readonly, optional]
Indicate support for fixed image size.
- Possible values:
- True if image is JPEG 300x300 pixels otherwise False.
BlueZ, October 2023 β that's the source/version and date at the bottom, bestie. The footer also says org.bluez...ookAccess(5). Now go transfer those phonebooks with main character energy π
β¨
π¦ where this page comes from
- arch rolling: bluez-obex 5.87-2 Β· GPL-2.0-only
- nixpkgs unstable: bluez 5.87
- ubuntu stonking: bluez 5.87-4 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms