2008-08-17 Zeeshan Ali Khattak <zeenix@gmail.com>
+ * src/media-providers/tracker/gupnp-media-tracker.vala:
+ * src/media-server/gupnp-media-manager.vala:
+ * src/media-server/gupnp-media-provider.vala:
+
+ Make MediaProvider an abstract class rather than interface. We will have
+ to do this at some point anyway to put common functionality into this
+ module but the real reason to do this right now is that support for
+ constuct-only props in interfaces was recenlty dropped in Vala (for good
+ reasons).
+
+2008-08-17 Zeeshan Ali Khattak <zeenix@gmail.com>
+
* src/media-server/gupnp-media-provider.vala:
Put MediaProvider in GUPnP namespace.
}
}
-public class GUPnP.MediaTracker : GLib.Object, MediaProvider {
+public class GUPnP.MediaTracker : MediaProvider {
/* class-wide constants */
public static const string TRACKER_SERVICE = "org.freedesktop.Tracker";
public static const string TRACKER_PATH = "/org/freedesktop/tracker";
private DIDLLiteWriter didl_writer;
private SearchCriteriaParser search_parser;
- /* Properties */
- public string# root_id { get; construct; }
- public string# root_parent_id { get; construct; }
- public string# title { get; private construct; }
- public GUPnP.Context context { get; construct; }
-
construct {
this.containers = new List<Tracker.Container> ();
this.containers.append
this.context = context;
}
- public string? browse (string container_id,
- string filter,
- uint starting_index,
- uint requested_count,
- string sort_criteria,
- out uint number_returned,
- out uint total_matches,
- out uint update_id) {
+ public override string? browse (string container_id,
+ string filter,
+ uint starting_index,
+ uint requested_count,
+ string sort_criteria,
+ out uint number_returned,
+ out uint total_matches,
+ out uint update_id) {
string didl;
/* Start DIDL-Lite fragment */
return didl;
}
- public string get_metadata (string object_id,
- string filter,
- string sort_criteria,
- out uint update_id) {
+ public override string get_metadata (string object_id,
+ string filter,
+ string sort_criteria,
+ out uint update_id) {
string didl;
bool found;
return didl;
}
- public uint get_root_children_count () {
+ public override uint get_root_children_count () {
return this.containers.length ();
}
using CStuff;
-public class GUPnP.MediaManager : GLib.Object, MediaProvider {
+public class GUPnP.MediaManager : MediaProvider {
private DIDLLiteWriter didl_writer;
/* Properties */
- public string# root_id { get; construct; }
- public string# root_parent_id { get; construct; }
- public string# title { get; private construct; }
- public GUPnP.Context context { get; construct; }
public uint32 system_update_id { get; private set; }
/* HashTable of Media Providers
this.context = context;
}
- public string? browse (string container_id,
- string filter,
- uint starting_index,
- uint requested_count,
- string sort_criteria,
- out uint number_returned,
- out uint total_matches,
- out uint update_id) {
+ public override string? browse (string container_id,
+ string filter,
+ uint starting_index,
+ uint requested_count,
+ string sort_criteria,
+ out uint number_returned,
+ out uint total_matches,
+ out uint update_id) {
string didl;
string root_id = this.get_root_id_from_id (container_id);
return didl;
}
- public string get_metadata (string object_id,
- string filter,
- string sort_criteria,
- out uint update_id) {
+ public override string get_metadata (string object_id,
+ string filter,
+ string sort_criteria,
+ out uint update_id) {
string didl;
string root_id = this.get_root_id_from_id (object_id);
return didl;
}
- public uint get_root_children_count () {
+ public override uint get_root_children_count () {
return this.providers.size ();
}
* version 2 of the License, or (at your option) any later version.
*/
-public interface GUPnP.MediaProvider : GLib.Object {
+public abstract class GUPnP.MediaProvider : GLib.Object {
/* Properties */
- public abstract string# root_id { get; construct; }
- public abstract string# root_parent_id { get; construct; }
- public abstract string# title { get; private construct; }
- public abstract GUPnP.Context context { get; construct; }
+ public string# root_id { get; construct; }
+ public string# root_parent_id { get; construct; }
+ public string# title { get; private construct; }
+ public GUPnP.Context context { get; construct; }
public abstract string? browse (string container_id,
string filter,