X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdynamicobjectloader.h;h=687dacaf5363cf74b179a486c017731ae4976451;hb=d8bda96a0aac09774bb1e2a8b57ac2e48a93b3c1;hp=551a0a63dd1f454cbc691cbe53ebf96b620f23f1;hpb=f2f933f53cd729ca034e054085b96107f64f3928;p=libs%2Fdatafile.git diff --git a/source/dynamicobjectloader.h b/source/dynamicobjectloader.h index 551a0a6..687daca 100644 --- a/source/dynamicobjectloader.h +++ b/source/dynamicobjectloader.h @@ -30,11 +30,11 @@ protected: typedef Msp::TypeRegistry TypeRegistry; - Collection *coll; - T *object; + Collection *coll = nullptr; + T *object = nullptr; private: - Loader *obj_loader; - std::function store_func; + Loader *obj_loader = nullptr; + void (*store_func)(Collection &, const std::string &, T *) = nullptr; static ActionMap shared_actions; @@ -44,7 +44,7 @@ public: ~DynamicObjectLoader() { delete object; delete obj_loader; } private: - virtual void init_actions(); + void init_actions() override; public: T *get_object() { T *o = object; object = 0; return o; } @@ -70,9 +70,7 @@ Loader::ActionMap DynamicObjectLoader::shared_actions; template DynamicObjectLoader::DynamicObjectLoader(Collection *c): - coll(c), - object(0), - obj_loader(0) + coll(c) { set_actions(shared_actions); }