コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }