public class Rygel.MediaExportContentDir : ContentDirectory {
public override MediaContainer? create_root_container () {
- return new MediaExportRootContainer ();
+ return MediaExportRootContainer.get_instance ();
}
}
private HashMap<File, MediaExportHarvester> harvester;
private MediaExportRecursiveFileMonitor monitor;
+ private static MediaExportRootContainer instance = null;
+
private ArrayList<string> get_uris () {
ArrayList<string> uris;
return uris;
}
+ public static MediaExportRootContainer get_instance() {
+ if (MediaExportRootContainer.instance == null) {
+ MediaExportRootContainer.instance = new MediaExportRootContainer ();
+ }
+
+ return MediaExportRootContainer.instance;
+ }
+
/**
* Create a new root container.
*/
- public MediaExportRootContainer () {
+ private MediaExportRootContainer () {
var db = new MediaDB("media-export");
base (db, "0", "MediaExportRoot");
public class Rygel.MediathekContentDir : ContentDirectory {
public override MediaContainer? create_root_container () {
- return new MediathekRootContainer ();
+ return MediathekRootContainer.get_instance ();
}
}
public class Rygel.MediathekRootContainer : Rygel.MediaContainer {
private ArrayList<MediathekRssContainer> items;
internal SessionAsync session;
+ private static MediathekRootContainer instance;
public override void get_children (uint offset,
uint max_count,
return true;
}
- public MediathekRootContainer () {
+ public static MediathekRootContainer get_instance () {
+ if (MediathekRootContainer.instance == null) {
+ MediathekRootContainer.instance = new MediathekRootContainer ();
+ }
+
+ return instance;
+ }
+
+ private MediathekRootContainer () {
base.root ("ZDF Mediathek", 0);
this.session = new Soup.SessionAsync ();
this.items = new ArrayList<MediathekRssContainer> ();