struct Loader::Impl : boost::signals::trackable {
///
- Impl(Params const &);
+ Impl();
///
~Impl();
///
Loader::Loader()
- : pimpl_(new Impl(Params()))
+ : pimpl_(new Impl)
{}
Loader::Loader(string const & file, DisplayType type)
- : pimpl_(new Impl(Params()))
+ : pimpl_(new Impl)
{
reset(file, type);
}
Loader::Loader(string const & file, Params const & params)
- : pimpl_(new Impl(params))
+ : pimpl_(new Impl)
{
reset(file, params);
}
Loader::Loader(Loader const & other)
- : pimpl_(new Impl(other.pimpl_->params()))
-{}
+ : pimpl_(new Impl)
+{
+ Params const & params = other.pimpl_->params();
+ reset(params.filename, params);
+}
Loader::~Loader()
{}
+Loader & Loader::operator=(Loader const & other)
+{
+ if (this != &other) {
+ Params const & params = other.pimpl_->params();
+ reset(params.filename, params);
+ }
+ return *this;
+}
+
+
void Loader::reset(string const & file, DisplayType type) const
{
Params params;
}
-Loader::Impl::Impl(Params const & params)
- : status_(WaitingToLoad), params_(params)
+Loader::Impl::Impl()
+ : status_(WaitingToLoad)
{
}
}
}
-
void Loader::Impl::startLoading()
{
if (status_ != WaitingToLoad)