Exemplo n.º 1
0
      public A read(IPrefValueBackend backend, string key, A defaultVal) {
        var serialized = backend.getString(key, DEFAULT_VALUE);

        if (string.IsNullOrEmpty(serialized)) return deserializationFailed(key, defaultVal, serialized);
        if (serialized == DEFAULT_VALUE) return defaultVal;

        var serializedWithoutDiscriminator = serialized.Substring(1);
        var opt = deserialize(serializedWithoutDiscriminator);
        return opt.isSome ? opt.get : deserializationFailed(key, defaultVal, serialized);
      }
Exemplo n.º 2
0
 public PrefValImpl(
     string key, IPrefValueRW <A> rw, A defaultVal,
     IPrefValueBackend backend, bool saveOnEveryWrite
     )
 {
     this.key              = key;
     writer                = rw;
     this.backend          = backend;
     this.saveOnEveryWrite = saveOnEveryWrite;
     _value                = persist(rw.read(backend, key, defaultVal));
 }
Exemplo n.º 3
0
 public PrefVal(
     string key, A defaultValue, Fn <string, A, A> reader, Act <string, A> writer,
     IPrefValueBackend backend, bool saveOnEveryWrite
     )
 {
     this.key              = key;
     this.writer           = writer;
     this.backend          = backend;
     this.saveOnEveryWrite = saveOnEveryWrite;
     value = reader(key, defaultValue);
 }
Exemplo n.º 4
0
 public PrefValImpl(
     string key, Fn <A> reader, Act <A> writer,
     IPrefValueBackend backend, bool saveOnEveryWrite
     )
 {
     this.key              = key;
     this.writer           = writer;
     this.backend          = backend;
     this.saveOnEveryWrite = saveOnEveryWrite;
     _value = persist(reader());
 }
Exemplo n.º 5
0
 public static void setBool(
     this IPrefValueBackend backend, string name, bool value
     ) => backend.setInt(name, bool2int(value));
Exemplo n.º 6
0
 public static bool getBool(
     this IPrefValueBackend backend, string name, bool defaultValue
     ) => backend.getInt(name, bool2int(defaultValue)) != 0;
Exemplo n.º 7
0
 public void write(IPrefValueBackend backend, string key, bool value) =>
   backend.setBool(key, value);
Exemplo n.º 8
0
 public bool read(IPrefValueBackend backend, string key, bool defaultVal) =>
   backend.getBool(key, defaultVal);
Exemplo n.º 9
0
 public void write(IPrefValueBackend backend, string key, float value) =>
   backend.setFloat(key, value);
Exemplo n.º 10
0
 public DateTime read(IPrefValueBackend backend, string key, DateTime defaultVal) =>
   deserializeDate(backend.getString(key, serializeDate(defaultVal)));
Exemplo n.º 11
0
 public uint read(IPrefValueBackend backend, string key, uint defaultVal) =>
   backend.getUInt(key, defaultVal);
Exemplo n.º 12
0
 public string read(IPrefValueBackend backend, string key, string defaultVal) => 
   backend.getString(key, defaultVal);
Exemplo n.º 13
0
 public void write(IPrefValueBackend backend, string key, string value) =>
   backend.setString(key, value);
Exemplo n.º 14
0
 public void write(IPrefValueBackend backend, string key, A value) =>
   backend.setString(key, map(value));
Exemplo n.º 15
0
 public A read(IPrefValueBackend backend, string key, A defaultVal) {
   var str = backend.getString(key, CUSTOM_V1_DEFAULT);
   return str == CUSTOM_V1_DEFAULT ? defaultVal : comap(str);
 }
Exemplo n.º 16
0
 public void write(IPrefValueBackend backend, string key, A value) =>
   backend.setString(key, $"{NON_DEFAULT_VALUE_DISCRIMINATOR}{serialize(value)}");
Exemplo n.º 17
0
 public static uint getUInt(
     this IPrefValueBackend backend, string name, uint defaultValue
     ) =>
 unchecked ((uint)backend.getInt(name, unchecked ((int)defaultValue)));
Exemplo n.º 18
0
 public PrefValStorage(IPrefValueBackend backend)
 {
     this.backend = backend;
 }
Exemplo n.º 19
0
 public static void setUInt(
     this IPrefValueBackend backend, string name, uint value
     ) =>
 backend.setInt(name, unchecked ((int)value));
Exemplo n.º 20
0
 public void write(IPrefValueBackend backend, string key, Duration value) =>
   backend.setInt(key, value.millis);
Exemplo n.º 21
0
 public void write(IPrefValueBackend backend, string key, uint value) =>
   backend.setUInt(key, value);
Exemplo n.º 22
0
 public void write(IPrefValueBackend backend, string key, DateTime value) =>
   backend.setString(key, serializeDate(value));
Exemplo n.º 23
0
 public float read(IPrefValueBackend backend, string key, float defaultVal) =>
   backend.getFloat(key, defaultVal);
Exemplo n.º 24
0
 public Duration read(IPrefValueBackend backend, string key, Duration defaultVal) =>
   new Duration(backend.getInt(key, defaultVal.millis));