Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / MobileControlsSectionHelper.cs / 1305376 / MobileControlsSectionHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Configuration; using System.Diagnostics; using System.Globalization; namespace System.Web.UI.MobileControls { [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal static class MobileControlsSectionHelper { private static void AddControlAdapters(IndividualDeviceConfig deviceConfig, DeviceElement device) { foreach (ControlElement control in device.Controls) { deviceConfig.AddControl(control.Control, control.Adapter); } } // Essentially this method does what MobileControlSectionHandler.Create() // does, but use MobileControlsSection for retrieving config data instead internal static ControlsConfig CreateControlsConfig(MobileControlsSection controlSection) { ControlsConfig config = new ControlsConfig(null); config["sessionStateHistorySize"] = controlSection.SessionStateHistorySize.ToString(CultureInfo.InvariantCulture); config["cookielessDataDictionaryType"] = controlSection.CookielessDataDictionaryType.AssemblyQualifiedName; config["allowCustomAttributes"] = controlSection.AllowCustomAttributes.ToString(CultureInfo.InvariantCulture); foreach (DeviceElement device in controlSection.Devices) { IndividualDeviceConfig deviceConfig = CreateDeviceConfig(config, device); AddControlAdapters(deviceConfig, device); if (!config.AddDeviceConfig(device.Name, deviceConfig)) { // Problem is due to a duplicated name throw new ConfigurationErrorsException( SR.GetString(SR.MobileControlsSectionHandler_DuplicatedDeviceName, device.Name)); } } // Passing null means no config file and line number info will be // shown when error happens. That is because there is no XmlNode of // the config section is available when MobileControlsSection is // used. But the error messages raised should still be good enough. config.FixupDeviceConfigInheritance(null); return config; } // Essentially this method does what MobileControlSectionHandler.CreateDeviceConfig() // does, but use MobileControlsSection for retrieving config data instead private static IndividualDeviceConfig CreateDeviceConfig(ControlsConfig config, DeviceElement device) { String nameOfDeviceToInheritFrom = device.InheritsFrom; if (nameOfDeviceToInheritFrom != null && nameOfDeviceToInheritFrom.Length == 0) { nameOfDeviceToInheritFrom = null; } IndividualDeviceConfig.DeviceQualifiesDelegate predicateDelegate = null; if (device.PredicateClass != null) { // If a predicate class is specified, so must a method. // The checking is already done in MobileControlsSection Debug.Assert(!String.IsNullOrEmpty(device.PredicateMethod)); predicateDelegate = device.GetDelegate(); } return new IndividualDeviceConfig(config, device.Name, predicateDelegate, device.PageAdapter, nameOfDeviceToInheritFrom); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Configuration; using System.Diagnostics; using System.Globalization; namespace System.Web.UI.MobileControls { [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal static class MobileControlsSectionHelper { private static void AddControlAdapters(IndividualDeviceConfig deviceConfig, DeviceElement device) { foreach (ControlElement control in device.Controls) { deviceConfig.AddControl(control.Control, control.Adapter); } } // Essentially this method does what MobileControlSectionHandler.Create() // does, but use MobileControlsSection for retrieving config data instead internal static ControlsConfig CreateControlsConfig(MobileControlsSection controlSection) { ControlsConfig config = new ControlsConfig(null); config["sessionStateHistorySize"] = controlSection.SessionStateHistorySize.ToString(CultureInfo.InvariantCulture); config["cookielessDataDictionaryType"] = controlSection.CookielessDataDictionaryType.AssemblyQualifiedName; config["allowCustomAttributes"] = controlSection.AllowCustomAttributes.ToString(CultureInfo.InvariantCulture); foreach (DeviceElement device in controlSection.Devices) { IndividualDeviceConfig deviceConfig = CreateDeviceConfig(config, device); AddControlAdapters(deviceConfig, device); if (!config.AddDeviceConfig(device.Name, deviceConfig)) { // Problem is due to a duplicated name throw new ConfigurationErrorsException( SR.GetString(SR.MobileControlsSectionHandler_DuplicatedDeviceName, device.Name)); } } // Passing null means no config file and line number info will be // shown when error happens. That is because there is no XmlNode of // the config section is available when MobileControlsSection is // used. But the error messages raised should still be good enough. config.FixupDeviceConfigInheritance(null); return config; } // Essentially this method does what MobileControlSectionHandler.CreateDeviceConfig() // does, but use MobileControlsSection for retrieving config data instead private static IndividualDeviceConfig CreateDeviceConfig(ControlsConfig config, DeviceElement device) { String nameOfDeviceToInheritFrom = device.InheritsFrom; if (nameOfDeviceToInheritFrom != null && nameOfDeviceToInheritFrom.Length == 0) { nameOfDeviceToInheritFrom = null; } IndividualDeviceConfig.DeviceQualifiesDelegate predicateDelegate = null; if (device.PredicateClass != null) { // If a predicate class is specified, so must a method. // The checking is already done in MobileControlsSection Debug.Assert(!String.IsNullOrEmpty(device.PredicateMethod)); predicateDelegate = device.GetDelegate(); } return new IndividualDeviceConfig(config, device.Name, predicateDelegate, device.PageAdapter, nameOfDeviceToInheritFrom); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- KeyboardInputProviderAcquireFocusEventArgs.cs
- IgnoreSectionHandler.cs
- SamlAssertion.cs
- OleDbConnectionInternal.cs
- SchemaTableOptionalColumn.cs
- RootBuilder.cs
- DataContext.cs
- WorkflowRuntimeService.cs
- ArrayConverter.cs
- DataRecord.cs
- UnicastIPAddressInformationCollection.cs
- AbstractSvcMapFileLoader.cs
- controlskin.cs
- PeerApplicationLaunchInfo.cs
- RegexWriter.cs
- ListViewDeleteEventArgs.cs
- smtppermission.cs
- CallbackHandler.cs
- AutoResetEvent.cs
- COM2TypeInfoProcessor.cs
- StructuredTypeInfo.cs
- EnterpriseServicesHelper.cs
- WorkflowOperationErrorHandler.cs
- ObjectListFieldsPage.cs
- LabelEditEvent.cs
- EventHandlerList.cs
- LoadMessageLogger.cs
- BooleanStorage.cs
- SmiMetaDataProperty.cs
- ListViewItemSelectionChangedEvent.cs
- RotateTransform.cs
- TreeBuilderBamlTranslator.cs
- DataGridPagerStyle.cs
- RawStylusSystemGestureInputReport.cs
- BasePattern.cs
- MdiWindowListItemConverter.cs
- ISFClipboardData.cs
- XsdDataContractImporter.cs
- SemaphoreFullException.cs
- EntityViewContainer.cs
- DbgUtil.cs
- RegexCharClass.cs
- GridViewHeaderRowPresenter.cs
- BinHexDecoder.cs
- XmlSchemaDatatype.cs
- XamlDesignerSerializationManager.cs
- Subtree.cs
- DataControlImageButton.cs
- UnsafeNativeMethods.cs
- Setter.cs
- XPathPatternBuilder.cs
- DictionaryEntry.cs
- ConfigurationStrings.cs
- NetworkInformationPermission.cs
- LiteralControl.cs
- OLEDB_Util.cs
- FileNotFoundException.cs
- WinInetCache.cs
- TextCharacters.cs
- Executor.cs
- SelectionProviderWrapper.cs
- ClientApiGenerator.cs
- ColorAnimation.cs
- XmlNodeChangedEventArgs.cs
- ScaleTransform3D.cs
- XmlAttributeHolder.cs
- ParserExtension.cs
- XPathScanner.cs
- UnmanagedBitmapWrapper.cs
- UserControl.cs
- LogReservationCollection.cs
- FixedSOMTable.cs
- GridProviderWrapper.cs
- WebServiceClientProxyGenerator.cs
- ObjectItemCollection.cs
- TextBoxAutomationPeer.cs
- SymbolEqualComparer.cs
- Int16Converter.cs
- BindingWorker.cs
- DigestTraceRecordHelper.cs
- DefaultValueConverter.cs
- EpmSyndicationContentDeSerializer.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- KeyGestureConverter.cs
- WebEvents.cs
- FontStyles.cs
- IndexingContentUnit.cs
- XmlSerializerFormatAttribute.cs
- SerialReceived.cs
- DragDropManager.cs
- DataGridPageChangedEventArgs.cs
- DataTableMapping.cs
- Interfaces.cs
- ToolStripScrollButton.cs
- SetIterators.cs
- ExpressionBinding.cs
- WaitHandle.cs
- EmptyQuery.cs
- ReferenceConverter.cs
- SqlBulkCopyColumnMappingCollection.cs