private void ShowCurrentSettings() { if (_dbSettings == null) { _dbSettings = new RemoteDBSettings(); } NSDictionary settings = _dbSettings.GetConfigSettings(); NSString config = (NSString)settings.ValueForKey(GDiOS.GDAppConfigKeyConfig); NSNumber copyPasteOn = (NSNumber)settings.ValueForKey(GDiOS.GDAppConfigKeyCopyPasteOn); NSNumber detailedLogsOn = (NSNumber)settings.ValueForKey(GDiOS.GDAppConfigKeyDetailedLogsOn); NSString userEmail = (NSString)settings.ValueForKey(GDiOS.GDAppConfigKeyUserId); GDAppServer firstServer = (GDAppServer)settings.ValueForKey(GDiOS.GDAppConfigKeyServers); StringBuilder builder = new StringBuilder(); if (firstServer != null) { if (!string.IsNullOrWhiteSpace(firstServer.Server)) { builder.AppendLine(String.Format("Server Host: {0}", firstServer.Server)); } if (firstServer.Port != null) { builder.AppendLine(String.Format("Server Port: {0}", firstServer.Port.Int32Value)); } if (firstServer.Priority != null) { builder.AppendLine(String.Format("Server Priority: {0}", firstServer.Priority.Int32Value)); } if (config != null) { builder.AppendLine(String.Format("Config: {0}", config)); } if (copyPasteOn != null) { builder.AppendLine(String.Format("Data Leakage Security Policy: {0}", copyPasteOn.Int32Value)); } if (detailedLogsOn != null) { builder.AppendLine(String.Format("Logging Level: {0}", detailedLogsOn.Int32Value)); } if (userEmail != null) { builder.AppendLine(String.Format("User Email: {0}", userEmail)); } } UIAlertView alertView = new UIAlertView("App Config Change", builder.ToString(), null, "OK", null); alertView.Show(); }
public NSMutableDictionary GetConfigSettings() { NSMutableDictionary returnDictionary = new NSMutableDictionary(); IntPtr statement = IntPtr.Zero; statement = SQLite3.Prepare2(_database, SQL_GET_SETTINGS); int detailedLogOn = -100; if (statement == IntPtr.Zero) { return(null); } var result = SQLite3.Step(statement); if (result == SQLite3.Result.Row) { IntPtr serverHostPtr = SQLite3.ColumnText(statement, 0); string serverHost = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(serverHostPtr); int port = SQLite3.ColumnInt(statement, 1); int priority = SQLite3.ColumnInt(statement, 2); IntPtr configPtr = SQLite3.ColumnText(statement, 3); string config = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(configPtr); int copyPasteOn = SQLite3.ColumnInt(statement, 4); detailedLogOn = SQLite3.ColumnInt(statement, 5); IntPtr userEmailPtr = SQLite3.ColumnText(statement, 6); string userEmail = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(userEmailPtr); if (!String.IsNullOrWhiteSpace(serverHost)) { GDAppServer firstServer = new GDAppServer(serverHost, new NSNumber(port), new NSNumber(priority)); returnDictionary.Add(GDiOS.GDAppConfigKeyServers, firstServer); } if (!String.IsNullOrWhiteSpace(config)) { returnDictionary.Add(GDiOS.GDAppConfigKeyConfig, new NSString(config)); } returnDictionary.Add(GDiOS.GDAppConfigKeyCopyPasteOn, new NSNumber(copyPasteOn)); if (detailedLogOn != -100) { returnDictionary.Add(GDiOS.GDAppConfigKeyDetailedLogsOn, new NSNumber(detailedLogOn)); } if (!string.IsNullOrWhiteSpace(userEmail)) { returnDictionary.Add(GDiOS.GDAppConfigKeyUserId, new NSString(userEmail)); } } SQLite3.Finalize(statement); return(returnDictionary); }
private void OnRemoteSettingsUpdated() { NSDictionary settings = GDLibrary.GetApplicationConfig(); NSString appConfig = (NSString)settings.ValueForKey(GDiOS.GDAppConfigKeyConfig); NSNumber copyPasteOn = (NSNumber)settings.ValueForKey(GDiOS.GDAppConfigKeyCopyPasteOn); NSNumber detailedLogsOn = (NSNumber)settings.ValueForKey(GDiOS.GDAppConfigKeyDetailedLogsOn); NSString userEmail = (NSString)settings.ValueForKey(GDiOS.GDAppConfigKeyUserId); GDAppServer firstServer = null; NSArray allServers = (NSArray)settings.ValueForKey(GDiOS.GDAppConfigKeyServers); if (allServers != null && allServers.Count > 0) { firstServer = allServers.GetItem <GDAppServer> (0); } NSString server = null; NSNumber port = null; NSNumber priority = null; if (firstServer != null) { if (firstServer.Server != null) { server = new NSString(firstServer.Server); Console.Write(String.Format("Server Host: {0}", server)); } if (firstServer.Port != null) { port = firstServer.Port; Console.WriteLine(String.Format("Server Port: {0}", port.NIntValue)); } if (firstServer.Priority != null) { priority = firstServer.Priority; Console.WriteLine(String.Format("Server Priority: {0}", priority.NIntValue)); } } bool result = StoreRemoteSettings(server, port, priority, appConfig, copyPasteOn, detailedLogsOn, userEmail); if (!result) { Console.WriteLine("Error storing settings"); } ShowCurrentSettings(); }