profile/ivi/rygel.git
14 years agoexternal: One factory for all items
Zeeshan Ali (Khattak) [Mon, 16 Nov 2009 14:15:06 +0000 (16:15 +0200)]
external: One factory for all items

14 years agoexternal: Work around (vala) bug#602003
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.

14 years agocore: Simpler browse implementation
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.

14 years agocore: 'yield' all the way
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 18:56:10 +0000 (20:56 +0200)]
core: 'yield' all the way

14 years agocore: Accept & handle wildcard as SearchCriteria
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 18:30:15 +0000 (20:30 +0200)]
core: Accept & handle wildcard as SearchCriteria

14 years agocore: Micro refactoring
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 18:12:38 +0000 (20:12 +0200)]
core: Micro refactoring

14 years agocore: More debug output
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.

14 years agocore: Take care of null operands when printing expression
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 17:49:09 +0000 (19:49 +0200)]
core: Take care of null operands when printing expression

14 years agocore: Handle errors from SearchCriteria parser
Zeeshan Ali (Khattak) [Mon, 9 Nov 2009 18:09:52 +0000 (20:09 +0200)]
core: Handle errors from SearchCriteria parser

14 years agocore: Take care of logical operator precedence
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'.

14 years agocore: Remove unused ClosingBrace class
Zeeshan Ali (Khattak) [Fri, 6 Nov 2009 14:35:18 +0000 (16:35 +0200)]
core: Remove unused ClosingBrace class

14 years agovcs: Add '*.service' to git ignore list
Zeeshan Ali (Khattak) [Fri, 6 Nov 2009 14:13:30 +0000 (16:13 +0200)]
vcs: Add '*.service' to git ignore list

14 years agocore: Advertise containers as searchable
Zeeshan Ali (Khattak) [Fri, 6 Nov 2009 00:43:36 +0000 (02:43 +0200)]
core: Advertise containers as searchable

14 years agocore: Proper error on failed search
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.

14 years agocore: Correct handling of search.total_matches
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'.

14 years agocore: Limit the search results
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. :)

14 years agocore: Safer slicing of search results
Zeeshan Ali (Khattak) [Thu, 5 Nov 2009 16:40:21 +0000 (18:40 +0200)]
core: Safer slicing of search results

14 years agocore: Search inside child before checking it
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.

14 years agocore: MediaContainer.search()
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.

14 years agocore: Correct order of operands
Zeeshan Ali (Khattak) [Thu, 5 Nov 2009 14:51:00 +0000 (16:51 +0200)]
core: Correct order of operands

14 years agotracker: More descriptive names for D-Bus proxies
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.

14 years agocore: Search.search_criteria must not be null
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.

14 years agocore: Update docs according to recent async changes
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 18:04:52 +0000 (20:04 +0200)]
core: Update docs according to recent async changes

14 years agocore: AtomicExpression -> RelationalExpression
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 15:58:42 +0000 (17:58 +0200)]
core: AtomicExpression -> RelationalExpression

Rename AtomicExpression to RelationalExpression.

14 years agocore: Expression classes in separate files
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.

14 years agocore: Implement LogicalExpression.satisfied_by()
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 15:19:43 +0000 (17:19 +0200)]
core: Implement LogicalExpression.satisfied_by()

14 years agocore: Synchronous SearchExpression.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.

14 years agocore: implement AtomicExpression.satisfied_by()
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().

14 years agocore: Hardcode the upnp_class in MediaContainer
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 01:41:18 +0000 (03:41 +0200)]
core: Hardcode the upnp_class in MediaContainer

14 years agocore: Move MediaItem.upnp_class to MediaObject
Zeeshan Ali (Khattak) [Wed, 4 Nov 2009 01:37:19 +0000 (03:37 +0200)]
core: Move MediaItem.upnp_class to MediaObject

14 years agocore: Micro refactoring of SearchExpression classes
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 21:57:13 +0000 (23:57 +0200)]
core: Micro refactoring of SearchExpression classes

14 years agocore: satisfied_by() is now async and abstract
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.

14 years agocore: Rename a method to better reflect it's purpose
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'.

14 years agocore: Introduce SearchExpression.to_string ()
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 16:09:58 +0000 (18:09 +0200)]
core: Introduce SearchExpression.to_string ()

14 years agocore: SearchExpression is now abstract
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 16:09:29 +0000 (18:09 +0200)]
core: SearchExpression is now abstract

14 years agocore: Well-document the SearchCriteriaParser logic
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 15:11:30 +0000 (17:11 +0200)]
core: Well-document the SearchCriteriaParser logic

14 years agocore: Make Dummy expression classes more private
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 14:37:10 +0000 (16:37 +0200)]
core: Make Dummy expression classes more private

14 years agocore: Update copyright header
Zeeshan Ali (Khattak) [Tue, 3 Nov 2009 14:24:09 +0000 (16:24 +0200)]
core: Update copyright header

14 years agocore: No need for SearchCriteria class
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.

14 years agocore: Basic blocks for search criteria parsing
Zeeshan Ali (Khattak) [Mon, 2 Nov 2009 18:48:17 +0000 (20:48 +0200)]
core: Basic blocks for search criteria parsing

14 years agobuild: Bump-up gupnp-vala and gupnp-av requirements
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.

14 years agocore: Dummy Search implementation
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.

14 years agocore: Specify basic properties in SearchCapabilities
Zeeshan Ali (Khattak) [Wed, 28 Oct 2009 16:06:06 +0000 (18:06 +0200)]
core: Specify basic properties in SearchCapabilities

14 years agocore: search_caps is now a private constant
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.

14 years agodata: Advertise Search functionality
Zeeshan Ali (Khattak) [Wed, 28 Oct 2009 15:12:56 +0000 (17:12 +0200)]
data: Advertise Search functionality

14 years agotracker: Correct icon path RYGEL_0_4_4
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.

14 years agoRevert "core: Link to gst-interfaces"
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.

14 years agogst-renderer: Correct name of module file
Zeeshan Ali (Khattak) [Tue, 27 Oct 2009 14:53:10 +0000 (16:53 +0200)]
gst-renderer: Correct name of module file

14 years agocore: Prepare NEWS file for release 0.4.4
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 23:45:18 +0000 (01:45 +0200)]
core: Prepare NEWS file for release 0.4.4

14 years agodata: Default configuration for GstRenderer
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 21:32:10 +0000 (23:32 +0200)]
data: Default configuration for GstRenderer

14 years agobuild: configure tells if gst-renderer is enabled
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 21:26:13 +0000 (23:26 +0200)]
build: configure tells if gst-renderer is enabled

14 years agocore: Provide separate COPYING file for gst-renderer
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

14 years agocore: Use new async syntax in PluginLoader code
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 17:32:06 +0000 (19:32 +0200)]
core: Use new async syntax in PluginLoader code

14 years agocore: Use 'message()' for plugin availability
Zeeshan Ali (Khattak) [Mon, 26 Oct 2009 17:15:37 +0000 (19:15 +0200)]
core: Use 'message()' for plugin availability

14 years agocore: Early ignorance of disabled plugins
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.

14 years agocore: Load config before setting log handler
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.

14 years agocore,external: Move string substitution to core
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.

14 years agocore: Simpler buffer processing
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.

14 years agoexternal: Remove redundant part from FIXME comment
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 23:14:32 +0000 (02:14 +0300)]
external: Remove redundant part from FIXME comment

14 years agoexternal: Micro refactoring
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 23:11:50 +0000 (02:11 +0300)]
external: Micro refactoring

14 years agoexternal: Turn ExternalItem class into a factory
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 23:10:51 +0000 (02:10 +0300)]
external: Turn ExternalItem class into a factory

14 years agoexternal: Turn Thumbnail 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

14 years agocore: Defer creation of device to mainloop
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 22:25:26 +0000 (01:25 +0300)]
core: Defer creation of device to mainloop

14 years agoexternal: No need to pass D-Bus connection around
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 21:28:15 +0000 (00:28 +0300)]
external: No need to pass D-Bus connection around

14 years agoexternal: Put ExternalPluginFactory in Rygel namespace
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 21:27:22 +0000 (00:27 +0300)]
external: Put ExternalPluginFactory in Rygel namespace

14 years agoexternal: Separate factory for icon info fetching
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 21:11:08 +0000 (00:11 +0300)]
external: Separate factory for icon info fetching

14 years agoexternal: Prefer factory usage over static methods
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 20:21:29 +0000 (23:21 +0300)]
external: Prefer factory usage over static methods

14 years agoexternal: Micro indentation fix
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 20:21:02 +0000 (23:21 +0300)]
external: Micro indentation fix

14 years agoexternal: Use Freedesktop.GetAll to get properties
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

14 years agoexternal: Use icon if provided by the service
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 15:29:50 +0000 (18:29 +0300)]
external: Use icon if provided by the service

14 years agocore,tracker: Plugin provide URIs for icons
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

14 years agoexternal: Async creation of plugin instance
Zeeshan Ali (Khattak) [Tue, 20 Oct 2009 11:46:12 +0000 (14:46 +0300)]
external: Async creation of plugin instance

14 years agoexternal: Support pixel-aspect-ratio properties
Zeeshan Ali (Khattak) [Mon, 19 Oct 2009 22:46:57 +0000 (01:46 +0300)]
external: Support pixel-aspect-ratio properties

14 years agoexternal: Make use of thumbnails
Zeeshan Ali (Khattak) [Mon, 19 Oct 2009 22:28:38 +0000 (01:28 +0300)]
external: Make use of thumbnails

Now external plugins can provide thumbnails too, yay!

14 years agocore: Fix LiveResponse wrt latest async changes
Zeeshan Ali (Khattak) [Sat, 24 Oct 2009 15:46:17 +0000 (18:46 +0300)]
core: Fix LiveResponse wrt latest async changes

14 years agocore: Workaround bug in sqlite 3.6.12
Jens Georg [Wed, 21 Oct 2009 15:23:55 +0000 (17:23 +0200)]
core: Workaround bug in sqlite 3.6.12

Apparently select count(*) on an empty sqlite_master table triggers bug #3774.
Used another query to check if there is data in that table which won't make
sqlite 3.6.12 crash.

14 years agocore: Fix Content-Length: for partial requests
Jens Georg [Sat, 24 Oct 2009 00:45:50 +0000 (02:45 +0200)]
core: Fix Content-Length: for partial requests

14 years agocore,media-export: Check for playbin
Jens Georg [Wed, 21 Oct 2009 12:06:33 +0000 (14:06 +0200)]
core,media-export: Check for playbin

Properly check for playbin[2] availability upon creation and react more nicely
with a message to the user to check his/her setup

14 years agomedia-export: Remove warnings from refactoring
Jens Georg [Wed, 30 Sep 2009 12:59:58 +0000 (14:59 +0200)]
media-export: Remove warnings from refactoring

14 years agocore: Add compile time option for SQL debugging
Jens Georg [Thu, 1 Oct 2009 16:32:42 +0000 (18:32 +0200)]
core: Add compile time option for SQL debugging

14 years agocore: small formatting update
Jens Georg [Thu, 22 Oct 2009 22:33:49 +0000 (00:33 +0200)]
core: small formatting update

14 years agocore: Make @null static in Database class
Jens Georg [Tue, 20 Oct 2009 17:02:12 +0000 (19:02 +0200)]
core: Make @null static in Database class

There is no need for an instance of Database to generate a null pointer

14 years agocore: update formatting
Jens Georg [Tue, 20 Oct 2009 16:54:02 +0000 (18:54 +0200)]
core: update formatting

14 years agocore: Use closure table to delete object
Jens Georg [Sat, 3 Oct 2009 11:17:41 +0000 (13:17 +0200)]
core: Use closure table to delete object

This rids us of the sweeper in Idle and possible database inconsistency

14 years agocore: get rid off "get_table" function
Jens Georg [Thu, 1 Oct 2009 17:08:41 +0000 (19:08 +0200)]
core: get rid off "get_table" function

14 years agocore: Add closure table to speed up object lookup
Jens Georg [Thu, 1 Oct 2009 16:47:22 +0000 (18:47 +0200)]
core: Add closure table to speed up object lookup

14 years agocore: use index on Object.parent
Jens Georg [Wed, 30 Sep 2009 15:53:37 +0000 (17:53 +0200)]
core: use index on Object.parent

14 years agocore: add sqlite pragmas
Jens Georg [Wed, 30 Sep 2009 14:57:46 +0000 (16:57 +0200)]
core: add sqlite pragmas

14 years agocore: Fix remaining warnings
Jens Georg [Wed, 30 Sep 2009 12:52:30 +0000 (14:52 +0200)]
core: Fix remaining warnings

14 years agocore: Use Rygel.Database at remaining places
Jens Georg [Wed, 30 Sep 2009 12:34:24 +0000 (14:34 +0200)]
core: Use Rygel.Database at remaining places

14 years agocore: make Database.rollback() non-throwing
Jens Georg [Wed, 30 Sep 2009 11:37:48 +0000 (13:37 +0200)]
core: make Database.rollback() non-throwing

14 years agocore: port database upgrade to new api
Jens Georg [Wed, 30 Sep 2009 11:23:10 +0000 (13:23 +0200)]
core: port database upgrade to new api

14 years agocore: add assert to enforce null-pointer only
Jens Georg [Wed, 30 Sep 2009 11:22:31 +0000 (13:22 +0200)]
core: add assert to enforce null-pointer only

14 years agocore: port schema creation to new database class
Jens Georg [Wed, 30 Sep 2009 11:09:28 +0000 (13:09 +0200)]
core: port schema creation to new database class

14 years agocore: delegate exec in special cases
Jens Georg [Wed, 30 Sep 2009 11:04:51 +0000 (13:04 +0200)]
core: delegate exec in special cases

if there's nothing to bind and noone to callback, just forward to SQLite

14 years agocore: add begin, commit and rollback methods
Jens Georg [Wed, 30 Sep 2009 10:34:22 +0000 (12:34 +0200)]
core: add begin, commit and rollback methods

14 years agocore: Move basic database access into own class
Jens Georg [Sat, 3 Oct 2009 15:51:14 +0000 (17:51 +0200)]
core: Move basic database access into own class

14 years agocore: Fix another unhandled error
Jens Georg [Mon, 19 Oct 2009 19:07:46 +0000 (21:07 +0200)]
core: Fix another unhandled error

14 years agocore: Add missing throws clause
Jens Georg [Mon, 19 Oct 2009 19:13:08 +0000 (21:13 +0200)]
core: Add missing throws clause

14 years agocore: Fix SeekableResponse wrt latest async changes
Zeeshan Ali (Khattak) [Fri, 23 Oct 2009 17:07:29 +0000 (20:07 +0300)]
core: Fix SeekableResponse wrt latest async changes

We were returning from an async call when waiting for signal
'wrote-chunk' from soup message and this was unrefing both request
and response too early.