Max Kellermann
4b044bd8e1
InotifyUpdate: pass EventLoop to mpd_inotify_init()
2014-01-29 18:36:32 +01:00
Max Kellermann
a137f817f5
db/Directory: move isRootDirectory() to Uri.hxx
...
Decouple command/OtherCommands.cxx from the "simple" database plugin.
2014-01-29 18:05:33 +01:00
Max Kellermann
f548a966f5
Playlist{Info,Vector}: move to db/
2014-01-27 11:05:21 +01:00
Max Kellermann
3dad837ca6
db/upnp: remove sleep(2) call
...
This call was unnecessary. It is a bad idea anyway to block the MPD
process for some arbitrary amount of time.
2014-01-26 15:50:30 +01:00
Max Kellermann
d7e78059b0
upnp: initialize the client handle only once
...
Eliminate class LibUPnP and move the code to ClientInit.cxx. Its
initialization function can be called multiple times, but
UpnpRegisterClient() is called at most once.
2014-01-26 15:43:23 +01:00
Max Kellermann
e57e89b9d5
upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnP
2014-01-26 15:22:33 +01:00
Max Kellermann
f86f5ad224
db/upnp: move generic code to lib/upnp/
2014-01-26 13:41:40 +01:00
Max Kellermann
4a3dc2cea2
db/upnp: rename variables
2014-01-26 13:08:52 +01:00
Max Kellermann
97391fd4b9
DespotifyUtils, Expat: move to lib/
2014-01-24 16:44:36 +01:00
Max Kellermann
9d34fc394c
Database*: move to db/
2014-01-24 16:38:44 +01:00
Max Kellermann
197b503f3e
Config*: move to config/
2014-01-24 00:20:01 +01:00
Max Kellermann
b8e382b011
db/upnp/Discovery: use std::list instead of std::map
...
There will only be very few items, and that does not justify the bloat
of std::map.
2014-01-23 22:35:22 +01:00
Max Kellermann
c9af358e4b
db/upnp/Discovery: move code to LockAdd(), LockRemove()
2014-01-23 22:35:22 +01:00
Max Kellermann
3afcfe3330
db/upnp/Discovery: un-inline the destructor
2014-01-23 22:35:22 +01:00
Max Kellermann
f3f5e2e162
db/upnp: un-inline a few destructors
...
Reduce bloat.
2014-01-23 21:17:40 +01:00
Max Kellermann
b52d8fbebe
db/upnp: strict vpath checks for the "root" directory
2014-01-23 00:40:39 +01:00
Max Kellermann
b61a2c722c
db/upnp: move code to VisitObject()
2014-01-23 00:28:27 +01:00
Max Kellermann
c455d2c1de
db/upnp: merge two PathTraitsUTF8::Build() calls
2014-01-23 00:25:08 +01:00
Max Kellermann
77070f5ab9
db/upnp: move code to VisitItem()
2014-01-23 00:17:38 +01:00
Max Kellermann
8d5f7160ac
db/upnp: fix subdirectory paths in "listallinfo"
...
Add missing server name prefix.
2014-01-23 00:07:35 +01:00
Max Kellermann
b167ce2913
base_uri
2014-01-23 00:06:17 +01:00
Max Kellermann
3ac15ca8d1
db/upnp: pass char* to visitSong()
...
Don't use std::string, reduce bloat.
2014-01-23 00:06:03 +01:00
Max Kellermann
f703d4fc3e
db/upnp: call VisitDirectory on servers, even in recursive mode
2014-01-22 23:52:08 +01:00
Max Kellermann
77c461fed7
db/upnp: make several methods "const"
2014-01-22 23:50:33 +01:00
Max Kellermann
a89c21b06a
db/upnp: inline Configure()
2014-01-22 23:30:53 +01:00
Max Kellermann
b74aa6b14c
db/upnp: don't duplicate song data for VisitSong
...
Not necessary because we control the LightSong's life cycle.
2014-01-22 23:28:23 +01:00
Max Kellermann
0c4a791111
db/upnp: emplace/move in csvToStrings()
2014-01-22 23:21:23 +01:00
Max Kellermann
1feedd4d9c
db/upnp: require an empty token list in csvToStrings()
2014-01-22 23:21:14 +01:00
Max Kellermann
0ec1808956
db/proxy: simplify csvToStrings()
2014-01-22 23:17:42 +01:00
Max Kellermann
546e7cafa4
db/proxy: merge redundant string::push_back() calls
2014-01-22 23:13:24 +01:00
Max Kellermann
d9926a1c21
db/upnp: use PathTraitsUTF8::Build()
2014-01-22 23:10:00 +01:00
Max Kellermann
e50969e31c
db/proxy: fix for libmpdclient < 2.9
2014-01-22 23:09:36 +01:00
Max Kellermann
a6d9998e1d
db/proxy: copy "Last-Modified" from remote directories
2014-01-22 23:07:21 +01:00
Max Kellermann
a42f9e4ee3
LightDirectory: new struct replacing Directory in the DB API
2014-01-22 23:01:32 +01:00
Max Kellermann
4943606f4a
db/upnp: append characters instead of single-character strings
2014-01-22 21:55:58 +01:00
Max Kellermann
87629dda81
db/upnp: use string::push_back() instead of string::append()
2014-01-22 21:55:08 +01:00
Max Kellermann
71928b473e
db/upnp/Discovery: unlock mutex before deleting DiscoveredTask
2014-01-22 21:48:33 +01:00
Max Kellermann
a0bee9fa0a
db/upnp/Discovery: eliminate two strlen() calls
2014-01-22 21:47:34 +01:00
Max Kellermann
0defd927f3
db/upnp: use std::list instead of std::set for SearchCapabilities
...
Reduce bloat. We never used the set lookup.
2014-01-22 21:41:05 +01:00
Max Kellermann
6c41e8f63f
db/upnp: check offset<total at end of loop
2014-01-22 21:37:21 +01:00
Max Kellermann
fa67a4e956
db/upnp: break when zero objects have been returned
2014-01-22 21:37:19 +01:00
Max Kellermann
bf9352fb26
db/upnp: free responses manually
2014-01-22 21:33:54 +01:00
Max Kellermann
7573d4e1ba
db/upnp: break when count==0
...
Make this non-fatal. Just stop reading more objects.
2014-01-22 21:33:19 +01:00
Max Kellermann
bfb483898f
db/upnp: use ParseUnsigned() instead of atoi()
2014-01-22 21:11:04 +01:00
Max Kellermann
f363788d76
db/upnp: pass unsigned integers to readDirSlice()
2014-01-22 20:57:10 +01:00
Max Kellermann
714056f157
db/upnp: inline ContentDirectoryService::readDirSlice()
2014-01-22 20:42:36 +01:00
Max Kellermann
1abc96fa27
db/upnp: remove special case for "*"
...
Passing this to csvToStrings() will do the same.
2014-01-22 20:37:17 +01:00
Max Kellermann
0fa98479ad
db/upnp: obtain char* from ixmlwrap::getFirstElementValue()
...
Fixes crash when there's no SearchCaps element.
2014-01-22 20:26:33 +01:00
Max Kellermann
02f2171010
db/upnp/Util: pass char* to csvToStrings()
2014-01-22 20:24:55 +01:00
Max Kellermann
a5e7d0a90f
db/upnp: require an empty input capability set
2014-01-22 20:21:01 +01:00