/// <summary> /// Exports the providers to a serialization object. /// </summary> /// <returns></returns> internal APIProvidersSettings Export() { APIProvidersSettings serial = new APIProvidersSettings { CurrentProviderName = CurrentProvider.Name }; // Providers foreach (APIProvider provider in CustomProviders) { SerializableAPIProvider serialProvider = new SerializableAPIProvider { Name = provider.Name, Address = provider.Url.AbsoluteUri, SupportsCompressedResponse = provider.SupportsCompressedResponse }; serial.CustomProviders.Add(serialProvider); // Methods serialProvider.Methods.Clear(); foreach (APIMethod method in provider.Methods.Where(method => !String.IsNullOrWhiteSpace(method.Path))) { serialProvider.Methods.Add(new SerializableAPIMethod { MethodName = method.Method.ToString(), Path = method.Path }); } } return(serial); }
/// <summary> /// Update the providers with the provided serialization object. /// </summary> /// <param name="serial"></param> internal void Import(APIProvidersSettings serial) { m_customProviders.Clear(); CurrentProvider = DefaultProvider; // Providers foreach (SerializableAPIProvider sProvider in serial.CustomProviders) { APIProvider provider = new APIProvider { Name = sProvider.Name, Url = new Uri(sProvider.Address), SupportsCompressedResponse = sProvider.SupportsCompressedResponse }; // Providers' methods foreach (SerializableAPIMethod sMethod in sProvider.Methods) { Enum method = APIMethods.Methods.FirstOrDefault(x => x.ToString() == sMethod.MethodName); if (method == null) { continue; } APIMethod apiMethod = provider.GetMethod(method); if (apiMethod != null) { apiMethod.Path = sMethod.Path; } } // Add this provider to our inner list m_customProviders.Add(provider); } // Current provider APIProvider newCurrentProvider = this[serial.CurrentProviderName]; if (newCurrentProvider != null) { CurrentProvider = newCurrentProvider; } // Test Provider is only available in debug mode if (serial.CurrentProviderName == TestProvider.Name) { CurrentProvider = EveMonClient.IsDebugBuild ? TestProvider : DefaultProvider; } }
public SerializableSettings() { m_plans = new Collection <SerializablePlan>(); m_apiKeys = new Collection <SerializableAPIKey>(); m_characters = new Collection <SerializableSettingsCharacter>(); m_monitoredCharacters = new Collection <MonitoredCharacterSettings>(); CloudStorageServiceProvider = new CloudStorageServiceProviderSettings(); PortableEveInstallations = new PortableEveInstallationsSettings(); Notifications = new NotificationSettings(); APIProviders = new APIProvidersSettings(); LoadoutsProvider = new LoadoutsProviderSettings(); MarketPricer = new MarketPricerSettings(); Exportation = new ExportationSettings(); Scheduler = new SchedulerSettings(); Calendar = new CalendarSettings(); Updates = new UpdateSettings(); Proxy = new ProxySettings(); G15 = new G15Settings(); UI = new UISettings(); }
public APISettingsForm(APIProvidersSettings providers, SerializableAPIProvider newProvider) { InitializeComponent(); m_providers = providers; m_provider = newProvider; }