/////////////////////////////////////////////////////////////////////////// //! @author Ivan Vagunin //// /// <summary> /// Saves context data. /// </summary> public void SaveContextData() { IsolatedStorageFile isoStore = IsolatedStorageFile.GetMachineStoreForAssembly(); IsolatedStorageFileStream isoFile = new IsolatedStorageFileStream(_dataFileName, FileMode.Create, isoStore); // Create a StreamWriter using the isolated storage file StreamWriter writer = new StreamWriter(isoFile); XmlSerializer serializer = new XmlSerializer(typeof(SavedContext)); SavedContext context = new SavedContext(); _setupController.UpdateContext(); context.SetupInfo = ContextController.GetSetupInfo(); _discoveryController.UpdateContext(); DiscoveredDevices devices = ContextController.GetDiscoveredDevices(); if (devices != null) { context.DiscoveryContext = new SavedDiscoveryContext(); context.DiscoveryContext.ServiceAddress = devices.ServiceAddress; context.DiscoveryContext.DeviceAddress = (devices.DeviceAddress != null) ? devices.DeviceAddress.ToString() : string.Empty; if ((devices.NIC != null) && (devices.NIC.IP != null)) { context.DiscoveryContext.InterfaceAddress = devices.NIC.IP.ToString(); } } _reportController.UpdateContext(); context.ReportInfo = ContextController.GetReportInfo(); _managementController.UpdateContext(); context.DeviceEnvironment = ContextController.GetDeviceEnvironment(); _requestsController.UpdateContext(); context.RequestsInfo = ContextController.GetRequestsInfo(); _deviceController.MediaController.UpdateContext(); context.MediaInfo = ContextController.GetMediaInfo(); _deviceController.PTZController.UpdateContext(); context.PTZInfo = ContextController.GetPTZInfo(); serializer.Serialize(writer, context); writer.Close(); }