Zeeshan Ali (Khattak) [Mon, 16 Feb 2009 17:33:11 +0000 (17:33 +0000)]
Basic skeleton for "ContainerUpdateIDs" state-variable.
svn path=/trunk/; revision=609
Zeeshan Ali (Khattak) [Mon, 16 Feb 2009 17:33:07 +0000 (17:33 +0000)]
ContentDir keeps a system_update_id.
This id is no longer the same as update_id of the root_container.
svn path=/trunk/; revision=608
Zeeshan Ali (Khattak) [Mon, 16 Feb 2009 17:33:03 +0000 (17:33 +0000)]
Provide a mechanism for container to signal updates.
svn path=/trunk/; revision=607
Zeeshan Ali (Khattak) [Mon, 16 Feb 2009 17:32:59 +0000 (17:32 +0000)]
All containers gets an update_id of 0 at creation.
svn path=/trunk/; revision=606
Zeeshan Ali (Khattak) [Mon, 16 Feb 2009 17:32:54 +0000 (17:32 +0000)]
Each media object gets a weak ref to it's parent container.
svn path=/trunk/; revision=605
Zeeshan Ali (Khattak) [Sun, 15 Feb 2009 21:58:06 +0000 (21:58 +0000)]
Refactor TrackerCategory constructor.
svn path=/trunk/; revision=604
Zeeshan Ali (Khattak) [Sun, 15 Feb 2009 21:58:00 +0000 (21:58 +0000)]
Rename (category) container to category.
svn path=/trunk/; revision=603
Zeeshan Ali (Khattak) [Sun, 15 Feb 2009 19:59:32 +0000 (19:59 +0000)]
Don't assume a requested count if not provided.
svn path=/trunk/; revision=602
Zeeshan Ali (Khattak) [Sun, 15 Feb 2009 19:59:27 +0000 (19:59 +0000)]
Bump libgee required version to 0.1.5.
svn path=/trunk/; revision=601
Zeeshan Ali (Khattak) [Sun, 15 Feb 2009 00:01:13 +0000 (00:01 +0000)]
Refactor DVBRootContainer constructor.
Somehow this fixes the crash in case of error.
svn path=/trunk/; revision=600
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 23:06:39 +0000 (23:06 +0000)]
Return in case of error.
Should fix the segfault in case of errors on async dbus calls.
svn path=/trunk/; revision=599
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:33:51 +0000 (15:33 +0000)]
return a empty list rather than null.
Fixes a crash in case of items providing HTTP URIs.
svn path=/trunk/; revision=598
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:33:26 +0000 (15:33 +0000)]
Catch the error thrown by Search.Query.
svn path=/trunk/; revision=597
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:33:10 +0000 (15:33 +0000)]
Add complete_in_idle to TrackerSearchResult.
svn path=/trunk/; revision=596
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:33:01 +0000 (15:33 +0000)]
Put the result object to list as soon as it is created.
svn path=/trunk/; revision=595
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:32:44 +0000 (15:32 +0000)]
Put TrackerGetMetadataResult in separate file.
svn path=/trunk/; revision=594
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:32:20 +0000 (15:32 +0000)]
Put Browse into Rygel namespace.
svn path=/trunk/; revision=593
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:31:58 +0000 (15:31 +0000)]
Call Metadata.Get asynchronously.
svn path=/trunk/; revision=592
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:31:37 +0000 (15:31 +0000)]
Make get_item_path public.
svn path=/trunk/; revision=591
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:31:21 +0000 (15:31 +0000)]
results list should be able to container any AsyncResult.
svn path=/trunk/; revision=590
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:31:05 +0000 (15:31 +0000)]
Rename fetch_item_by_path to create_item.
svn path=/trunk/; revision=589
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:30:50 +0000 (15:30 +0000)]
Put TrackerSearchResult in separate file.
svn path=/trunk/; revision=588
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:30:29 +0000 (15:30 +0000)]
Rename search_result_ready method to ready.
svn path=/trunk/; revision=587
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:30:14 +0000 (15:30 +0000)]
No need to delay the completion of search result.
svn path=/trunk/; revision=586
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:29:59 +0000 (15:29 +0000)]
TrackerSearchResult doesn't inherit from SimpleAsyncResult.
This is a temporary hack (hopefully) till bug#567319 is fixed.
svn path=/trunk/; revision=585
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:28:05 +0000 (15:28 +0000)]
Add/Remove the search results to the list at the correct time.
svn path=/trunk/; revision=584
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:27:43 +0000 (15:27 +0000)]
Keep the results in an ArrayList.
svn path=/trunk/; revision=583
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:27:22 +0000 (15:27 +0000)]
call Search.Query asynchronously.
This currently doesn't build due to bug#567319.
svn path=/trunk/; revision=582
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:27:03 +0000 (15:27 +0000)]
Give subclasses of SimpleAsyncResult access to it's fields.
svn path=/trunk/; revision=581
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:26:36 +0000 (15:26 +0000)]
Item constructor don't need to throw signals anymore.
svn path=/trunk/; revision=580
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:26:14 +0000 (15:26 +0000)]
Remove TrackerContainer.fetch_item method.
svn path=/trunk/; revision=579
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:26:05 +0000 (15:26 +0000)]
Refactor fetch_item* implementations.
svn path=/trunk/; revision=578
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:25:43 +0000 (15:25 +0000)]
Use Tracker.Search.Query for getting total items in a category as well.
svn path=/trunk/; revision=577
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:25:29 +0000 (15:25 +0000)]
Start using Tracker.Search.Query.
This method has a horrible api and moreover vala dbus api is currently
not really capable of handling the return value of this method.
Nevertheless, it does improve performance a lot since now we get all the
metadata for all items at once rather than making a dbus call for each
item separately.
svn path=/trunk/; revision=576
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:25:16 +0000 (15:25 +0000)]
container classes also provide get_metadata_keys().
svn path=/trunk/; revision=575
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:24:53 +0000 (15:24 +0000)]
Container classes fetch the metadata.
svn path=/trunk/; revision=574
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:24:37 +0000 (15:24 +0000)]
fetch_metadata doesn't need to be implemented by every item class.
svn path=/trunk/; revision=573
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:24:24 +0000 (15:24 +0000)]
Each container class implements fetch_item_by_path().
svn path=/trunk/; revision=572
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:24:04 +0000 (15:24 +0000)]
Rename find_item* to fetch_item*.
svn path=/trunk/; revision=571
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:23:49 +0000 (15:23 +0000)]
Item constructors take an optional metadata argument.
This is to avoid each item having to fetch it's metadata from Tracker on
creation if the creator of the item already has it's metadata at hand.
svn path=/trunk/; revision=570
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:23:31 +0000 (15:23 +0000)]
Refactor: Separate function for retreiving the metadata keys.
svn path=/trunk/; revision=569
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:23:16 +0000 (15:23 +0000)]
Refactor: put initialization from metadata into a separate func.
svn path=/trunk/; revision=568
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:23:02 +0000 (15:23 +0000)]
Use Filename.to_string ().
Bastian should be happier now. :)
svn path=/trunk/; revision=567
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:22:43 +0000 (15:22 +0000)]
Turn find_item*() methods private.
svn path=/trunk/; revision=566
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:22:27 +0000 (15:22 +0000)]
Separate classes for all categories.
svn path=/trunk/; revision=565
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:22:11 +0000 (15:22 +0000)]
No need to keep DBus proxy objects 'static'.
svn path=/trunk/; revision=564
Zeeshan Ali (Khattak) [Sat, 14 Feb 2009 15:21:45 +0000 (15:21 +0000)]
Prefix items' IDs with parent container's ID.
This is to recognise the parent of the item without having to ask anything
from Tracker over DBus.
svn path=/trunk/; revision=563
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:29:35 +0000 (22:29 +0000)]
Don't continue handling the browse if parsing of arguments fail.
svn path=/trunk/; revision=562
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:29:30 +0000 (22:29 +0000)]
Utilize generics in AsyncResult so it can hold any type of data.
svn path=/trunk/; revision=561
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:29:25 +0000 (22:29 +0000)]
Make MediaContainer.get_children async.
A GIO-based API divided in two methods get_children and
get_children_finish.
svn path=/trunk/; revision=560
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:29:20 +0000 (22:29 +0000)]
More utilization of state-machine in Browse.
These changes are particularly for ease of move to async
MediaContainer.get_children method when it's there.
svn path=/trunk/; revision=559
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:29:15 +0000 (22:29 +0000)]
Correct the doc comment indentation.
svn path=/trunk/; revision=558
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:29:10 +0000 (22:29 +0000)]
Put SimpleAsyncResult in separate file.
svn path=/trunk/; revision=557
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:29:05 +0000 (22:29 +0000)]
Turn MediaContainer.find_object() async.
A GIO-based API divided in two methods find_object and find_object_finish.
svn path=/trunk/; revision=556
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:29:00 +0000 (22:29 +0000)]
Provide a simple implementation of AsyncResult: SimpleAsyncResult.
svn path=/trunk/; revision=555
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:55 +0000 (22:28 +0000)]
Hook to end of response before starting it.
svn path=/trunk/; revision=554
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:51 +0000 (22:28 +0000)]
HTTPRequest pauses the message rather than HTTPResponse.
svn path=/trunk/; revision=553
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:47 +0000 (22:28 +0000)]
MediaObject now derives from GLib.Object.
svn path=/trunk/; revision=552
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:42 +0000 (22:28 +0000)]
Some refactoring to prepare fetch_requested_item for async calls.
svn path=/trunk/; revision=551
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:38 +0000 (22:28 +0000)]
Make sure we really found the object.
svn path=/trunk/; revision=550
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:33 +0000 (22:28 +0000)]
Some refactoring to prepare fetch_media_object for async calls.
svn path=/trunk/; revision=549
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:28 +0000 (22:28 +0000)]
Mark privates fields as private explicitly.
svn path=/trunk/; revision=548
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:24 +0000 (22:28 +0000)]
Rename 'metadata' boolean field to 'fetch_metadata'.
svn path=/trunk/; revision=547
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:19 +0000 (22:28 +0000)]
'metadata' boolean should be maintained as part of Browse's state.
svn path=/trunk/; revision=546
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:14 +0000 (22:28 +0000)]
Rename find_object_by_id to find_object.
svn path=/trunk/; revision=545
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:08 +0000 (22:28 +0000)]
ContentDirectory doesn't need to implement find_object_by_id anymore.
svn path=/trunk/; revision=544
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:28:03 +0000 (22:28 +0000)]
Use root container directly whenever possible.
svn path=/trunk/; revision=543
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:59 +0000 (22:27 +0000)]
Create root container before HTTP server.
svn path=/trunk/; revision=542
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:54 +0000 (22:27 +0000)]
Put HTTP request handling into a separate class: HTTPRequest.
This will allow us to make async calls during the handling of HTTP
requests.
svn path=/trunk/; revision=541
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:49 +0000 (22:27 +0000)]
SeekableResponse constructor doesn't need to throw Error.
svn path=/trunk/; revision=540
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:44 +0000 (22:27 +0000)]
MediaItem don't need http_server field anymore.
This also simplifies plugins's code since they don't need to pass around
the http_server ref everywhere anymore.
svn path=/trunk/; revision=539
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:38 +0000 (22:27 +0000)]
Separate class for serializing the media objects.
svn path=/trunk/; revision=538
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:32 +0000 (22:27 +0000)]
Live items provide gst source element creation method.
HTTPServer doesn't need to emit any signals anymore as it can now
just ask the MediaItem to create the gst source element for it.
svn path=/trunk/; revision=537
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:26 +0000 (22:27 +0000)]
Don't forget to serialize the MediaObject.
svn path=/trunk/; revision=536
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:21 +0000 (22:27 +0000)]
Get rid of HTTPServer.item_requested signal.
Instead of emitting a signal, ask ContentDir to find the item for us.
svn path=/trunk/; revision=535
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:15 +0000 (22:27 +0000)]
HTTPServer keeps a weak (for now) ref to ContentDir.
svn path=/trunk/; revision=534
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:09 +0000 (22:27 +0000)]
Refactor and clean-up of Browse class.
svn path=/trunk/; revision=533
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:27:03 +0000 (22:27 +0000)]
A bit more docs on new Browse class.
svn path=/trunk/; revision=532
Zeeshan Ali (Khattak) [Mon, 9 Feb 2009 22:26:56 +0000 (22:26 +0000)]
Move 'Browse' handling to a separate class.
svn path=/trunk/; revision=531
Zeeshan Ali (Khattak) [Fri, 30 Jan 2009 10:09:12 +0000 (10:09 +0000)]
GUPnPService::action_invoked.action is now owned by the handler.
svn path=/trunk/; revision=530
Zeeshan Ali (Khattak) [Thu, 29 Jan 2009 12:55:12 +0000 (12:55 +0000)]
MediaContainer keeps it's update_id.
This also implies that system_update_id is now the same as update_id of
the root contianer in the ContentDirectory.
svn path=/trunk/; revision=529
Zeeshan Ali (Khattak) [Thu, 29 Jan 2009 00:02:14 +0000 (00:02 +0000)]
Remove an unneeded null check.
svn path=/trunk/; revision=528
Zeeshan Ali (Khattak) [Thu, 29 Jan 2009 00:02:09 +0000 (00:02 +0000)]
Refactor: remove now unneeded methods of ContentDir.
svn path=/trunk/; revision=527
Zeeshan Ali (Khattak) [Thu, 29 Jan 2009 00:02:04 +0000 (00:02 +0000)]
Minor beautification change.
svn path=/trunk/; revision=526
Zeeshan Ali (Khattak) [Thu, 29 Jan 2009 00:01:59 +0000 (00:01 +0000)]
Only ContentDirectoryError uses the HTTP codes.
svn path=/trunk/; revision=525
Zeeshan Ali (Khattak) [Thu, 29 Jan 2009 00:01:53 +0000 (00:01 +0000)]
MediaContainer is now an abstract class.
svn path=/trunk/; revision=524
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:35:08 +0000 (12:35 +0000)]
Move the "max_count == 0" check into ContentDirectory.
svn path=/trunk/; revision=523
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:35:04 +0000 (12:35 +0000)]
Remove child_count param of Container.get_children().
The user of this API already have access to the container and therefore
it's child_count field.
svn path=/trunk/; revision=522
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:35:00 +0000 (12:35 +0000)]
Containers should initialize child_count at creation time.
svn path=/trunk/; revision=521
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:56 +0000 (12:34 +0000)]
MediaContainer.get_children is now nullable.
svn path=/trunk/; revision=520
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:52 +0000 (12:34 +0000)]
ContentDir.get_children () returns List<MediaObject>.
svn path=/trunk/; revision=519
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:48 +0000 (12:34 +0000)]
MediaContainer.find_item_by_id is now nullable.
This method should just return null if object is not found.
svn path=/trunk/; revision=518
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:44 +0000 (12:34 +0000)]
Prefix own calls with 'this' for clarity.
svn path=/trunk/; revision=517
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:40 +0000 (12:34 +0000)]
More docs for MediaContainer.
svn path=/trunk/; revision=516
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:36 +0000 (12:34 +0000)]
Update ContentDir docs.
svn path=/trunk/; revision=515
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:32 +0000 (12:34 +0000)]
No need for all methods in ContentDir to be protected virtual.
svn path=/trunk/; revision=514
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:28 +0000 (12:34 +0000)]
Move most of ContentDirectory implementation into the base class.
The only method that derived classes need to implement now is
'create_root_container'.
svn path=/trunk/; revision=513
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:24 +0000 (12:34 +0000)]
Separate class for Test root container.
Most implementation is now in this class rather than TestContentDir.
svn path=/trunk/; revision=512
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:21 +0000 (12:34 +0000)]
Separate class for Tracker's root container.
Most implementation is now in this class rather than MediaTracker.
svn path=/trunk/; revision=511
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:17 +0000 (12:34 +0000)]
Get rid of unused search parser object.
svn path=/trunk/; revision=510