Zeeshan Ali (Khattak) [Mon, 30 Nov 2009 14:18:42 +0000 (16:18 +0200)]
tracker: Cloneable TrackerQueryTriplet*
Add ability to clone TrackerQueryTriplet and TrackerQueryTriplets.
Zeeshan Ali (Khattak) [Mon, 30 Nov 2009 13:48:45 +0000 (15:48 +0200)]
tracker: Separate class for list of triplets
Zeeshan Ali (Khattak) [Fri, 20 Nov 2009 23:31:59 +0000 (01:31 +0200)]
tracker: Initial port to 0.7 APIs
Zeeshan Ali (Khattak) [Thu, 19 Nov 2009 14:54:22 +0000 (16:54 +0200)]
core: Prepare NEWS file for release 0.4.6
Zeeshan Ali (Khattak) [Thu, 19 Nov 2009 14:39:58 +0000 (16:39 +0200)]
build: Require vala >= 0.7.9 (current git master)
Zeeshan Ali (Khattak) [Thu, 19 Nov 2009 12:54:46 +0000 (14:54 +0200)]
external: Safer slicing of get_children() results
Reported child count could be wrong and therefore it is not safe to
use that number when slicing the list of children.
Zeeshan Ali (Khattak) [Wed, 18 Nov 2009 16:14:05 +0000 (18:14 +0200)]
core: Make sure autostart dir exists
Make sure autostart dir exists before attempting to write to it.
Zeeshan Ali (Khattak) [Mon, 16 Nov 2009 23:15:42 +0000 (01:15 +0200)]
core: Sort MediaContainer methods by their visibility
Zeeshan Ali (Khattak) [Mon, 16 Nov 2009 17:15:31 +0000 (19:15 +0200)]
core: MediaContainer.find_object now internal
Plugins no longer need to provide implementation of this method. They
could override/implement search() instead if they need to.
Zeeshan Ali (Khattak) [Mon, 16 Nov 2009 15:25:32 +0000 (17:25 +0200)]
external: Handle search of particular direct child
If the search is for a particular direct child, better handle it in
the implementation as it will be more efficient. All other searches
are handled by base MediaContainer class.
Zeeshan Ali (Khattak) [Mon, 16 Nov 2009 18:15:39 +0000 (20:15 +0200)]
tracker: get_children() now based on search()
TrackerSearchContainer.get_children() now based on search() and therefore
much simpler.
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 16:35:18 +0000 (18:35 +0200)]
tracker: Remove now redundant metadata proxy
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 16:31:06 +0000 (18:31 +0200)]
tracker: Refactor create_query_from_expression()
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 16:16:39 +0000 (18:16 +0200)]
tracker: Make two method private
'create_item' and 'get_item_info' are now private methods.
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 15:43:30 +0000 (17:43 +0200)]
tracker: RDF op based on SearchExpression op
Create RDF query operator from SearchExpression operator.
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 14:35:17 +0000 (16:35 +0200)]
tracker: Get rid of one level of 'if' nesting
This makes create_query_from_expression() a bit more readable.
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 14:19:13 +0000 (16:19 +0200)]
tracker: Use RelationalExpression.compare_string()
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 14:18:45 +0000 (16:18 +0200)]
core: Make RelationalExpression.compare_string() public
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 14:04:20 +0000 (16:04 +0200)]
tracker: Handle 'all children' search
Handle 'give me all your direct children' search.
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 13:44:40 +0000 (15:44 +0200)]
tracker: Don't search the item if it's not yours
SearchContainer shouldn't bother to search the item if it's not
it's own. This optimizes item search quite a bit as we save a lot
of dbus method calls.
Zeeshan Ali (Khattak) [Thu, 12 Nov 2009 12:53:37 +0000 (14:53 +0200)]
tracker: Correct RDF query in 'search'
"File:Path" means path to the directory containing the file rather than
path of the file itself. Full points goes to Mr. Jamie McCracken for
coming-up with this.
Zeeshan Ali (Khattak) [Wed, 11 Nov 2009 22:55:57 +0000 (00:55 +0200)]
tracker: Implement 'search' rather than 'find_object'
Zeeshan Ali (Khattak) [Wed, 11 Nov 2009 22:45:52 +0000 (00:45 +0200)]
tracker: Complete RDF query when needed
This is so that we can insert more conditions into the query if/when
needed.
Zeeshan Ali (Khattak) [Wed, 11 Nov 2009 22:34:47 +0000 (00:34 +0200)]
tracker: Minor indentation fix
Zeeshan Ali (Khattak) [Wed, 11 Nov 2009 13:05:12 +0000 (15:05 +0200)]
tracker: Remove a redundant method
Zeeshan Ali (Khattak) [Tue, 10 Nov 2009 22:14:51 +0000 (00:14 +0200)]
core: Smarter and cleaner MediaContainer.search
Smarter and cleaner default search implementation.
Zeeshan Ali (Khattak) [Tue, 10 Nov 2009 22:05:05 +0000 (00:05 +0200)]
core,media-export: Implement find_object() in MediaContainer
Plugins no longer need to provide MediaContainer.find_object() since we
now provide an implementation based on MediaContainer.search().
Zeeshan Ali (Khattak) [Tue, 10 Nov 2009 21:58:15 +0000 (23:58 +0200)]
core: Clarify a condition
Zeeshan Ali (Khattak) [Mon, 16 Nov 2009 14:15:06 +0000 (16:15 +0200)]
external: One factory for all items
Zeeshan Ali (Khattak) [Mon, 16 Nov 2009 00:07:38 +0000 (02:07 +0200)]
external: Work around (vala) bug#602003
Seems only basic types are correctly handle in variant return values and
that doesn't include string arrays.
Zeeshan Ali (Khattak) [Tue, 10 Nov 2009 11:28:06 +0000 (13:28 +0200)]
core: Simpler browse implementation
The original code was written when async support wasn't there in Vala
and therefore required us to keep all the state in the Browse object.
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 18:56:10 +0000 (20:56 +0200)]
core: 'yield' all the way
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 18:30:15 +0000 (20:30 +0200)]
core: Accept & handle wildcard as SearchCriteria
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 18:12:38 +0000 (20:12 +0200)]
core: Micro refactoring
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 17:51:33 +0000 (19:51 +0200)]
core: More debug output
Spit out received SearchCriteria string on debug console.
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 17:49:09 +0000 (19:49 +0200)]
core: Take care of null operands when printing expression
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 18:09:52 +0000 (20:09 +0200)]
core: Handle errors from SearchCriteria parser
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 17:59:12 +0000 (19:59 +0200)]
core: Take care of logical operator precedence
'and' takes precedence over 'or'.
Zeeshan Ali (Khattak) [Fri, 6 Nov 2009 14:35:18 +0000 (16:35 +0200)]
core: Remove unused ClosingBrace class
Zeeshan Ali (Khattak) [Fri, 6 Nov 2009 14:13:30 +0000 (16:13 +0200)]
vcs: Add '*.service' to git ignore list
Zeeshan Ali (Khattak) [Fri, 6 Nov 2009 00:43:36 +0000 (02:43 +0200)]
core: Advertise containers as searchable
Zeeshan Ali (Khattak) [Fri, 6 Nov 2009 00:36:58 +0000 (02:36 +0200)]
core: Proper error on failed search
This is as par the requirements of ContentDirectory spec.
Zeeshan Ali (Khattak) [Fri, 6 Nov 2009 00:22:54 +0000 (02:22 +0200)]
core: Correct handling of search.total_matches
If the real value of this is unknown, ContentDirectory specs dictate us
to set this to '0'.
Zeeshan Ali (Khattak) [Thu, 5 Nov 2009 17:39:59 +0000 (19:39 +0200)]
core: Limit the search results
This should improve performance of search in general a lot but it
depends on what slice in the search results the client is interested in.
If it asks for the last slice, there will be no performance improvements
to that search request because of this change. During an incremental
search (which all clients should be doing), the first few search results
will be extremely fast and we all know that this *will* effectively fool
the end-user. :)
Zeeshan Ali (Khattak) [Thu, 5 Nov 2009 16:40:21 +0000 (18:40 +0200)]
core: Safer slicing of search results
Zeeshan Ali (Khattak) [Thu, 5 Nov 2009 15:25:55 +0000 (17:25 +0200)]
core: Search inside child before checking it
Search inside child before checking if it satisfies the search criteria
itself.
Zeeshan Ali (Khattak) [Thu, 5 Nov 2009 14:52:29 +0000 (16:52 +0200)]
core: MediaContainer.search()
MediaContainer now provides a simple (but not efficient) implementation
of search. The inefficiency mainly comes from the fact that it has no
means to define the offset for each subcontainer as it does not know in
advance how many object under that container will match the search
criteria.
Zeeshan Ali (Khattak) [Thu, 5 Nov 2009 14:51:00 +0000 (16:51 +0200)]
core: Correct order of operands
Zeeshan Ali (Khattak) [Thu, 5 Nov 2009 01:06:27 +0000 (03:06 +0200)]
tracker: More descriptive names for D-Bus proxies
This is mainly to avoid conflicts with (to be added) 'search' method in
the base class, MediaContainer.
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 18:05:45 +0000 (20:05 +0200)]
core: Search.search_criteria must not be null
The client must provide value of SearchCriteria argument when calling
'Search' action.
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 18:04:52 +0000 (20:04 +0200)]
core: Update docs according to recent async changes
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 15:58:42 +0000 (17:58 +0200)]
core: AtomicExpression -> RelationalExpression
Rename AtomicExpression to RelationalExpression.
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 15:51:56 +0000 (17:51 +0200)]
core: Expression classes in separate files
Put both expression classes in different files.
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 15:19:43 +0000 (17:19 +0200)]
core: Implement LogicalExpression.satisfied_by()
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 02:08:05 +0000 (04:08 +0200)]
core: Synchronous SearchExpression.satisfied_by()
SearchExpression.satisfied_by() doesn't need to be async.
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 01:50:47 +0000 (03:50 +0200)]
core: implement AtomicExpression.satisfied_by()
Basic implementation of AtomicExpression.satisfied_by().
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 01:41:18 +0000 (03:41 +0200)]
core: Hardcode the upnp_class in MediaContainer
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 01:37:19 +0000 (03:37 +0200)]
core: Move MediaItem.upnp_class to MediaObject
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 21:57:13 +0000 (23:57 +0200)]
core: Micro refactoring of SearchExpression classes
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 18:18:14 +0000 (20:18 +0200)]
core: satisfied_by() is now async and abstract
core: SearchCriteria.satisfied_by() is now async and abstract.
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 17:44:07 +0000 (19:44 +0200)]
core: Rename a method to better reflect it's purpose
Rename SearchExpression.fullfills to 'satisfied_by'.
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 16:09:58 +0000 (18:09 +0200)]
core: Introduce SearchExpression.to_string ()
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 16:09:29 +0000 (18:09 +0200)]
core: SearchExpression is now abstract
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 15:11:30 +0000 (17:11 +0200)]
core: Well-document the SearchCriteriaParser logic
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 14:37:10 +0000 (16:37 +0200)]
core: Make Dummy expression classes more private
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 14:24:09 +0000 (16:24 +0200)]
core: Update copyright header
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 14:23:10 +0000 (16:23 +0200)]
core: No need for SearchCriteria class
In the end, all we need is the search expression tree.
Zeeshan Ali (Khattak) [Mon, 2 Nov 2009 18:48:17 +0000 (20:48 +0200)]
core: Basic blocks for search criteria parsing
Zeeshan Ali (Khattak) [Mon, 2 Nov 2009 18:50:23 +0000 (20:50 +0200)]
build: Bump-up gupnp-vala and gupnp-av requirements
Require current git master of gupnp-vala and gupnp-av.
Zeeshan Ali (Khattak) [Thu, 29 Oct 2009 00:46:50 +0000 (02:46 +0200)]
core: Dummy Search implementation
Right now it just parses the 'in' arguments and provides an empty list
as the result.
Zeeshan Ali (Khattak) [Wed, 28 Oct 2009 16:06:06 +0000 (18:06 +0200)]
core: Specify basic properties in SearchCapabilities
Zeeshan Ali (Khattak) [Wed, 28 Oct 2009 15:55:09 +0000 (17:55 +0200)]
core: search_caps is now a private constant
ContentDirectory.search_caps is now a private constant.
Zeeshan Ali (Khattak) [Wed, 28 Oct 2009 15:12:56 +0000 (17:12 +0200)]
data: Advertise Search functionality
Zeeshan Ali (Khattak) [Tue, 27 Oct 2009 13:04:20 +0000 (15:04 +0200)]
tracker: Correct icon path
Load icon from tracker's icon directory rather than Rygel's.
Zeeshan Ali (Khattak) [Tue, 27 Oct 2009 14:37:01 +0000 (16:37 +0200)]
Revert "core: Link to gst-interfaces"
This reverts commit
fbd10c73142e89d3b2babfbcdf3ac1c3421ade47 and update
NEWS file accordingly.
Zeeshan Ali (Khattak) [Tue, 27 Oct 2009 14:53:10 +0000 (16:53 +0200)]
gst-renderer: Correct name of module file
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 23:45:18 +0000 (01:45 +0200)]
core: Prepare NEWS file for release 0.4.4
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 21:32:10 +0000 (23:32 +0200)]
data: Default configuration for GstRenderer
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 21:26:13 +0000 (23:26 +0200)]
build: configure tells if gst-renderer is enabled
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 21:18:37 +0000 (23:18 +0200)]
core: Provide separate COPYING file for gst-renderer
gst-renderer is still GPLv2
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 17:32:06 +0000 (19:32 +0200)]
core: Use new async syntax in PluginLoader code
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 17:15:37 +0000 (19:15 +0200)]
core: Use 'message()' for plugin availability
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 17:11:22 +0000 (19:11 +0200)]
core: Early ignorance of disabled plugins
If a plugin is disabled in the config, the PluginLoader simply
ignores it's request to attach itself to Rygel.
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 14:49:17 +0000 (16:49 +0200)]
core: Load config before setting log handler
Setting log handler before loading the config was suppressing all
debug messages. However now we have the problem that ALL messages
are printed even if they are of the level that is not allowed by the
config. Hopefully this problem is much more tolerable than the problem
this commit solves since there are not many messages printed before
config is loaded.
Zeeshan Ali (Khattak) [Sun, 25 Oct 2009 15:07:16 +0000 (17:07 +0200)]
core,external: Move string substitution to core
Now internal plugins can use the string substitution magic in title
strings as well.
Zeeshan Ali (Khattak) [Sun, 25 Oct 2009 02:43:35 +0000 (04:43 +0200)]
core: Simpler buffer processing
No need to keep a queue of buffers. Just use closure to pass the
buffer to the idle handler.
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 23:14:32 +0000 (02:14 +0300)]
external: Remove redundant part from FIXME comment
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 23:11:50 +0000 (02:11 +0300)]
external: Micro refactoring
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 23:10:51 +0000 (02:10 +0300)]
external: Turn ExternalItem class into a factory
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 22:51:44 +0000 (01:51 +0300)]
external: Turn Thumbnail class into a factory
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 22:25:26 +0000 (01:25 +0300)]
core: Defer creation of device to mainloop
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 21:28:15 +0000 (00:28 +0300)]
external: No need to pass D-Bus connection around
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 21:27:22 +0000 (00:27 +0300)]
external: Put ExternalPluginFactory in Rygel namespace
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 21:11:08 +0000 (00:11 +0300)]
external: Separate factory for icon info fetching
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 20:21:29 +0000 (23:21 +0300)]
external: Prefer factory usage over static methods
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 20:21:02 +0000 (23:21 +0300)]
external: Micro indentation fix
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 16:53:48 +0000 (19:53 +0300)]
external: Use Freedesktop.GetAll to get properties
Use Freedesktop.GetAll to get properties of root container
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 15:29:50 +0000 (18:29 +0300)]
external: Use icon if provided by the service
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 14:02:55 +0000 (17:02 +0300)]
core,tracker: Plugin provide URIs for icons
Plugin provide URIs for icons rather than path
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 11:46:12 +0000 (14:46 +0300)]
external: Async creation of plugin instance