// Token: 0x06001583 RID: 5507 RVA: 0x0007EC7C File Offset: 0x0007CE7C
        private void ReadXmlRequest()
        {
            using (base.Context.Tracker.Start(TimeId.SettingsReadXmlRequest))
            {
                XmlNode xmlRequest = base.XmlRequest;
                foreach (object obj in xmlRequest.ChildNodes)
                {
                    XmlNode xmlNode  = (XmlNode)obj;
                    XmlNode response = base.XmlResponse.CreateElement(xmlNode.LocalName, "Settings:");
                    string  localName;
                    switch (localName = xmlNode.LocalName)
                    {
                    case "Oof":
                    {
                        SettingsBase item = new OofSetting(xmlNode, response, base.MailboxSession, base.CurrentAccessState, base.ProtocolLogger);
                        this.properties.Add(item);
                        break;
                    }

                    case "DevicePassword":
                    {
                        SettingsBase item = new DevicePasswordSetting(xmlNode, response, base.User, base.GlobalInfo, base.ProtocolLogger);
                        this.properties.Add(item);
                        break;
                    }

                    case "DeviceInformation":
                    {
                        SettingsBase item = new DeviceInformationSetting(xmlNode, response, this, base.ProtocolLogger);
                        this.properties.Add(item);
                        break;
                    }

                    case "UserInformation":
                    {
                        SettingsBase item = new UserInformationSetting(xmlNode, response, base.User, base.MailboxSession, base.Version, base.ProtocolLogger);
                        this.properties.Add(item);
                        break;
                    }

                    case "RightsManagementInformation":
                    {
                        SettingsBase item = new RightsManagementInformationSetting(xmlNode, response, base.User, base.MailboxSession.PreferedCulture, base.ProtocolLogger, base.MailboxLogger);
                        this.properties.Add(item);
                        break;
                    }

                    case "TimeZoneOffsets":
                    {
                        SettingsBase item = new TimeZoneOffsetSettings(xmlNode, response, base.User, base.ProtocolLogger);
                        this.properties.Add(item);
                        break;
                    }
                    }
                }
            }
        }
示例#2
0
 void IProvisionCommandHost.ProcessDeviceInformationSettings(XmlNode inboundDeviceInformationNode, XmlNode provisionResponseNode)
 {
     if (inboundDeviceInformationNode != null)
     {
         XmlNode xmlNode = base.XmlResponse.CreateElement(inboundDeviceInformationNode.LocalName, "Settings:");
         DeviceInformationSetting deviceInformationSetting = new DeviceInformationSetting(inboundDeviceInformationNode, xmlNode, this, base.ProtocolLogger);
         deviceInformationSetting.Execute();
         if (string.IsNullOrEmpty(base.GlobalInfo.DeviceModel))
         {
             throw new AirSyncPermanentException(StatusCode.DeviceInformationRequired, false)
                   {
                       ErrorStringForProtocolLogger = "DeviceModelMissingInDeviceInformation"
                   };
         }
         provisionResponseNode.AppendChild(xmlNode);
     }
 }