diff options
author | Max Kellermann <max@duempel.org> | 2014-01-18 16:36:42 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-01-26 00:10:05 +0100 |
commit | 5c4a42caa088335868342b25a834962cbc0d08a2 (patch) | |
tree | 388c039572317877f798e0f0c25d9e3c04ddcae3 /Makefile.am | |
parent | e847788569bd91ca136160694a49665097c0e8ab (diff) | |
download | mpd-5c4a42caa088335868342b25a834962cbc0d08a2.tar.gz mpd-5c4a42caa088335868342b25a834962cbc0d08a2.tar.xz mpd-5c4a42caa088335868342b25a834962cbc0d08a2.zip |
neighbor: new subsystem to detect file servers on the local network
This commit adds the NeighborPlugin API which can be used to detect
nearby file servers that can be used by input plugins. This list of
servers is exported using the new "listneighbors" command. The idle
even "neighbor" notifies interested clients when a new neighbor is
found or an existing one is lost.
There's a lot missing currently: protocol&user documentation, and a
way to "mount" remote servers into the music database. Obviously,
some code from the UPnP database plugin can be moved to a neighbor
plugin.
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index 6bb3c9094..ee4116211 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,6 +17,7 @@ noinst_LIBRARIES = \ libtag.a \ libinput.a \ libfs.a \ + libneighbor.a \ libdb_plugins.a \ libplaylist_plugins.a \ libdecoder_plugins.a \ @@ -30,6 +31,7 @@ src_mpd_CPPFLAGS = $(AM_CPPFLAGS) \ $(LIBWRAP_CFLAGS) \ $(SQLITE_CFLAGS) src_mpd_LDADD = \ + $(NEIGHBOR_LIBS) \ $(DB_LIBS) \ $(PLAYLIST_LIBS) \ $(AVAHI_LIBS) \ @@ -398,6 +400,37 @@ libfs_a_SOURCES = \ src/fs/StandardDirectory.cxx src/fs/StandardDirectory.hxx \ src/fs/DirectoryReader.hxx +# neighbor plugins + +if ENABLE_NEIGHBOR_PLUGINS + +src_mpd_SOURCES += \ + src/command/NeighborCommands.cxx \ + src/command/NeighborCommands.hxx + +libneighbor_a_SOURCES = \ + src/neighbor/Registry.cxx src/neighbor/Registry.hxx \ + src/neighbor/Glue.cxx src/neighbor/Glue.hxx \ + src/neighbor/Info.hxx \ + src/neighbor/Listener.hxx \ + src/neighbor/Explorer.hxx \ + src/neighbor/NeighborPlugin.hxx + +libneighbor_a_CPPFLAGS = $(AM_CPPFLAGS) \ + $(SMBCLIENT_CFLAGS) + +if ENABLE_SMBCLIENT +libneighbor_a_SOURCES += \ + src/lib/smbclient/Init.cxx src/lib/smbclient/Init.hxx \ + src/neighbor/plugins/SmbclientNeighborPlugin.cxx src/neighbor/plugins/SmbclientNeighborPlugin.hxx +endif + +NEIGHBOR_LIBS = \ + $(SMBCLIENT_LIBS) \ + libneighbor.a + +endif + # database plugins libdb_plugins_a_SOURCES = \ @@ -1199,6 +1232,10 @@ noinst_PROGRAMS = \ test/run_normalize \ test/software_volume +if ENABLE_NEIGHBOR_PLUGINS +noinst_PROGRAMS += test/run_neighbor_explorer +endif + if HAVE_AVAHI noinst_PROGRAMS += test/run_avahi endif @@ -1278,6 +1315,23 @@ test_run_input_SOURCES = test/run_input.cxx \ src/IOThread.cxx \ src/TagSave.cxx +if ENABLE_NEIGHBOR_PLUGINS + +test_run_neighbor_explorer_SOURCES = \ + src/Log.cxx src/LogBackend.cxx \ + test/run_neighbor_explorer.cxx +test_run_neighbor_explorer_LDADD = \ + $(GLIB_LIBS) \ + $(NEIGHBOR_LIBS) \ + libconf.a \ + libevent.a \ + libfs.a \ + libsystem.a \ + libthread.a \ + libutil.a + +endif + if ENABLE_ARCHIVE test_visit_archive_LDADD = \ |