public FilePropertySet(ApplicationData owner, ApplicationDataLocality locality) { StorageFolder folder; switch (locality) { case ApplicationDataLocality.Local: folder = owner.LocalFolder; break; case ApplicationDataLocality.Roaming: folder = owner.RoamingFolder; break; case ApplicationDataLocality.LocalCache: folder = owner.LocalCacheFolder; break; case ApplicationDataLocality.Temporary: folder = owner.TemporaryFolder; break; default: throw new ArgumentOutOfRangeException(nameof(locality)); } _folderPath = folder.Path; _filePath = Path.Combine(folder.Path, UWPFileName); ReadFromFile(); }
public bool Contains(string key, ApplicationDataLocality dataLocality) { if (key == null) { throw new ArgumentNullException(nameof(key)); } switch (dataLocality) { case ApplicationDataLocality.Local: return(ApplicationData.Current.LocalSettings.Values.ContainsKey(key)); case ApplicationDataLocality.Roaming: return(ApplicationData.Current.RoamingSettings.Values.ContainsKey(key)); case ApplicationDataLocality.Temporary: throw new NotSupportedException(); case ApplicationDataLocality.LocalCache: throw new NotSupportedException(); default: throw new ArgumentOutOfRangeException(nameof(dataLocality)); } }
public FilePropertySet(ApplicationData owner, ApplicationDataLocality locality) { _locality = locality; _owner = owner; ReadFromLegacyFile(); }
internal ApplicationDataContainer(string name, ApplicationDataLocality locality) { Locality = locality; Name = name; InitializePartial(); }
internal static void Clear(ApplicationDataLocality locality) { var parms = new ApplicationDataContainer_ClearParams { Locality = locality.ToStringInvariant() }; TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:clear", parms); }
internal ApplicationDataContainerSettings(ApplicationDataLocality locality, string name) { _locality = locality; #if __ANDROID__ || WINDOWS_PHONE Initialize(); #elif __UNIFIED__ Initialize(name); #endif }
internal static void SetValue(ApplicationDataLocality locality, string key, string value) { var parms = new ApplicationDataContainer_SetValueParams { Key = key, Value = value, Locality = locality.ToStringInvariant() }; TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:setValue", parms); }
internal static int GetCount(ApplicationDataLocality locality) { var parms = new ApplicationDataContainer_GetCountParams { Locality = locality.ToStringInvariant() }; var ret = (ApplicationDataContainer_GetCountReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:getCount", parms, typeof(ApplicationDataContainer_GetCountReturn)); return(ret.Count); }
internal static string GetValueByIndex(ApplicationDataLocality locality, int index) { var parms = new ApplicationDataContainer_GetValueByIndexParams { Locality = locality.ToStringInvariant(), Index = index }; var ret = (ApplicationDataContainer_GetValueByIndexReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:getValueByIndex", parms, typeof(ApplicationDataContainer_GetValueByIndexReturn)); return(ret.Value); }
internal static bool Remove(ApplicationDataLocality locality, string key) { var parms = new ApplicationDataContainer_RemoveParams { Locality = locality.ToStringInvariant(), Key = key }; var ret = (ApplicationDataContainer_RemoveReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:remove", parms, typeof(ApplicationDataContainer_RemoveReturn)); return(ret.Removed); }
internal static bool ContainsKey(ApplicationDataLocality locality, string key) { var parms = new ApplicationDataContainer_ContainsKeyParams { Key = key, Locality = locality.ToStringInvariant() }; var ret = (ApplicationDataContainer_ContainsKeyReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:containsKey", parms, typeof(ApplicationDataContainer_ContainsKeyReturn)); return(ret.ContainsKey); }
public static async Task <bool> ClearAsync(ApplicationDataLocality locality) { try { await ApplicationData.Current.ClearAsync(locality); return(true); } catch { return(false); } }
internal static bool TryGetValue(ApplicationDataLocality locality, string key, out string?value) { var parms = new ApplicationDataContainer_TryGetValueParams { Key = key, Locality = locality.ToStringInvariant() }; var ret = (ApplicationDataContainer_TryGetValueReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:tryGetValue", parms, typeof(ApplicationDataContainer_TryGetValueReturn)); value = ret.Value; return(ret.HasValue); }
public void Set <T>(string key, T value, ApplicationDataLocality dataLocality) { if (key == null) { throw new ArgumentNullException(nameof(key)); } switch (dataLocality) { case ApplicationDataLocality.Local: { object set = value; if (typeof(T).GetTypeInfo().IsEnum) { set = Convert.ChangeType(value, Enum.GetUnderlyingType(typeof(T))); } ApplicationData.Current.LocalSettings.Values[key] = set; RaisePropertyChanged(key); break; } case ApplicationDataLocality.Roaming: { object set = value; if (typeof(T).GetTypeInfo().IsEnum) { set = Convert.ChangeType(value, Enum.GetUnderlyingType(typeof(T))); } var applicationData = ApplicationData.Current; applicationData.RoamingSettings.Values[key] = set; RaisePropertyChanged(key); applicationData.SignalDataChanged(); break; } case ApplicationDataLocality.Temporary: throw new NotSupportedException(); case ApplicationDataLocality.LocalCache: throw new NotSupportedException(); default: throw new ArgumentOutOfRangeException(nameof(dataLocality)); } }
public bool Remove(string key, ApplicationDataLocality dataLocality) { if (key == null) { throw new ArgumentNullException(nameof(key)); } bool result; switch (dataLocality) { case ApplicationDataLocality.Local: result = ApplicationData.Current.LocalSettings.Values.Remove(key); break; case ApplicationDataLocality.Roaming: var applicationData = ApplicationData.Current; result = applicationData.RoamingSettings.Values.Remove(key); if (result) { applicationData.SignalDataChanged(); } break; case ApplicationDataLocality.Temporary: throw new NotSupportedException(); case ApplicationDataLocality.LocalCache: throw new NotSupportedException(); default: throw new ArgumentOutOfRangeException(nameof(dataLocality)); } if (result) { RaisePropertyChanged(key); } return(result); }
public T Get <T>(string key, ApplicationDataLocality dataLocality, Func <T> defaultValue = null) { if (key == null) { throw new ArgumentNullException(nameof(key)); } switch (dataLocality) { case ApplicationDataLocality.Local: { object value; if (ApplicationData.Current.LocalSettings.Values.TryGetValue(key, out value)) { return((T)value); } return(defaultValue != null?defaultValue() : default(T)); } case ApplicationDataLocality.Roaming: { object value; if (ApplicationData.Current.RoamingSettings.Values.TryGetValue(key, out value)) { return((T)value); } return(defaultValue != null?defaultValue() : default(T)); } case ApplicationDataLocality.Temporary: throw new NotSupportedException(); case ApplicationDataLocality.LocalCache: throw new NotSupportedException(); default: throw new ArgumentOutOfRangeException(nameof(dataLocality)); } }
/// <summary> /// Removes all application data from the specified app data store. /// </summary> /// <param name="locality">One of the enumeration values.</param> /// <returns></returns> public Task ClearAsync(ApplicationDataLocality locality) { return(Task.Run(async() => { switch (locality) { case ApplicationDataLocality.Local: await LocalFolder?.DeleteAllItems(); LocalSettings?.Values.Clear(); break; case ApplicationDataLocality.Roaming: await RoamingFolder?.DeleteAllItems(); RoamingSettings?.Values.Clear(); break; case ApplicationDataLocality.Temporary: await TemporaryFolder?.DeleteAllItems(); break; } })); }
internal ApplicationDataContainer(ApplicationDataLocality locality, string name) { _locality = locality; _name = name; _settings = new ApplicationDataContainerSettings(locality, name); }
public override void StartContainers(ApplicationDataLocality locality) { WriteIndent(); writer.WriteLine("<Containers locality='{0}'>", locality.ToString()); Indent(); }
public Foundation.IAsyncAction ClearAsync(ApplicationDataLocality locality) { throw new NotImplementedException("The member IAsyncAction ApplicationData.ClearAsync(ApplicationDataLocality locality) is not implemented in Uno."); }
public override void StartContainers(ApplicationDataLocality locality) { }
public static async Task<bool> ClearAsync(ApplicationDataLocality locality) { try { await ApplicationData.Current.ClearAsync(locality); return true; } catch { return false; } }
public abstract void StartContainers(ApplicationDataLocality locality);