//public string ReadString(string fieldName) //{ // lock (this) // { // if (_values.ContainsKey(fieldName)) // { // return string.Empty; // } // return _values[fieldName]; // } //} public PersistentData Clone() { PersistentData result = new PersistentData(); lock (this) { foreach (string key in _values.Keys) { result._values.Add(key, _values[key]); } } return result; }
//public string ReadString(string fieldName) //{ // lock (this) // { // if (_values.ContainsKey(fieldName)) // { // return string.Empty; // } // return _values[fieldName]; // } //} public PersistentData Clone() { PersistentData result = new PersistentData(); lock (this) { foreach (string key in _values.Keys) { result._values.Add(key, _values[key]); } } return(result); }
/// <summary> /// Allows the user of this interface to force an update to an object. /// Also the object itself can raise an request to be updated (saved). /// </summary> public bool SaveObjectState(IPersistentEx persistent) { TracerHelper.Trace("[" + ActualPersistentId(persistent) + "] invoked by: " + ReflectionHelper.GetFullCallingMethodName(2)); lock (this) { RegisterObject(persistent); PersistentData data = _pendingSaveObjects[ActualPersistentId(persistent)]; if (persistent.OnSaveState(this, data) == false) { return(false); } // Only if the receiver has confirmed the saving operation, replace the current data. _pendingSaveObjects[ActualPersistentId(persistent)] = data; } return(true); }
public abstract bool OnRestoreState(IPersistentManager manager, PersistentData data);
public abstract bool OnSaveState(IPersistentManager manager, PersistentData data);