aboutsummaryrefslogtreecommitdiffstats
path: root/src/command (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-03-14command/{storage,file}: suppress bogus format warnings on WIN32Max Kellermann2-0/+22
2014-03-01command: add command "listfiles"Max Kellermann9-2/+237
Lists files and directories. Supports storage plugins.
2014-02-28{Other,Database}Commands: contract declaration and assignmentMax Kellermann2-12/+6
2014-02-27AllCommands: "findadd" requires the "add" permissionMax Kellermann1-1/+1
2014-02-27db/simple: mount pointsMax Kellermann2-0/+51
A SimpleDatabase instance can now "mount" other Database instances at certain locations. This is used to use a new SimpleDatabase instance for each storage mount (issued with the "mount" protocol command). Each such instance has its own database file, stored in the directory that is specified with the "cache_directory" option.
2014-02-27Playlist: use the Error library to return errorsMax Kellermann2-17/+17
2014-02-27Playlist*: move to queue/Max Kellermann3-3/+3
2014-02-19DatabasePlugin: split headerMax Kellermann1-1/+1
2014-02-19StickerCommands: include cleanupMax Kellermann1-1/+0
2014-02-12StorageCommands: add command "unmount"Max Kellermann3-0/+33
2014-02-12StorageCommands: emit IDLE_MOUNT on successful "mount"Max Kellermann1-0/+2
Add the new idle event to Idle.hxx/Idle.cxx.
2014-02-12StorageCommands: add command "listmounts"Max Kellermann3-0/+54
2014-02-09StorageCommands: expose the "mount" commandMax Kellermann3-0/+97
2014-02-09Idle: error out when unrecognized idle event was specifiedMax Kellermann1-8/+9
Implements the error checks missing in commit 0bad8406
2014-02-09OtherCommands: remove unnecessary nullptr checkMax Kellermann1-3/+0
2014-02-07OtherCommands: use Storage::MapUTF8() instead of Mapper.cxxMax Kellermann1-4/+6
2014-02-07FileCommands: support remove database filesMax Kellermann1-6/+13
2014-02-07FileCommands: use Storage::MapFS() instead of map_uri_fs()Max Kellermann1-5/+11
2014-02-07FileCommands: move code to read_file_comments()Max Kellermann1-15/+22
2014-02-07Mapper: move map_song_detach() to db/DatabaseSong.cxxMax Kellermann2-2/+4
Use Storage::MapUTF8() internally, don't use global variables.
2014-02-04{Message,Neighbor}Commands: use Client::partition instead of Main.hxxMax Kellermann4-13/+17
2014-02-04Instance: add Database attributeMax Kellermann3-4/+6
Move from db/DatabaseGlue.cxx, eliminating global variable.
2014-02-04db/Simple: remove unused function db_get_directory()Max Kellermann1-1/+0
2014-02-04SongSticker: add Database reference parameterMax Kellermann1-1/+1
2014-02-04db/DatabasePlaylist: pass Database reference aroundMax Kellermann2-2/+12
Reduce global variable usage, move to frontend code.
2014-02-03PlaylistFile: use class SongLoaderMax Kellermann1-7/+2
2014-02-03PlaylistFile: switch spl_append_uri() argumentsMax Kellermann1-1/+1
Playlist file name first, to be consistent with the other functions in this library.
2014-02-03SongLoader: new class that merges duplicate codeMax Kellermann2-56/+33
There was quite a lot of duplicate code for loading DetachedSong objects, with different semantics for "securely" loading local files.
2014-02-03FileCommands: use PathTraitsUTF8::IsAbsolute()Max Kellermann1-1/+1
2014-02-02ClientFile: move client_allow_file() into the Client classMax Kellermann3-7/+4
2014-01-30db: add compile-time option to disable databaseMax Kellermann7-4/+56
2014-01-30OtherCommands: merge duplicate code from handle_update(), handle_rescan()Max Kellermann1-31/+10
2014-01-30db/update: convert to OO APIMax Kellermann2-8/+23
Move global variables into the new classes. That may allow multiple update threads for multiple databases one day.
2014-01-29db/Directory: move isRootDirectory() to Uri.hxxMax Kellermann1-1/+1
Decouple command/OtherCommands.cxx from the "simple" database plugin.
2014-01-29sticker: don't use classes Directory and SongMax Kellermann1-11/+4
Don't depend on the "simple" database plugin. This fixes an assertion failure / crash and allows using stickers with other plugins.
2014-01-28OutputAll: convert to class, move instance to class PartitionMax Kellermann3-18/+14
Another big chunk of code for multi-player support.
2014-01-27Playlist{Info,Vector}: move to db/Max Kellermann2-2/+2
2014-01-26NeighborCommands: convert assertion to runtime checkMax Kellermann1-1/+5
2014-01-26neighbor: new subsystem to detect file servers on the local networkMax Kellermann3-0/+98
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.
2014-01-24Mixer*: move to mixer/Max Kellermann2-2/+2
2014-01-24Database*: move to db/Max Kellermann7-15/+15
2014-01-24Sticker*: move to sticker/Max Kellermann2-4/+4
2014-01-24Client*: move to client/Max Kellermann10-14/+14
2014-01-24Update*: move to update/Max Kellermann2-2/+2
2014-01-24decoder/*: move to decoder/plugins/Max Kellermann1-1/+1
2014-01-23output/*: move to output/plugins/Max Kellermann2-3/+3
2014-01-23playlist/*: move to playlist/plugins/Max Kellermann1-1/+2
2014-01-22LightDirectory: new struct replacing Directory in the DB APIMax Kellermann1-0/+1
2014-01-19LightSong: new class to be used by DatabasePlugin callbacksMax Kellermann1-5/+5
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread.
2014-01-15DetachedSong: add method Update()Max Kellermann1-5/+4
Don't create an intermediate Song instance when all we want is a DetachedSong.