summaryrefslogtreecommitdiff
path: root/src/Instance.hxx
AgeCommit message (Collapse)Author
2021-01-01copyright year 2021Max Kellermann
2020-02-17Instance: flush input cache on SIGHUPMax Kellermann
2020-01-20command/partition: add command "delpartition"Max Kellermann
2020-01-20Partition: add a local idle_monitorMax Kellermann
Make idle events per-partition, but leave Instance::EmitIdle() and its underlying idle_monitor which broadcasts idle events to all partitions.
2020-01-20Instance: move code to OnStateModified()Max Kellermann
2020-01-20Instance: manage StateFile with std::unique_ptrMax Kellermann
2020-01-20Partition,Instance: add EmitIdle() documentationMax Kellermann
2020-01-18copyright year 2020Max Kellermann
2019-05-31input/cache: first draft of the file cacheMax Kellermann
2019-05-29Instance: wrap ClientList in std::unique_ptr<>Max Kellermann
2019-04-25Instance: use std::unique_ptr<> to manage the NeighborGlue pointerMax Kellermann
2019-04-25sticker/Database: wrap in class StickerDatabaseMax Kellermann
2019-04-24db/DatabaseListener: add `noexcept`Max Kellermann
2019-04-24Instance: add `noexcept`Max Kellermann
2019-02-20Instance: use std::unique_ptr<> to manage the Database pointerMax Kellermann
2019-02-15Instance: eliminate FinishShutdownUpdate(), move code to destructorMax Kellermann
2019-02-15Instance: eliminate ShutdownDatabase(), move code to destructorMax Kellermann
Destruct automatically, even if leaving the scope due to exception being thrown.
2019-02-05Instance: remove FinishShutdownPartitions()Max Kellermann
The list of partitions is cleared automatically.
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-10-31*: copyright year 2018Max Kellermann
2018-08-20Compiler.h: move to util/Max Kellermann
2018-08-02lib/systemd/Watchdog: implement the systemd watchdog protocolMax Kellermann
2018-02-16output/alsa: use a new I/O thread with real-time schedulingMax Kellermann
The normal I/O event thread can have a large latency, e.g. when libgnutls loads all TLS CA certificates for a https connect. This makes it unreliable for the ALSA I/O notifications, and causes ring buffer xruns. To avoid interfering with high latency events such as CURL's, we move the ALSA I/O events to a separate I/O thread which also obtains real-time scheduling (if possible). Closes #221
2018-01-30RemoteTagCache: new glue class for integrating RemoteTagScannerMax Kellermann
This commit also puts an instance of RemoteTagScanner into the Instance class, and hooks it into the "add" and "addid" commands.
2018-01-29Main: move part of the shutdown code to Instance methodsMax Kellermann
2018-01-29Instance: rename Shutdown() to Break()Max Kellermann
2018-01-29Instance: un-inline the destructorMax Kellermann
Allows more forward declarations.
2018-01-02neighbor/{Explorer,Listener}: add "noexcept"Max Kellermann
2017-05-15*: add "noexcept" to many, many function prototypesMax Kellermann
See commit 71f0ed8b7499011b53f90998ebfbd3250fd80948
2017-05-15Merge tag 'v0.20.7'Max Kellermann
release v0.20.7
2017-05-08*: remove "pure" and "const" attributes from throwing functionsMax Kellermann
The "pure" and "const" attributes are not so well-defined, and a recent clang version implements an optimization which pushes the definition's boundary beyond what I believed it was. clang now assumes that functions declared "pure" cannot throw exceptions, even if they lack the "noexcept" specification. When compiled with this new clang version, MPD will crash randomly if an exception happens to get thrown by such as "pure" function (https://github.com/MusicPlayerDaemon/MPD/issues/41). This commit removes all such misplaced "pure" and "const" attributes, closing #41.
2017-02-25Instance: add method FindPartition()Max Kellermann
2017-02-17Instance: make "partition" a std::listMax Kellermann
With this commit, multi-player support becomes possible... it's just not wired to the frontend yet. This is based on massive amounts of refactoring work I did over the past 9 years.
2017-02-17Instance: un-inline the constructorMax Kellermann
2017-02-17Instance: use C++11 initializerMax Kellermann
2017-02-10IOThread: move EventThread instance into struct InstanceMax Kellermann
Eliminate global variables.
2017-01-03update copyright yearMax Kellermann
2016-11-10util/Error: remove obsolete classMax Kellermann
2016-10-26Instance: remove Error parameter from GetDatabase()Max Kellermann
2016-10-26Instance: add GetDatabaseOrThrow()Max Kellermann
2016-10-12Fix for segfault on uninitialized state_filehawken
2016-06-17util/BindMethod: new utility class for callbacksMax Kellermann
Replaces the old BoundMethod template.
2016-03-18db/DatabaseListener: pass URI to OnDatabaseSongRemoved()Max Kellermann
There's no point in passing a LightSong reference here; the callee is interested only in the URI.
2016-03-10Instance: remove redundant "virtual" keywordsMax Kellermann
2016-03-10Partition: use CallbackMaskMonitor, replacing class GlobalEvents::MonitorMax Kellermann
2016-03-10Instance: move GlobalEvents::Monitor to PartitionMax Kellermann
All remaining events are specific to the Partition.
2016-03-10Instance: replace IdleMaskMonitor with CallMaskMonitorMax Kellermann
2016-03-10IdleMonitor: new class to replace GlobalEvents::IDLEMax Kellermann
Use MaskMonitor to eliminate duplicate code.
2016-03-10Instance: add base class which owns the EventLoopMax Kellermann
2016-03-05Instance: add StateFile* attributeMax Kellermann