aboutsummaryrefslogtreecommitdiffstats
path: root/src/Instance.hxx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/Instance.hxx32
1 files changed, 28 insertions, 4 deletions
diff --git a/src/Instance.hxx b/src/Instance.hxx
index a0dfd1b94..a14719839 100644
--- a/src/Instance.hxx
+++ b/src/Instance.hxx
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2013 The Music Player Daemon Project
+ * Copyright (C) 2003-2014 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@@ -21,17 +21,32 @@
#define MPD_INSTANCE_HXX
#include "check.h"
+#include "db/DatabaseListener.hxx"
+#include "Compiler.h"
+
+#ifdef ENABLE_NEIGHBOR_PLUGINS
+#include "neighbor/Listener.hxx"
+class NeighborGlue;
+#endif
class ClientList;
struct Partition;
-struct Song;
-struct Instance {
+struct Instance final
+ : public DatabaseListener
+#ifdef ENABLE_NEIGHBOR_PLUGINS
+ , public NeighborListener
+#endif
+{
+#ifdef ENABLE_NEIGHBOR_PLUGINS
+ NeighborGlue *neighbors;
+#endif
+
ClientList *client_list;
Partition *partition;
- void DeleteSong(const Song &song);
+ void DeleteSong(const char *uri);
/**
* The database has been modified. Propagate the change to
@@ -49,6 +64,15 @@ struct Instance {
* Synchronize the player with the play queue.
*/
void SyncWithPlayer();
+
+private:
+ virtual void OnDatabaseModified();
+
+#ifdef ENABLE_NEIGHBOR_PLUGINS
+ /* virtual methods from class NeighborListener */
+ virtual void FoundNeighbor(const NeighborInfo &info) override;
+ virtual void LostNeighbor(const NeighborInfo &info) override;
+#endif
};
#endif