aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/plugins/simple/Directory.hxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-06-16Directory: eliminate attribute "have_stat"Max Kellermann1-1/+0
Check for 0 in "device" and "inode" instead.
2014-06-16db/simple: use class boost::intrusive::listMax Kellermann1-19/+41
Remove the C list_head library and use type-safe C++ instead.
2014-02-27db/simple: mount pointsMax Kellermann1-0/+11
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-26db/simple/Directory: eliminate method LookupSong()Max Kellermann1-11/+0
Move to SimpleDatabase::GetSong() to give that method more control.
2014-02-26db/simple/Directory: LookupDirectory() return remaining URIMax Kellermann1-1/+16
Code can now be reused in LookupSong().
2014-02-26db/Directory: add DEVICE_* documentationMax Kellermann1-0/+10
2014-02-26db/simple: create dedicated directoryMax Kellermann1-1/+1
2014-02-23Directory: pass std::string&& to constructorMax Kellermann1-2/+2
2014-02-21db/Directory: use "unsigned" for inode and deviceMax Kellermann1-6/+3
This is what we get from the storage plugin via FileInfo. Fixes a compiler warning on Mac OS X where dev_t appears to be signed.
2014-01-29db/Directory: move isRootDirectory() to Uri.hxxMax Kellermann1-6/+0
Decouple command/OtherCommands.cxx from the "simple" database plugin.
2014-01-24Database*: move to db/Max Kellermann1-1/+1
2014-01-22LightDirectory: new struct replacing Directory in the DB APIMax Kellermann1-0/+3
2014-01-13copyright year 2014Max Kellermann1-1/+1
2014-01-09Directory: remove method Free()Max Kellermann1-8/+0
2014-01-09Directory: convert to fixed-size structMax Kellermann1-19/+9
Using a variable-size struct with embedded string is not worth the trouble here. There are not so many Directory objects.
2014-01-09DetachedSong: fork of struct SongMax Kellermann1-4/+0
From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead.
2014-01-07Directory: make some code generic, move to VarSize.hxxMax Kellermann1-0/+4
2013-10-19*: use references instead of pointersMax Kellermann1-4/+4
2013-10-19*: use nullptr instead of NULLMax Kellermann1-3/+3
2013-10-15gcc.h: rename to Compiler.hMax Kellermann1-1/+1
2013-09-04util/Error: new error passing libraryMax Kellermann1-2/+2
Replaces GLib's GError.
2013-07-30include cleanupMax Kellermann1-1/+0
2013-07-28song: convert header to C++Max Kellermann1-7/+7
2013-01-30TagPool, ...: include cleanupMax Kellermann1-1/+1
2013-01-03PlaylistVector: use std::listMax Kellermann1-8/+3
2013-01-03Directory: initialise in default constructorMax Kellermann1-1/+1
2013-01-03Directory: add constructor and destructorMax Kellermann1-0/+13
2013-01-03Directory: rename struct directory to DirectoryMax Kellermann1-20/+20
2013-01-02Directory: turn functions to methodsMax Kellermann1-150/+141
2013-01-02Directory: make the header C++ onlyMax Kellermann1-15/+3
2012-08-29SongFilter: convert to a C++ classMax Kellermann1-2/+5
2012-08-08directory: use gcc.h macros, not GLibMax Kellermann1-6/+7
2012-08-08DatabaseSelection: add "match" attributeMax Kellermann1-1/+2
Let the database plugin do the match.
2012-08-01db_plugin: convert to C++Max Kellermann1-7/+17
2012-02-13directory.h: move DIRECTORY_DIR to directory_save.cMax Kellermann1-2/+0
2012-02-12playlist_vector: use the list_head libraryMax Kellermann1-3/+8
2012-02-02directory: require the caller to lock the db_mutexMax Kellermann1-0/+21
Reduce the number of lock/unlock cycles, and make database handling safer.
2012-01-24directory: replace songvec with doubly linked listMax Kellermann1-3/+15
2012-01-24directory: add function directory_get_song(), ...Max Kellermann1-0/+22
Wrap songvec_find() and other songvec methods.
2012-01-24directory: replace dirvec with doubly linked listMax Kellermann1-8/+33
Random access is not needed, and a linked list is easier to manage: we don't need to (re-)allocate the pointer array.
2012-01-24directory: simplify constructors and clarify API documentationMax Kellermann1-4/+45
Pass only the "name" to a directory, instead of the full (relative) path.
2011-11-27directory: rename attribute "stat" to "have_stat"Max Kellermann1-1/+1
"stat" is a macro on mingw32, which is a pretty stupid thing, and this commit works around this build failure.
2011-11-27directory: convert "stat" to a boolMax Kellermann1-1/+1
2011-09-13db_plugin: add method visit()Max Kellermann1-1/+1
2011-09-13database: add struct db_visitorMax Kellermann1-4/+6
Use this struct for db_walk().
2011-05-09directory: allow directories with just playlistsMax Kellermann1-1/+2
Keep those when scanning for empty directories. The check in playlist_vector_is_empty() was missing.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-12-21directory: fix warning "comparison between signed and unsigned"Max Kellermann1-2/+2
Cast the constant to dev_t, not to unsigned.
2010-09-23directory: cast DEVICE_INARCHIVE, DEVICE_CONTAINER to dev_tMax Kellermann1-2/+2
Fix gcc warning.
2010-07-21update: store playlist files in databaseMax Kellermann1-0/+4
Don't open the music directory for each "lsinfo" call. Get the list of playlist files from the memory database.