protected MessageSecurityBindingSupport (
			SecurityCapabilities elementSupport,
			SecurityTokenManager manager,
			ChannelProtectionRequirements requirements)
		{
			element_support = elementSupport;
			Initialize (manager, requirements);
		}
		public RecipientMessageSecurityBindingSupport (
			SecurityCapabilities elementSupport,
			SecurityTokenManager manager,
			ChannelProtectionRequirements requirements)
			: base (elementSupport, manager, requirements)
		{
		}
        public void CreateOldStyleCapabilities()
        {
            _capabilities        = new Capabilities();
            _capabilities.Device = new DeviceCapabilities();

            if (_deviceServiceCapabilities.Network != null)
            {
                NetworkCapabilities1 networkCapabilities = new NetworkCapabilities1();
                NetworkCapabilities  network             = _deviceServiceCapabilities.Network;
                networkCapabilities.DynDNS                     = network.DynDNS;
                networkCapabilities.DynDNSSpecified            = network.DynDNSSpecified;
                networkCapabilities.IPFilter                   = network.IPFilter;
                networkCapabilities.IPFilterSpecified          = network.IPFilterSpecified;
                networkCapabilities.IPVersion6                 = network.IPVersion6;
                networkCapabilities.IPVersion6Specified        = network.IPVersion6Specified;
                networkCapabilities.ZeroConfiguration          = network.ZeroConfiguration;
                networkCapabilities.ZeroConfigurationSpecified = network.ZeroConfigurationSpecified;

                networkCapabilities.Extension = new NetworkCapabilitiesExtension();
                networkCapabilities.Extension.Dot11ConfigurationSpecified = network.Dot11ConfigurationSpecified;
                networkCapabilities.Extension.Dot11Configuration          = network.Dot11Configuration;

                _capabilities.Device.Network = networkCapabilities;
            }

            if (_deviceServiceCapabilities.Security != null)
            {
                SecurityCapabilities1 securityCapabilities = new SecurityCapabilities1();
                SecurityCapabilities  security             = _deviceServiceCapabilities.Security;

                securityCapabilities.AccessPolicyConfig   = security.AccessPolicyConfigSpecified ? security.AccessPolicyConfig : false;
                securityCapabilities.KerberosToken        = security.KerberosTokenSpecified ? security.KerberosToken : false;
                securityCapabilities.OnboardKeyGeneration = security.OnboardKeyGenerationSpecified
                                                                ? security.OnboardKeyGeneration
                                                                : false;
                securityCapabilities.RELToken  = security.RELTokenSpecified ? security.RELToken : false;
                securityCapabilities.SAMLToken = security.SAMLTokenSpecified ? security.SAMLToken : false;
                securityCapabilities.TLS11     = security.TLS11Specified ? security.TLS11 : false;
                securityCapabilities.TLS12     = security.TLS12Specified ? security.TLS12 : false;
                securityCapabilities.X509Token = security.X509TokenSpecified ? security.X509Token : false;

                _capabilities.Device.Security = securityCapabilities;
            }

            if (_deviceServiceCapabilities.System != null)
            {
                SystemCapabilities1 systemCapabilities = new SystemCapabilities1();
                SystemCapabilities  system             = _deviceServiceCapabilities.System;

                systemCapabilities.DiscoveryBye      = system.DiscoveryByeSpecified ? system.DiscoveryBye : false;
                systemCapabilities.DiscoveryResolve  = system.DiscoveryResolveSpecified ? system.DiscoveryResolve : false;
                systemCapabilities.FirmwareUpgrade   = system.FirmwareUpgradeSpecified ? system.FirmwareUpgrade : false;
                systemCapabilities.RemoteDiscovery   = system.RemoteDiscoverySpecified ? system.RemoteDiscovery : false;
                systemCapabilities.SupportedVersions = new OnvifVersion[] { new OnvifVersion()
                                                                            {
                                                                                Major = 2, Minor = 1
                                                                            } };
                systemCapabilities.SystemBackup  = system.SystemBackupSpecified ? system.SystemBackup : false;
                systemCapabilities.SystemLogging = system.SystemLoggingSpecified ? system.SystemLogging : false;

                systemCapabilities.Extension = new SystemCapabilitiesExtension();
                systemCapabilities.Extension.HttpFirmwareUpgrade             = system.HttpFirmwareUpgrade;
                systemCapabilities.Extension.HttpFirmwareUpgradeSpecified    = system.HttpFirmwareUpgradeSpecified;
                systemCapabilities.Extension.HttpSupportInformation          = system.HttpSupportInformation;
                systemCapabilities.Extension.HttpSupportInformationSpecified = system.HttpSupportInformationSpecified;
                systemCapabilities.Extension.HttpSystemBackup           = system.HttpSystemBackup;
                systemCapabilities.Extension.HttpSystemBackupSpecified  = system.HttpSystemBackupSpecified;
                systemCapabilities.Extension.HttpSystemLogging          = system.HttpSystemLogging;
                systemCapabilities.Extension.HttpSystemLoggingSpecified = system.HttpSystemLoggingSpecified;

                _capabilities.Device.System = systemCapabilities;
            }

            _capabilities.Events = new EventCapabilities();
        }