mirror of https://github.com/kiwix/libkiwix.git
Introduce LibraryPtr and ConstLibraryPtr.
As we enforce the use of Library through a shared_ptr, let's simplify user life (and code) with new "type".
This commit is contained in:
parent
5292f06fff
commit
1dc9705597
|
@ -183,6 +183,9 @@ class ConcurrentCache;
|
|||
template<typename, typename>
|
||||
class MultiKeyCache;
|
||||
|
||||
using LibraryPtr = std::shared_ptr<Library>;
|
||||
using ConstLibraryPtr = std::shared_ptr<const Library>;
|
||||
|
||||
/**
|
||||
* A Library store several books.
|
||||
*/
|
||||
|
@ -198,8 +201,8 @@ class Library: public std::enable_shared_from_this<Library>
|
|||
Library();
|
||||
|
||||
public:
|
||||
[[nodiscard]] static std::shared_ptr<Library> create() {
|
||||
return std::shared_ptr<Library>(new Library());
|
||||
[[nodiscard]] static LibraryPtr create() {
|
||||
return LibraryPtr(new Library());
|
||||
}
|
||||
~Library();
|
||||
|
||||
|
@ -405,6 +408,7 @@ private: //data
|
|||
std::unique_ptr<Xapian::WritableDatabase> m_bookDB;
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -37,10 +37,10 @@ namespace kiwix
|
|||
class LibraryManipulator
|
||||
{
|
||||
public: // functions
|
||||
explicit LibraryManipulator(std::shared_ptr<Library> library);
|
||||
explicit LibraryManipulator(LibraryPtr library);
|
||||
virtual ~LibraryManipulator();
|
||||
|
||||
std::shared_ptr<Library> getLibrary() const { return library; }
|
||||
LibraryPtr getLibrary() const { return library; }
|
||||
|
||||
bool addBookToLibrary(const Book& book);
|
||||
void addBookmarkToLibrary(const Bookmark& bookmark);
|
||||
|
@ -52,7 +52,7 @@ class LibraryManipulator
|
|||
virtual void booksWereRemovedFromLibrary();
|
||||
|
||||
private: // data
|
||||
std::shared_ptr<kiwix::Library> library;
|
||||
LibraryPtr library;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -65,7 +65,7 @@ class Manager
|
|||
|
||||
public: // functions
|
||||
explicit Manager(LibraryManipulator manipulator);
|
||||
explicit Manager(std::shared_ptr<Library> library);
|
||||
explicit Manager(LibraryPtr library);
|
||||
|
||||
/**
|
||||
* Read a `library.xml` and add book in the file to the library.
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace kiwix
|
|||
// LibraryManipulator
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
LibraryManipulator::LibraryManipulator(std::shared_ptr<Library> library)
|
||||
LibraryManipulator::LibraryManipulator(LibraryPtr library)
|
||||
: library(library)
|
||||
{}
|
||||
|
||||
|
@ -85,7 +85,7 @@ Manager::Manager(LibraryManipulator manipulator):
|
|||
{
|
||||
}
|
||||
|
||||
Manager::Manager(std::shared_ptr<Library> library) :
|
||||
Manager::Manager(LibraryPtr library) :
|
||||
writableLibraryPath(""),
|
||||
manipulator(LibraryManipulator(library))
|
||||
{
|
||||
|
|
|
@ -63,7 +63,7 @@ std::string HumanReadableNameMapper::getIdForName(const std::string& name) const
|
|||
// UpdatableNameMapper
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
UpdatableNameMapper::UpdatableNameMapper(std::shared_ptr<Library> lib, bool withAlias)
|
||||
UpdatableNameMapper::UpdatableNameMapper(LibraryPtr lib, bool withAlias)
|
||||
: library(lib)
|
||||
, withAlias(withAlias)
|
||||
{
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
namespace kiwix {
|
||||
|
||||
Server::Server(std::shared_ptr<Library> library, std::shared_ptr<NameMapper> nameMapper) :
|
||||
Server::Server(LibraryPtr library, std::shared_ptr<NameMapper> nameMapper) :
|
||||
mp_library(library),
|
||||
mp_nameMapper(nameMapper),
|
||||
mp_server(nullptr)
|
||||
|
|
|
@ -411,7 +411,7 @@ public:
|
|||
};
|
||||
|
||||
|
||||
InternalServer::InternalServer(std::shared_ptr<Library> library,
|
||||
InternalServer::InternalServer(LibraryPtr library,
|
||||
std::shared_ptr<NameMapper> nameMapper,
|
||||
std::string addr,
|
||||
int port,
|
||||
|
|
|
@ -92,7 +92,7 @@ class OPDSDumper;
|
|||
|
||||
class InternalServer {
|
||||
public:
|
||||
InternalServer(std::shared_ptr<Library> library,
|
||||
InternalServer(LibraryPtr library,
|
||||
std::shared_ptr<NameMapper> nameMapper,
|
||||
std::string addr,
|
||||
int port,
|
||||
|
@ -178,7 +178,7 @@ class InternalServer {
|
|||
int m_ipConnectionLimit;
|
||||
struct MHD_Daemon* mp_daemon;
|
||||
|
||||
std::shared_ptr<Library> mp_library;
|
||||
LibraryPtr mp_library;
|
||||
std::shared_ptr<NameMapper> mp_nameMapper;
|
||||
|
||||
SearchCache searchCache;
|
||||
|
|
Loading…
Reference in New Issue