Commit 288c1e92 authored by Nicolas Jager's avatar Nicolas Jager Committed by Guillaume Roguez
Browse files

Lrc: implementation



- Pimpl
- make const the return type of getAccountModel()

Change-Id: Id38179ea9271e906f52a2c4ace64b3860c8bebc4
Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Signed-off-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
parent e8dda4e6
......@@ -27,8 +27,6 @@
namespace lrc
{
class Database;
class CallbacksHandler;
class LrcPimpl;
namespace api
......@@ -40,8 +38,11 @@ class LIB_EXPORT Lrc {
public:
Lrc();
~Lrc();
NewAccountModel& getAccountModel();
/**
* get a reference on account model.
* @return a NewAccountModel&.
*/
const NewAccountModel& getAccountModel() const;
private:
std::unique_ptr<LrcPimpl> lrcPipmpl_;
......
......@@ -32,16 +32,16 @@ class LrcPimpl
{
public:
LrcPimpl();
LrcPimpl(const Lrc& linked);
std::unique_ptr<Lrc> parent;
const Lrc& linked;
std::unique_ptr<Database> database;
std::unique_ptr<NewAccountModel> accountModel;
std::unique_ptr<CallbacksHandler> callbackHandler;
std::unique_ptr<NewAccountModel> accountModel;
};
Lrc::Lrc()
: lrcPipmpl_(std::make_unique<LrcPimpl>())
: lrcPipmpl_(std::make_unique<LrcPimpl>(*this))
{
}
......@@ -49,15 +49,19 @@ Lrc::~Lrc()
{
}
NewAccountModel&
Lrc::getAccountModel()
const NewAccountModel&
Lrc::getAccountModel() const
{
return *lrcPipmpl_->accountModel;
}
LrcPimpl::LrcPimpl()
LrcPimpl::LrcPimpl(const Lrc& linked)
: linked(linked)
, database(std::make_unique<Database>())
, callbackHandler(std::make_unique<CallbacksHandler>())
, accountModel(std::make_unique<NewAccountModel>(*database))
{
database = std::make_unique<Database>();
}
} // namespace lrc
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment