ObjectLock olock(this);
InternalDeserialize(update, attributeTypes);
}
-
- if (attributeTypes & Attribute_Config)
- OnConfigLoaded();
-
- if (attributeTypes & Attribute_State)
- OnStateLoaded();
}
void DynamicObject::InternalSerialize(const Dictionary::Ptr& bag, int attributeTypes) const
virtual void Start(void);
virtual void Stop(void);
+ virtual void OnConfigLoaded(void);
+ virtual void OnStateLoaded(void);
+
template<typename T>
static shared_ptr<T> GetObject(const String& name)
{
virtual void InternalSerialize(const Dictionary::Ptr& bag, int attributeTypes) const;
virtual void InternalDeserialize(const Dictionary::Ptr& bag, int attributeTypes);
- virtual void OnConfigLoaded(void);
- virtual void OnStateLoaded(void);
-
private:
String m_Name;
String m_Type;
objects.push_back(object);
}
+ BOOST_FOREACH(const DynamicObject::Ptr& object, objects) {
+ object->OnConfigLoaded();
+ }
+
/* restore the previous program state */
DynamicObject::RestoreObjects(Application::GetStatePath());
+ BOOST_FOREACH(const DynamicObject::Ptr& object, objects) {
+ object->OnStateLoaded();
+ }
+
BOOST_FOREACH(const DynamicObject::Ptr& object, objects) {
Log(LogDebug, "config", "Activating object '" + object->GetName() + "' of type '" + object->GetType()->GetName() + "'");
object->Start();