| 818be1f9 |
obexd: Add copy and move support for filesystem plugin
Move is implemented using rename and copy uses sendfile, both part of
POSIX. |
Luiz Augusto von Dentz |
13 years ago |
1 file, +96, -0 |
| ff3324bb |
obexd: Improve usage documentation for some options |
Luiz Augusto von Dentz |
13 years ago |
1 file, +6, -2 |
| c48a5ca6 |
obexd: Simplify options for including/excluding plugins
Plugins options are now handle with --plugin(-p)/--noplugin(-P) which
takes a string set containing the plugin names separated by ',', ':' or
' ' (similar to bluetoothd, ofono and connman). |
Luiz Augusto von Dentz |
13 years ago |
3 files, +68, -53 |
| 69caa028 |
obexd: Fix fetching call history in parts
This fixes doing a phone book pull on call history phone book, from
specified offset and/or with specified limit. |
Slawomir Bochenski |
13 years ago |
1 file, +1, -2 |
| 92769fbe |
obexd: Fix minor coding style issues in phonebook-tracker.c |
Johan Hedberg |
13 years ago |
1 file, +4, -4 |
| db393a5b |
obexd: Change append to prepend in pull_newmissedcalls
The ordering is not important and prepend is more efficient than append. |
Dmitriy Paliy |
13 years ago |
1 file, +1, -1 |
| 67f5fbcf |
obexd: Fix contacts data cleanup for new missed calls
It is possible that phonebook_pull_read is invoked several times
submitting multiple pull requests without closing PBAP object. E.g.,
when history is large enough and maxlistcount>VCARDS_PART_COUNT.
The result is possibility of different data structures (GString and
contact_data) to be mixed in a single GSlist that may lead to undefined
behaviour. |
Dmitriy Paliy |
13 years ago |
1 file, +32, -25 |
| 3954d81a |
obexd: Fix newmissedcalls handling for large responses
Previously pull_newmissedcalls was called for every part when
processing large response (more that one part of results) and
number of 'newmissedcalls' was wrong in that scenario.
Now newmissedcalls will be counted only once (during generating
first part of mch results). |
Radoslaw Jablonski |
13 years ago |
1 file, +5, -1 |
| ba56a43c |
obexd: Rewrite of PBAP call history queries
Graph patterns used in queries for PullPhonebook and PullvCardListing in
case of call history are now rewritten to share the same code and be
simpler - previously they were doing almost the same, but exact code
differed. So in this patch repeating parts of queries were reduced to one
place for easy management.
Also new queries fix the behaviour in situation when there is more than
one contact matching a phone number from call history entry - in this
case no contact data is returned instead of returning random contact as
it was the case before. |
Slawomir Bochenski |
13 years ago |
1 file, +60, -544 |
| 6e7ac360 |
obexd: Fix GLib assertion in NEW_MISSED_CALLS_LIST reply handling
This fixes error "GLIB CRITICAL ** Tracker -
tracker_db_cursor_get_value_type: assertion `column < n_columns' failed"
occurring when pulling phone book or doing listing for missed calls. The
number of expected columns in reply to NEW_MISSED_CALLS_LIST query was
incorrectly set to PULL_QUERY_COL_AMOUNT (23) but the query actually
returns 3 columns. |
Slawomir Bochenski |
13 years ago |
1 file, +2, -1 |
| f7e9ee6c |
obexd: Adjust SPARQL queries to the changes in call history
Currently nmo:Call resources put to the Tracker by commhistory do not use
the same nco:PhoneNumber as the one bound to the nco:PersonContact. This
patch introduces matching contacts by actual phone number, thus returning
proper contact data regardless of this commhistory change. |
Slawomir Bochenski |
13 years ago |
1 file, +53, -21 |
| 50071dde |
obexd: add support for reusing session for the same client
If the a client owning a session attempt to send a new file just reuse
the same session instead of trying to connect again. |
Luiz Augusto von Dentz |
13 years ago |
2 files, +72, -3 |
| 4780531b |
obexd: fix not canceling connection request if client exit bus
There is no point on proceeding with sdp/rfcomm connections if client
exit the bus. |
Luiz Augusto von Dentz |
13 years ago |
3 files, +95, -58 |
| bca372b4 |
obexd: Fix endian conversion for appparams in pbap client |
Bartosz Szatkowski |
13 years ago |
1 file, +1, -1 |
| b00c6a21 |
obexd: Add partial mas.c - messages-*.c API.
This adds stubs of functions needed for message browsing and retrieval. |
Slawomir Bochenski |
13 years ago |
2 files, +314, -0 |
| 553f3949 |
obexd: remove unused variable |
Luiz Augusto von Dentz |
13 years ago |
1 file, +0, -3 |
| f9c43aea |
obexd: Add MIME driver to MAP plugin
As procedures when communicating with message backend will be the same
regardless of the actual type in request, there is only one MIME driver,
thus .mimetype is left NULL. |
Slawomir Bochenski |
13 years ago |
1 file, +56, -0 |
| f3d036ac |
obexd: Add actual service for Message Access Profile
This adds basic service functionality in MAP code, accompanied by proper
record for SDP.
RFCOMM channel of choice is 16 which is in accordance with
doc/assigned-numbers.txt. |
Slawomir Bochenski |
13 years ago |
1 file, +189, -0 |
| 22d55d7c |
obexd: Add skeleton for Message Access Profile plugin
This patch introduces skeleton of a plugin supporting server role side
of Bluetooth SIG profile defining procedures for exchanging message
objects.
The plugin can be compiled with different backends used for accessing
message repository. This can be selected during configure:
./configure --with-messages=backend_name
When no backend is specified, the default dummy is chosen.
There is also a new command line option to obexd needed to start Message
Access service:
obexd [...] --mas |
Slawomir Bochenski |
13 years ago |
5 files, +102, -2 |
| 3c8c625f |
obexd: Fix handling owner data in phonebook pull
This patch fix handling "empty" phone owner data in phonebook pull via
PBAP. Previously owner vCard was always present as a first on list in
phonebook pull results even if it was empty. This patch fix this and
owner vCard will not be present in pulled phonebook. |
Lukasz Pawlik |
13 years ago |
1 file, +1, -0 |
| eb108c61 |
obexd: Fix pulling phonebook entries without last name
This patch fix problem with pulling phonebook entries using PBAP without
last name filled. Previously last name was used to sort phonebook data
now only tracker id is used. |
Lukasz Pawlik |
13 years ago |
1 file, +2, -3 |
| 11970bc3 |
obexd: Adjust prefix of contact id for pulling single vCard
Pulling single vCard is related to recognizing it by prefix of contact
id. Previously it was "contact: " and has been changed to "urn:uuid:".
This patch fixes it and allows to pull valid single vCard. |
Rafal Michalski |
13 years ago |
1 file, +1, -1 |
| 4132366b |
obexd: Move PC Suite drivers to its own plugin
This makes it easier to enable/disable this functionality as a whole. |
Luiz Augusto von Dentz |
13 years ago |
4 files, +554, -465 |
| ea8dfdc5 |
obexd: Add .flush callback to backup plugin |
Luiz Augusto von Dentz |
13 years ago |
1 file, +8, -0 |
| 9dadaaf8 |
obexd: Add flush callback to mimetype driver
This add the possibility to a driver to flush its data when final packet
is received which is specially usefull for PUT to prevent auto response
for objects with no body/body empty/size 0.
Note that it should not block like fsync, instead it is assumed to always
be asyncronous so request is suspended when .flush returns > 0, the
driver should then use obex_object_set_io_flags to indicate that it has
completed the operation. |
Luiz Augusto von Dentz |
13 years ago |
2 files, +25, -2 |
| 8e773042 |
obexd: Add more debug logs for ftp driver |
Luiz Augusto von Dentz |
13 years ago |
1 file, +20, -0 |
| 06e746ca |
obexd: Add support for pcsuite lock file
This should make others applications able to detect when pcsuite is
connected. |
Luiz Augusto von Dentz |
13 years ago |
1 file, +134, -6 |
| 29c35f5b |
obexd: Remove grouping by phone number in call-history results
Now call history entries are distinguished also by call date (previously
only contact-id was compared, so calls with different date were grouped
into one entry in pull results). This change is needed for headsets
with PBAP support that are confused when number of "new missed calls" is
different than number of returned entries by pull call-history response
(by example Nokia BH-903 hangs when this happens). |
Radoslaw Jablonski |
13 years ago |
1 file, +27, -3 |
| 44d3b4bb |
obexd: Adjust prefix of contact id for getting pb size
Getting phonebook size is related to recognizing contacts by their id
prefixes. Previously it was "contact: " and has been changed to
"urn:uuid:". This patch fixes it and allows to get valid phonebook size. |
Rafal Michalski |
13 years ago |
1 file, +1, -1 |
| 8ff1070d |
obexd: Add workaround for devices which use absolute path in pbap Name header
The pbap spec says:
"5.1.2 Name
The Name header shall contain the absolute path in the virtual folders
architecture of the PSE, appended with the name of the file representation of
one of the Phone Book Objects.
Example: telecom/pb.vcf or SIM1/telecom/pb.vcf for the main phone book
objects."
The example actually uses relative paths but text state absolute paths although
the OBEX specification says that the Name header is always relative to the
current path. |
Luiz Augusto von Dentz |
13 years ago |
2 files, +18, -14 |
| b1c5dee6 |
obexd: Fix not responding to pbap GET when data is already cached
When data is cached but no stream/body is set the driver .write is never
called so no response is generated. |
Luiz Augusto von Dentz |
13 years ago |
1 file, +15, -20 |
| c3c493f4 |
obexd: Add increasing query OFFSET in phonebook_pull_read
It is needed to properly move starting index in tracker
for next invocations of phonebook_pull_read - without that
pull result for bigger queries (over one part of data) will
be wrong (it will include duplicate vcard entries). |
Radoslaw Jablonski |
13 years ago |
1 file, +14, -0 |
| 7169587d |
obexd: Introduction of phonebook_pull_read
Previosly reading from backend was initialized in phonebook_pull.
Now phonebook_pull should be used only for preparing request data
and phonebook_pull_read for 'real' reading vcards data from back-end.
The back-end can return data in one response or it can return data in
many parts. After obtaining one part, PBAP core need to call
phonebook_pull_read with the same request again to get more results.
Using that, PBAP core has control of its the buffer size - it can
ask for new parts of data when buffer is empty or when its size
will be lower than some level. |
Radoslaw Jablonski |
13 years ago |
6 files, +116, -38 |
| 8042fbf6 |
obexd: Add support for notifying PBAP about more parts from backend
Added new parameter to phonebook_cb - lastpart variable.
If backend want to notify that more parts of current
request will be delivered later, it should use lastpart=FALSE.
Because of that, PBAP core will 'know' that should not finalize
request immediately after receiving data and wait for more
parts to come.
If result is returned in one part and no more responses part
will be sent later, then backend should use lastparam=TRUE.
Previously results of request from backend was always returned
in one part to PBAP core. |
Radoslaw Jablonski |
13 years ago |
6 files, +24, -17 |
| e669d836 |
obexd: Support for stop fetching data when maxlistcount is achieved
When desired number of results has been already processed,
then sending already collected data and stopping fetching
more results from tracker (previously in this scenario
unnecessarily processing data continued untill end of results
in db) |
Radoslaw Jablonski |
13 years ago |
1 file, +9, -3 |
| 3f347cf9 |
obexd: Add return value to reply_list_foreach_t in phonebook-tracker
This changes are needed for notyfying that fetching data
from tracker should be stopped.
This will be usable in scenarios like:
*some error occurred during processing data
*maximum number of results already processed (due to pbap
maxlistcount parameter)
*suspending processing data if pbap buffer is too large |
Radoslaw Jablonski |
13 years ago |
1 file, +36, -22 |
| 438be139 |
obexd: Add return value to query tracker
Previously errors were returned via parameter err - it was needed
because some time ago query_tracker was returning newly allocated
structure. Now returning error through return value has more
sense. |
Radoslaw Jablonski |
13 years ago |
1 file, +18, -19 |
| d12ed5f9 |
obexd: Use libtracker-sparql in PBAP
Now direct tracker connection for transporting retrieved
parts of data is used, instead of D-Bus. This should result better
performance for PBAP requests.
Each part of results is now fetched from tracker asynchronously
and getting more results can be stopped in any moment -
GCancellable stored in phonebook_data is used for that purpose.
If processing of data has finished (or it was cancelled) then cleanup
of pending_reply is done in last invocation of
async_query_cursor_next_cb. |
Radoslaw Jablonski |
13 years ago |
1 file, +135, -127 |
| c9621b01 |
obexd: Move freeing contacts data to phonebook_req_finalize
Previously data used for generating vcards was freed only in
gen_vcards body. This may result a memory leak, if fetching data
from tracker was cancelled in the middle of process and gen_vcards
wasn't called. Phonebook_req_finalize is better place for this
kind of cleanup. |
Radoslaw Jablonski |
13 years ago |
1 file, +10, -4 |
| 9ee36f21 |
obexd: Fix using g_source_remove intead of g_dbus_remove_watch
Watches created with g_dbus_add_signal_watch cannot be removed with
g_source_remove. |
Luiz Augusto von Dentz |
13 years ago |
1 file, +1, -1 |
| 84799cdf |
obexd: Support for multipart response sending from phonebook-tracker
Now data are being sent with smaller parts - vcard amount for
one part is defined in VCARDS_PART_COUNT. When one part of
data is sent, then data download from tracker is stopped.
It will be resumed when phonebook_pull_read will be called again.
This is needed to start sending data from PBAP quicker - now
transfer can be started when first part of data is processed.
Previously transfer was started when all results for response
were downloaded, and (for large responses) some PBAP clients
were disconnecting due to timeout. |
Radoslaw Jablonski |
13 years ago |
1 file, +63, -18 |
| 8f2b4ccf |
obexd: Remove unnecessary checking for num_fields in pull_contact
This check is no longer needed - it was used to ensure that no
error occured in querying tracker. This is redundant because
checking for that case is located in the beginning of pull_contacts
function. |
Radoslaw Jablonski |
13 years ago |
1 file, +1, -3 |
| 6721c4ff |
obexd: Fix not fetching current usb mode when obexd starts
Cable may be already plugged when obexd starts |
Luiz Augusto von Dentz |
13 years ago |
1 file, +59, -6 |
| 138387ed |
obexd: Fix fetching non-empty single owner vCard
Previously only empty owner vCard fetching was handled.
This patch makes that fetching empty (by default) and non-empty
(filled somehow by the user) single owner vCard is handled. |
Rafal Michalski |
13 years ago |
1 file, +2, -1 |
| e40b17d3 |
obexd: Fix plugin close & disconnect functions call order
Normally during an OBEX session, calling sequence
service->connect - [driver->open - driver->close]* - service->disconnect
is kept. The only exception to this when the connection is reset
(when no ABORT was sent) during transfer. Then the sequence is:
service->connect - [driver->open - driver->close]* - driver->open -
service->disconnect - driver->close
This patch fixes it, so memory managament of session/transfer data in
service plugin can be easier. |
Slawomir Bochenski |
13 years ago |
1 file, +2, -2 |
| 495db2b8 |
obexd: Add support for multiple URL in PBAP
Application which stores contact data changed way that URL data is
stored. Now it is possible for contact to have more than one URL defined
with different types. Place where these URL are stored has also changed
in db. This fix changes handling for URL in PBAP to make URLs visible in
pull results again. |
Radoslaw Jablonski |
13 years ago |
3 files, +132, -13 |
| 8c10c12f |
obexd: Remove redundant functions for adding addresses and emails
Functions "add_aff_email" and "add_aff_address" were doing basically the
same thing. Now for splitting fields and adding them to contact
structure "add_aff_field" is used. |
Radoslaw Jablonski |
13 years ago |
1 file, +8, -34 |
| 427d45b2 |
obexd: Refactor vCard content structures
Structures for holding data about phone numbers, emails and addresses
were practically identical and there was no sense to handle them
differently. Now for saving informations about field content and type
struct "phonebook_field" is used. |
Radoslaw Jablonski |
13 years ago |
3 files, +52, -92 |
| 091560b7 |
obexd: Fix crash after fetching single owner vCard
This patch makes that crash is avoided in case of fetching single owner
vCard (0.vcf) from phonebook. Crash was caused because previous
modifications of other queries wasn't included in query called
CONTACTS_OTHER_QUERY_FROM_URI. |
Rafal Michalski |
13 years ago |
1 file, +3, -3 |
| afe2e6a0 |
obexd: Fix history queries for contacts outside pb
Phone number for contacts outside phonebook need to be fetched
differently - application which saves call data saves this number
directly in "nco:Contact" now. Without this fix, calls to/from numbers
outside phonebook won't be listed in call history results |
Radoslaw Jablonski |
13 years ago |
1 file, +24, -8 |