diff options
Diffstat (limited to '')
-rw-r--r-- | src/Instance.hxx | 32 |
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 |