diff options
author | Brent Eagles <brent@zeroc.com> | 2007-05-24 16:45:02 +0000 |
---|---|---|
committer | Brent Eagles <brent@zeroc.com> | 2007-05-24 16:45:02 +0000 |
commit | 317b6c1825c286540e5ae3addb6ec32dc843b9ba (patch) | |
tree | 2ebfa3ac0489399a37edc685e676ccea3fbe11d2 /cpp | |
parent | Added support for Ice.TCP.RcvSize/Ice.TCP.SndSize properties. (diff) | |
download | ice-317b6c1825c286540e5ae3addb6ec32dc843b9ba.tar.bz2 ice-317b6c1825c286540e5ae3addb6ec32dc843b9ba.tar.xz ice-317b6c1825c286540e5ae3addb6ec32dc843b9ba.zip |
Implementation of enhancements described in
http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=1597
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/config/PropertyNames.def | 1094 | ||||
-rw-r--r-- | cpp/config/makeprops.py | 1026 | ||||
-rwxr-xr-x | cpp/install/common/components/ice.demo.vc60 | 1 | ||||
-rwxr-xr-x | cpp/install/common/components/ice.demo.vc80_x64 | 1 | ||||
-rwxr-xr-x | cpp/install/vc71/Ice.ism | 6 | ||||
-rwxr-xr-x | cpp/install/vc80/Ice.ism | 20 | ||||
-rw-r--r-- | cpp/src/Ice/PropertiesI.cpp | 39 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.cpp | 1134 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.h | 119 |
9 files changed, 1866 insertions, 1574 deletions
diff --git a/cpp/config/PropertyNames.def b/cpp/config/PropertyNames.def index beb2cb8f299..e9bd68567ea 100644 --- a/cpp/config/PropertyNames.def +++ b/cpp/config/PropertyNames.def @@ -1,590 +1,506 @@ -#!/usr/bin/env python -# ********************************************************************** -# -# Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. -# -# This copy of Ice is licensed to you under the terms described in the -# ICE_LICENSE file included in this distribution. -# -# ********************************************************************** - -# This file defines the valid properties that are used by the various -# parts of Ice. It is used generate source code using the makeprops.py -# utility, so we do not need to redundantly maintain the same property -# definitions in several languages (and risk having them go out of -# sync). -# -# Syntax: -# -# Empty lines (lines containing only whitespace) are ignored. -# -# The # character introduces a comment that extends to the end of -# line. Property names cannot contain a # character. -# -# The file is organized into labelled sections. The label for a -# section must be an identifier followed by a colon, such as -# "Ice:". The section label is optionally followed by a boolean -# which is used to determine whether command line processing is -# done on this section by default. The default is true. If set to -# true, command line options matching the section label will be -# parsed by PropertiesI::parseIceCommandLineOptions(). If set to -# false, command line options matching the section label won't be -# parsed by PropertiesI::parseIceCommandLineOptions. This is useful -# for plugin properties that are parsed when the plugin is loaded -# (see PluginManagerI::loadPlugins()). -# -# Section labels must appear on a line by themselves (possibly -# followed by a comment). Leading and trailing whitespace is -# ignored. Each section must occur only once in a file. "validProps" -# is reserved and cannot be used as a section name. -# -# Each section contains a number of property names, one to a line. A -# property name cannot contain the # character. Otherwise, a property -# name is taken to be any consecutive sequence of non-whitespace -# characters. Leading and trailing whitespace is ignored, as is a -# trailing comment. -# - -# The token "<any>" is a wildcard and matches any non-empty sequence -# of non-whitespace characters. -# -# Examples: -# -# "Ice.Foo.<any>" allows all properties with that prefix, such as -# "Ice.Foo.Bar". -# -# "Ice.Foo<any>" allows properties such as "Ice.Foo.Bar" and "Ice.FooBar". -# -# Property definitions are translated into each language by -# makeprops.py. For example, consider the following definitions: -# -# Ice: -# ChangeUser -# Package.<any> -# -# IceBox: -# LoadOrder -# -# If the source file is called Properties.defs, makeprops.py generates -# the following C++ header and source code for this: -# -# // Properties.h -# -# namespace IceInternal -# { -# -# class Properties -# { -# public: -# -# static const char* const IceProps[]; -# static const char* const IceBoxProps[]; -# -# static const char* const* validProps[]; -# }; -# -# } -# -# // Properties.cpp -# -# const char* const IceInternal::Properties::IceProps[] = -# { -# "Ice.ChangeUser", -# "Ice.Package.*", -# 0 -# }; -# -# const char* const IceInternal::Properties::IceBoxProps[] = -# { -# "IceBox.LoadOrder", -# 0 -# }; -# -# const char* const* IceInternal::Properties::validProps[] = -# { -# IceProps, -# IceBoxProps, -# 0 -# }; -# -# Note that the class name ("Properties" in this example) is generated -# from the file name, and the first component of the property name is -# generated from the section label. -# - -Ice: - ACM.Client - ACM.Server - BatchAutoFlush - ChangeUser - Compression.Level - Config - Default.CollocationOptimization - Default.EndpointSelection - Default.Host - Default.Locator - Default.Locator.EndpointSelection - Default.Locator.ConnectionCached - Default.Locator.PreferSecure - Default.Locator.LocatorCacheTimeout - Default.Locator.Locator - Default.Locator.Router - Default.Locator.CollocationOptimization - Default.Locator.ThreadPerConnection - Default.LocatorCacheTimeout - Default.Package - Default.PreferSecure - Default.Protocol - Default.Router - Default.Router.EndpointSelection - Default.Router.ConnectionCached - Default.Router.PreferSecure - Default.Router.LocatorCacheTimeout - Default.Router.Locator - Default.Router.Router - Default.Router.CollocationOptimization - Default.Router.ThreadPerConnection - GC.Interval - ImplicitContext - InitPlugins - LoggerPlugin - MessageSizeMax - MonitorConnections - Nohup - NullHandleAbort - Override.Compress - Override.ConnectTimeout - Override.Timeout - Override.Secure - Package.<any> - Plugin.<any> - PluginLoadOrder - PrintAdapterReady - PrintProcessId - ProgramName - RetryIntervals - ServerId - ServerIdleTime - StdErr - StdOut - ThreadPerConnection - ThreadPerConnection.StackSize - ThreadPool.Client.Size - ThreadPool.Client.SizeMax - ThreadPool.Client.SizeWarn - ThreadPool.Client.StackSize - ThreadPool.Server.Size - ThreadPool.Server.SizeMax - ThreadPool.Server.SizeWarn - ThreadPool.Server.StackSize - Trace.GC - Trace.Location - Trace.Network - Trace.Protocol - Trace.Retry - Trace.Slicing - UDP.RcvSize - UDP.SndSize - TCP.RcvSize - TCP.SndSize - UseEventLog - UseSyslog - Warn.AMICallback - Warn.Connections - Warn.Datagrams - Warn.Dispatch - Warn.Endpoints - Warn.UnknownProperties - Warn.UnusedProperties - CacheMessageBuffers - -IceBox: - InstanceName - LoadOrder - PrintServicesReady - Service.<any> - ServiceManager.AdapterId - ServiceManager.Endpoints - ServiceManager.Locator - ServiceManager.PublishedEndpoints - ServiceManager.RegisterProcess - ServiceManager.ReplicaGroupId - ServiceManager.Router - ServiceManager.ThreadPerConnection - ServiceManager.ThreadPerConnection.StackSize - ServiceManager.ThreadPool.Size - ServiceManager.ThreadPool.SizeMax - ServiceManager.ThreadPool.SizeWarn - ServiceManager.ThreadPool.StackSize - UseSharedCommunicator.<any> - InheritProperties - -IceGridAdmin: - AuthenticateUsingSSL - Username - Password - Replica - Trace.Observers - Trace.SaveToRegistry - -IceGrid: - InstanceName - Node.AdapterId - Node.CollocateRegistry - Node.Data - Node.DisableOnFailure - Node.Endpoints - Node.Locator - Node.Name - Node.Output - Node.PrintServersReady - Node.PropertiesOverride - Node.PublishedEndpoints - Node.RedirectErrToOut - Node.RegisterProcess - Node.ReplicaGroupId - Node.Router - Node.ThreadPerConnection - Node.ThreadPerConnection.StackSize - Node.ThreadPool.Size - Node.ThreadPool.SizeMax - Node.ThreadPool.SizeWarn - Node.ThreadPool.StackSize - Node.Trace.Activator - Node.Trace.Adapter - Node.Trace.Patch - Node.Trace.Replica - Node.Trace.Server - Node.UserAccounts - Node.UserAccountMapper - Node.UserAccountMapper.EndpointSelection - Node.UserAccountMapper.ConnectionCached - Node.UserAccountMapper.PreferSecure - Node.UserAccountMapper.LocatorCacheTimeout - Node.UserAccountMapper.Locator - Node.UserAccountMapper.Router - Node.UserAccountMapper.CollocationOptimization - Node.UserAccountMapper.ThreadPerConnection - Node.WaitTime - Registry.AdminCryptPasswords - Registry.AdminPermissionsVerifier - Registry.AdminPermissionsVerifier.EndpointSelection - Registry.AdminPermissionsVerifier.ConnectionCached - Registry.AdminPermissionsVerifier.PreferSecure - Registry.AdminPermissionsVerifier.LocatorCacheTimeout - Registry.AdminPermissionsVerifier.Locator - Registry.AdminPermissionsVerifier.Router - Registry.AdminPermissionsVerifier.CollocationOptimization - Registry.AdminPermissionsVerifier.ThreadPerConnection - Registry.AdminSSLPermissionsVerifier - Registry.AdminSSLPermissionsVerifier.EndpointSelection - Registry.AdminSSLPermissionsVerifier.ConnectionCached - Registry.AdminSSLPermissionsVerifier.PreferSecure - Registry.AdminSSLPermissionsVerifier.LocatorCacheTimeout - Registry.AdminSSLPermissionsVerifier.Locator - Registry.AdminSSLPermissionsVerifier.Router - Registry.AdminSSLPermissionsVerifier.CollocationOptimization - Registry.AdminSSLPermissionsVerifier.ThreadPerConnection - Registry.Client.AdapterId - Registry.Client.Endpoints - Registry.Client.Locator - Registry.Client.PublishedEndpoints - Registry.Client.RegisterProcess - Registry.Client.ReplicaGroupId - Registry.Client.Router - Registry.Client.ThreadPerConnection - Registry.Client.ThreadPerConnection.StackSize - Registry.Client.ThreadPool.Size - Registry.Client.ThreadPool.SizeMax - Registry.Client.ThreadPool.SizeWarn - Registry.Client.ThreadPool.StackSize - Registry.CryptPasswords - Registry.Data - Registry.DefaultTemplates - Registry.DynamicRegistration - Registry.Internal.AdapterId - Registry.Internal.Endpoints - Registry.Internal.Locator - Registry.Internal.PublishedEndpoints - Register.Internal.RegisterProcess - Registry.Internal.ReplicaGroupId - Registry.Internal.Router - Registry.Internal.ThreadPerConnection - Registry.Internal.ThreadPerConnection.StackSize - Registry.Internal.ThreadPool.Size - Registry.Internal.ThreadPool.SizeMax - Registry.Internal.ThreadPool.SizeWarn - Registry.Internal.ThreadPool.StackSize - Registry.NodeSessionTimeout - Registry.PermissionsVerifier - Registry.PermissionsVerifier.EndpointSelection - Registry.PermissionsVerifier.ConnectionCached - Registry.PermissionsVerifier.PreferSecure - Registry.PermissionsVerifier.LocatorCacheTimeout - Registry.PermissionsVerifier.Locator - Registry.PermissionsVerifier.Router - Registry.PermissionsVerifier.CollocationOptimization - Registry.PermissionsVerifier.ThreadPerConnection - Registry.ReplicaName - Registry.ReplicaSessionTimeout - Registry.Server.AdapterId - Registry.Server.Endpoints - Registry.Server.Locator - Registry.Server.PublishedEndpoints - Registry.Server.RegisterProcess - Registry.Server.ReplicaGroupId - Registry.Server.Router - Registry.Server.ThreadPerConnection - Registry.Server.ThreadPerConnection.StackSize - Registry.Server.ThreadPool.Size - Registry.Server.ThreadPool.SizeMax - Registry.Server.ThreadPool.SizeWarn - Registry.Server.ThreadPool.StackSize - Registry.SessionManager.AdapterId - Registry.SessionManager.Endpoints - Registry.SessionManager.Locator - Registry.SessionManager.PublishedEndpoints - Registry.SessionManager.RegisterProcess - Registry.SessionManager.ReplicaGroupId - Registry.SessionManager.Router - Registry.SessionManager.ThreadPerConnection - Registry.SessionManager.ThreadPerConnection.StackSize - Registry.SessionManager.ThreadPool.Size - Registry.SessionManager.ThreadPool.SizeMax - Registry.SessionManager.ThreadPool.SizeWarn - Registry.SessionManager.ThreadPool.StackSize - Registry.SessionTimeout - Registry.SSLPermissionsVerifier - Registry.SSLPermissionsVerifier.EndpointSelection - Registry.SSLPermissionsVerifier.ConnectionCached - Registry.SSLPermissionsVerifier.PreferSecure - Registry.SSLPermissionsVerifier.LocatorCacheTimeout - Registry.SSLPermissionsVerifier.Locator - Registry.SSLPermissionsVerifier.Router - Registry.SSLPermissionsVerifier.CollocationOptimization - Registry.SSLPermissionsVerifier.ThreadPerConnection - Registry.Trace.Application - Registry.Trace.Adapter - Registry.Trace.Locator - Registry.Trace.Node - Registry.Trace.Object - Registry.Trace.Patch - Registry.Trace.Replica - Registry.Trace.Server - Registry.Trace.Session - Registry.UserAccounts +<?xml version="1.0"?> +<!-- +********************************************************************** + +Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. + +This copy of Ice is licensed to you under the terms described in the +ICE_LICENSE file included in this distribution. + +********************************************************************** + +This file defines the valid properties that are used by the various parts +of Ice. It is used generate source code using the makeprops.py utility, so +we do not need to redundantly maintain the same property definitions in +several languages (and risk having them go out of sync). + +Syntax: +Root node: properties, no attributes + +The root node has 0 or more section elements. section elements must have a +name atttribute which defines a "section label". section elements may also +have a noCmdLine attribute. If noCmdLine has the value of "true", command +line options that match the section label will not be parsed in the +Ice::PropertiesI::parseCommandLineOptions(). If noCmdLine has a value +other than "true" or is omitted, +Ice::PropertiesI::parseCommandLineOptions() will process properties that +match the resepctive section name. + +Each section node has 0 or more property elements. property elements must +have a name attribute. property elements may also have a proxy attribute or +a threadpool attribute. A proxy attribute with the value of "true" cause +additional Ice proxy specific properties to be generated by makeprops.py. +Similarily, a threadpool attribute with the value "true" cause additional +thread pool specific properties to be generated by makeprops.py. See +makeprops.py for details on the additional properties that are generated. +The property generation triggered by the proxy and threadpool attributes +differ slightly in that the proxy properties are generated in *addition* to +the property specified in this file, whereas the threadpool properties +generated do not include a property for the original property element in. + +property elements may also include the deprecated and deprecatedBy +attributes. A property that has a deprecated property with the value of +true will be marked internally as deprecated and Ice may issue warnings if +a deprecated property is used. The deprecatedBy attribute allows the Ice +runtime to transparently replace the deprecated property name with a +new property name that supercedes the deprecated property. + +property element name attributes have some additional syntax: The token +"<any>" (denoted in valid XML as <any>) is a wildcard and matches any +non-empty sequence of non-whitespace characters. + +Examples: + +"Ice.Foo.<any>" allows all properties with that prefix, such as "Ice.Foo.Bar". +"Ice.Foo<any>" allows properties such as "Ice.Foo.Bar" and "Ice.FooBar". + +Property definitions are translated into each language by makeprops.py. + For example, consider the following definitions: + + <properties> + <section name="Ice"> + <property name="ChangeUser" /> + <property name="Package.<any>" /> + <property name="QuenchRequests" deprecated="true" /> + <property name="Foo" deprecated="true" deprecatedBy="Bar" /> + <property name="Bar" /> + <property name="Default.Locator" proxy="true" /> + <property name="ThreadPool.Client" threadpool="true" /> + </section> + <section name="IceBox"> + <property name="LoadOrder" /> + </section> + </properties> + +If the source file is called Properties.xml, makeprops.py generates +the code similar to the following for C++ header and source file: + +// +// Properties.h +// +namespace IceInternal +{ + +// +// ... definitions for IceInternal::Property and IceInternal::PropertyArray +// omitted... + +class Properties +{ +public: + + static const PropertyArray const IceProps; + static const PropertyArray const IceBoxProps; + + static const PropertyArray validProps[]; +}; + +} + +// Properties.cpp +const IceInternal::Property IceInternal::Properties::IcePropsData[] = +{ + IceInternal::Property("Ice.ChangeUser", false, 0), + IceInternal::Property("Ice.Package.*", false, 0), + IceInternal::Property("Ice.QuenchRequests", true, 0), + IceInternal::Property("Ice.Foo", true, "Ice.Bar"), + IceInternal::Property("Ice.Bar", false, 0), + IceInternal::Property("Ice.Default.Locator", false, 0), + IceInternal::Property("Ice.Default.Locator.EndpointSelection", false, 0), + IceInternal::Property("Ice.Default.Locator.ConnectionCached", false, 0), + IceInternal::Property("Ice.Default.Locator.PreferSecure", false, 0), + IceInternal::Property("Ice.Default.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("Ice.Default.Locator.Locator", false, 0), + IceInternal::Property("Ice.Default.Locator.Router", false, 0), + IceInternal::Property("Ice.Default.Locator.CollocationOptimization", false, 0), + IceInternal::Property("Ice.Default.Locator.ThreadPerConnection", false, 0), + IceInternal::Property("Ice.ThreadPool.Client.Size", false, 0), + IceInternal::Property("Ice.ThreadPool.Client.SizeMax", false, 0), + IceInternal::Property("Ice.ThreadPool.Client.SizeWarn", false, 0), + IceInternal::Property("Ice.ThreadPool.Client.StackSize", false, 0) +}; + +const IceInternal::PropertyArray + IceInternal::Properties::IceProps(IcePropsData, sizeof(IcePropsData) / + sizeof(IcePropsData[0])); + +const IceInternal::Property IceInternal::Properties::IceBoxPropsData[] = +{ + IceInternal::Property("IceBox.LoadOrder", false, 0) +}; + +const IceInternal::PropertyArray + IceInternal::Properties::IceBoxProps(IceBoxPropsData, sizeof(IceBoxPropsData) / + sizeof(IceBoxPropsData[0])); + +const PropertyArray IceInternal::Properties::validProps[] = +{ + IceProps, + IceBoxProps, + IceInternal::PropertyArray(0, 0) +}; + +Note that the class name ("Properties" in this example) is generated +from the file name, and the first component of the property name is +generated from the section label. + +--> +<properties> + <section name="Ice"> + <property name="ACM.Client" /> + <property name="ACM.Server" /> + <property name="BatchAutoFlush" /> + <property name="ChangeUser" /> + <property name="Compression.Level" /> + <property name="Config" /> + <property name="Default.CollocationOptimization" /> + <property name="Default.EndpointSelection" /> + <property name="Default.Host" /> + <property name="Default.Locator" proxy="true"/> + <property name="Default.LocatorCacheTimeout" /> + <property name="Default.Package" /> + <property name="Default.PreferSecure" /> + <property name="Default.Protocol" /> + <property name="Default.Router" proxy="true" /> + <property name="GC.Interval" /> + <property name="ImplicitContext" /> + <property name="InitPlugins" /> + <property name="LoggerPlugin" /> + <property name="MessageSizeMax" /> + <property name="MonitorConnections" /> + <property name="Nohup" /> + <property name="NullHandleAbort" /> + <property name="Override.Compress" /> + <property name="Override.ConnectTimeout" /> + <property name="Override.Timeout" /> + <property name="Override.Secure" /> + <property name="Package.<any>" /> + <property name="Plugin.<any>" /> + <property name="PluginLoadOrder" /> + <property name="PrintAdapterReady" /> + <property name="PrintProcessId" /> + <property name="ProgramName" /> + <property name="RetryIntervals" /> + <property name="ServerId" /> + <property name="ServerIdleTime" /> + <property name="StdErr" /> + <property name="StdOut" /> + <property name="ThreadPerConnection" /> + <property name="ThreadPerConnection.StackSize" /> + <property name="ThreadPool.Client" threadpool="true"/> + <property name="ThreadPool.Server" threadpool="true"/> + <property name="Trace.GC" /> + <property name="Trace.Location" /> + <property name="Trace.Network" /> + <property name="Trace.Protocol" /> + <property name="Trace.Retry" /> + <property name="Trace.Slicing" /> + <property name="UDP.RcvSize" /> + <property name="UDP.SndSize" /> + <property name="TCP.RcvSize" /> + <property name="TCP.SndSize" /> + <property name="UseEventLog" /> + <property name="UseSyslog" /> + <property name="Warn.AMICallback" /> + <property name="Warn.Connections" /> + <property name="Warn.Datagrams" /> + <property name="Warn.Dispatch" /> + <property name="Warn.Endpoints" /> + <property name="Warn.UnknownProperties" /> + <property name="CacheMessageBuffers" /> + </section> + + <section name="IceBox"> + <property name="InstanceName" /> + <property name="LoadOrder" /> + <property name="PrintServicesReady" /> + <property name="Service.<any>" /> + <property name="ServiceManager.AdapterId" /> + <property name="ServiceManager.Endpoints" /> + <property name="ServiceManager.Locator" /> + <property name="ServiceManager.PublishedEndpoints" /> + <property name="ServiceManager.RegisterProcess" /> + <property name="ServiceManager.ReplicaGroupId" /> + <property name="ServiceManager.Router" /> + <property name="ServiceManager.ThreadPerConnection" /> + <property name="ServiceManager.ThreadPerConnection.StackSize" /> + <property name="ServiceManager.ThreadPool" threadpool="true" /> + <property name="UseSharedCommunicator.<any>" /> + <property name="InheritProperties" /> + </section> + + <section name="IceGridAdmin"> + <property name="AuthenticateUsingSSL" /> + <property name="Username" /> + <property name="Password" /> + <property name="Replica" /> + <property name="Trace.Observers" /> + <property name="Trace.SaveToRegistry" /> + </section> + + <section name="IceGrid"> + <property name="InstanceName" /> + <property name="Node.AdapterId" /> + <property name="Node.CollocateRegistry" /> + <property name="Node.Data" /> + <property name="Node.DisableOnFailure" /> + <property name="Node.Endpoints" /> + <property name="Node.Locator" /> + <property name="Node.Name" /> + <property name="Node.Output" /> + <property name="Node.PrintServersReady" /> + <property name="Node.PropertiesOverride" /> + <property name="Node.PublishedEndpoints" /> + <property name="Node.RedirectErrToOut" /> + <property name="Node.RegisterProcess" /> + <property name="Node.ReplicaGroupId" /> + <property name="Node.Router" /> + <property name="Node.ThreadPerConnection" /> + <property name="Node.ThreadPerConnection.StackSize" /> + <property name="Node.ThreadPool" threadpool="true" /> + <property name="Node.Trace.Activator" /> + <property name="Node.Trace.Adapter" /> + <property name="Node.Trace.Patch" /> + <property name="Node.Trace.Replica" /> + <property name="Node.Trace.Server" /> + <property name="Node.UserAccounts" /> + <property name="Node.UserAccountMapper" proxy="true"/> + <property name="Node.WaitTime" /> + <property name="Registry.AdminCryptPasswords" /> + <property name="Registry.AdminPermissionsVerifier" proxy="true" /> + <property name="Registry.AdminSSLPermissionsVerifier" + proxy="true" /> + <property name="Registry.Client.AdapterId" /> + <property name="Registry.Client.Endpoints" /> + <property name="Registry.Client.Locator" /> + <property name="Registry.Client.PublishedEndpoints" /> + <property name="Registry.Client.RegisterProcess" /> + <property name="Registry.Client.ReplicaGroupId" /> + <property name="Registry.Client.Router" /> + <property name="Registry.Client.ThreadPerConnection" /> + <property name="Registry.Client.ThreadPerConnection.StackSize" /> + <property name="Registry.Client.ThreadPool.Size" threadpool="true"/> + <property name="Registry.CryptPasswords" /> + <property name="Registry.Data" /> + <property name="Registry.DefaultTemplates" /> + <property name="Registry.DynamicRegistration" /> + <property name="Registry.Internal.AdapterId" /> + <property name="Registry.Internal.Endpoints" /> + <property name="Registry.Internal.Locator" /> + <property name="Registry.Internal.PublishedEndpoints" /> + <property name="Register.Internal.RegisterProcess" /> + <property name="Registry.Internal.ReplicaGroupId" /> + <property name="Registry.Internal.Router" /> + <property name="Registry.Internal.ThreadPerConnection" /> + <property name="Registry.Internal.ThreadPerConnection.StackSize" /> + <property name="Registry.Internal.ThreadPool" threadpool="true"/> + <property name="Registry.NodeSessionTimeout" /> + <property name="Registry.PermissionsVerifier" proxy="true"/> + <property name="Registry.ReplicaName" /> + <property name="Registry.ReplicaSessionTimeout" /> + <property name="Registry.Server.AdapterId" /> + <property name="Registry.Server.Endpoints" /> + <property name="Registry.Server.Locator" /> + <property name="Registry.Server.PublishedEndpoints" /> + <property name="Registry.Server.RegisterProcess" /> + <property name="Registry.Server.ReplicaGroupId" /> + <property name="Registry.Server.Router" /> + <property name="Registry.Server.ThreadPerConnection" /> + <property name="Registry.Server.ThreadPerConnection.StackSize" /> + <property name="Registry.Server.ThreadPool" threadpool="true" /> + <property name="Registry.SessionManager.AdapterId" /> + <property name="Registry.SessionManager.Endpoints" /> + <property name="Registry.SessionManager.Locator" /> + <property name="Registry.SessionManager.PublishedEndpoints" /> + <property name="Registry.SessionManager.RegisterProcess" /> + <property name="Registry.SessionManager.ReplicaGroupId" /> + <property name="Registry.SessionManager.Router" /> + <property name="Registry.SessionManager.ThreadPerConnection" /> + <property name="Registry.SessionManager.ThreadPerConnection.StackSize" /> + <property name="Registry.SessionManager.ThreadPool" threadpool="true" /> + <property name="Registry.SessionTimeout" /> + <property name="Registry.SSLPermissionsVerifier" proxy="true"/> + <property name="Registry.Trace.Application" /> + <property name="Registry.Trace.Adapter" /> + <property name="Registry.Trace.Locator" /> + <property name="Registry.Trace.Node" /> + <property name="Registry.Trace.Object" /> + <property name="Registry.Trace.Patch" /> + <property name="Registry.Trace.Replica" /> + <property name="Registry.Trace.Server" /> + <property name="Registry.Trace.Session" /> + <property name="Registry.UserAccounts" /> + </section> -IcePatch2: - AdapterId - Admin.AdapterId - Admin.Endpoints - Admin.Locator - Admin.PublishedEndpoints - Admin.RegisterProcess - Admin.ReplicaGroupId - Admin.Router - Admin.ThreadPerConnection - Admin.ThreadPerConnection.StackSize - Admin.ThreadPool.Size - Admin.ThreadPool.SizeMax - Admin.ThreadPool.SizeWarn - Admin.ThreadPool.StackSize - ChunkSize - Directory - Endpoints - InstanceName - Locator - PublishedEndpoints - RegisterProcess - ReplicaGroupId - Remove - Router - Thorough - ThreadPerConnection - ThreadPerConnection.StackSize - ThreadPool.Size - ThreadPool.SizeMax - ThreadPool.SizeWarn - ThreadPool.StackSize - -IceSSL: - Alias - CertAuthDir - CertAuthFile - CertFile - CheckCertName - CheckCRL - Ciphers - DefaultDir - DH.<any> - EntropyDaemon - FindCert.<any> - ImportCert.<any> - KeyFile - Keystore - KeystorePassword - KeystoreType - Password - PasswordRetryMax - Protocols - Random - Trace.Security - Truststore - TruststorePassword - TruststoreType - VerifyDepthMax - VerifyPeer - TrustOnly - TrustOnly.Client - TrustOnly.Server - TrustOnly.Server.<any> - -IceStormAdmin: - TopicManager.<any> - -IceStorm: - Flush.Timeout - InstanceName - Publish.AdapterId - Publish.Endpoints - Publish.Locator - Publish.PublishedEndpoints - Publish.RegisterProcess - Publish.ReplicaGroupId - Publish.Router - Publish.ThreadPerConnection - Publish.ThreadPerConnection.StackSize - Publish.ThreadPool.Size - Publish.ThreadPool.SizeMax - Publish.ThreadPool.SizeWarn - Publish.ThreadPool.StackSize - TopicManager.AdapterId - TopicManager.Endpoints - TopicManager.Locator - TopicManager.Proxy - TopicManager.Proxy.EndpointSelection - TopicManager.Proxy.ConnectionCached - TopicManager.Proxy.PreferSecure - TopicManager.Proxy.LocatorCacheTimeout - TopicManager.Proxy.Locator - TopicManager.Proxy.Router - TopicManager.Proxy.CollocationOptimization - TopicManager.Proxy.ThreadPerConnection - TopicManager.PublishedEndpoints - TopicManager.RegisterProcess - TopicManager.ReplicaGroupId - TopicManager.Router - TopicManager.ThreadPerConnection - TopicManager.ThreadPerConnection.StackSize - TopicManager.ThreadPool.Size - TopicManager.ThreadPool.SizeMax - TopicManager.ThreadPool.SizeWarn - TopicManager.ThreadPool.StackSize - SubscriberPool.Size - SubscriberPool.SizeMax - SubscriberPool.SizeWarn - SubscriberPool.Timeout - Trace.Flush - Trace.Subscriber - Trace.SubscriberPool - Trace.Topic - Trace.TopicManager - Send.Timeout - Discard.Interval - -Glacier2: - AddSSLContext - AddUserToAllowCategories - Admin.Endpoints - Admin.PublishedEndpoints - Admin.RegisterProcess - AllowCategories - Client.AlwaysBatch - Client.Buffered - Client.Endpoints - Client.ForwardContext - Client.PublishedEndpoints - Client.RegisterProcess - Client.SleepTime - Client.Trace.Override - Client.Trace.Reject - Client.Trace.Request - Filter.Address.Reject - Filter.Address.Accept - Filter.ProxySizeMax - Filter.Category.Accept - Filter.Category.AcceptUser - Filter.AdapterId.Accept - Filter.Identity.Accept - CryptPasswords - InstanceName - PermissionsVerifier - PermissionsVerifier.EndpointSelection - PermissionsVerifier.ConnectionCached - PermissionsVerifier.PreferSecure - PermissionsVerifier.LocatorCacheTimeout - PermissionsVerifier.Locator - PermissionsVerifier.Router - PermissionsVerifier.CollocationOptimization - PermissionsVerifier.ThreadPerConnection - ReturnClientProxy - SSLPermissionsVerifier - SSLPermissionsVerifier.EndpointSelection - SSLPermissionsVerifier.ConnectionCached - SSLPermissionsVerifier.PreferSecure - SSLPermissionsVerifier.LocatorCacheTimeout - SSLPermissionsVerifier.Locator - SSLPermissionsVerifier.Router - SSLPermissionsVerifier.CollocationOptimization - SSLPermissionsVerifier.ThreadPerConnection - RoutingTable.MaxSize - Server.AlwaysBatch - Server.Buffered - Server.Endpoints - Server.ForwardContext - Server.PublishedEndpoints - Server.RegisterProcess - Server.SleepTime - Server.Trace.Override - Server.Trace.Request - SessionManager - SessionManager.EndpointSelection - SessionManager.ConnectionCached - SessionManager.PreferSecure - SessionManager.LocatorCacheTimeout - SessionManager.Locator - SessionManager.Router - SessionManager.CollocationOptimization - SessionManager.ThreadPerConnection - SSLSessionManager - SSLSessionManager.EndpointSelection - SSLSessionManager.ConnectionCached - SSLSessionManager.PreferSecure - SSLSessionManager.LocatorCacheTimeout - SSLSessionManager.Locator - SSLSessionManager.Router - SSLSessionManager.CollocationOptimization - SSLSessionManager.ThreadPerConnection - SessionTimeout - Trace.RoutingTable - Trace.Session - -Freeze: - DbEnv.<any>.CheckpointPeriod - DbEnv.<any>.DbHome - DbEnv.<any>.DbPrivate - DbEnv.<any>.DbRecoverFatal - DbEnv.<any>.OldLogsAutoDelete - DbEnv.<any>.PeriodicCheckpointMinSize - Evictor.<any>.MaxTxSize - Evictor.<any>.SavePeriod - Evictor.<any>.SaveSizeTrigger - Evictor.<any>.StreamTimeout - Evictor.<any>.PopulateEmptyIndices - Evictor.UseNonmutating - Trace.DbEnv - Trace.Evictor - Trace.Map - Trace.Transaction - Warn.CloseInFinalize - Warn.Deadlocks + <section name="IcePatch2"> + <property name="AdapterId" /> + <property name="Admin.AdapterId" /> + <property name="Admin.Endpoints" /> + <property name="Admin.Locator" /> + <property name="Admin.PublishedEndpoints" /> + <property name="Admin.RegisterProcess" /> + <property name="Admin.ReplicaGroupId" /> + <property name="Admin.Router" /> + <property name="Admin.ThreadPerConnection" /> + <property name="Admin.ThreadPerConnection.StackSize" /> + <property name="Admin.ThreadPool" threadpool="true"/> + <property name="ChunkSize" /> + <property name="Directory" /> + <property name="Endpoints" /> + <property name="InstanceName" /> + <property name="Locator" /> + <property name="PublishedEndpoints" /> + <property name="RegisterProcess" /> + <property name="ReplicaGroupId" /> + <property name="Remove" /> + <property name="Router" /> + <property name="Thorough" /> + <property name="ThreadPerConnection" /> + <property name="ThreadPerConnection.StackSize" /> + <property name="ThreadPool" threadpool="true" /> + </section> + + <section name="IceSSL"> + <property name="Alias" /> + <property name="CertAuthDir" /> + <property name="CertAuthFile" /> + <property name="CertFile" /> + <property name="CheckCertName" /> + <property name="CheckCRL" /> + <property name="Ciphers" /> + <property name="DefaultDir" /> + <property name="DH.<any>" /> + <property name="EntropyDaemon" /> + <property name="FindCert.<any>" /> + <property name="ImportCert.<any>" /> + <property name="KeyFile" /> + <property name="Keystore" /> + <property name="KeystorePassword" /> + <property name="KeystoreType" /> + <property name="Password" /> + <property name="PasswordRetryMax" /> + <property name="Protocols" /> + <property name="Random" /> + <property name="Trace.Security" /> + <property name="Truststore" /> + <property name="TruststorePassword" /> + <property name="TruststoreType" /> + <property name="VerifyDepthMax" /> + <property name="VerifyPeer" /> + <property name="TrustOnly" /> + <property name="TrustOnly.Client" /> + <property name="TrustOnly.Server" /> + <property name="TrustOnly.Server.<any>" /> + </section> + + <section name="IceStormAdmin"> + <property name="TopicManager.<any>" /> + </section> + + <section name="IceStorm"> + <property name="Flush.Timeout" /> + <property name="InstanceName" /> + <property name="Publish.AdapterId" /> + <property name="Publish.Endpoints" /> + <property name="Publish.Locator" /> + <property name="Publish.PublishedEndpoints" /> + <property name="Publish.RegisterProcess" /> + <property name="Publish.ReplicaGroupId" /> + <property name="Publish.Router" /> + <property name="Publish.ThreadPerConnection" /> + <property name="Publish.ThreadPerConnection.StackSize" /> + <property name="Publish.ThreadPool" threadpool="true"/> + <property name="TopicManager.AdapterId" /> + <property name="TopicManager.Endpoints" /> + <property name="TopicManager.Locator" /> + <property name="TopicManager.Proxy" proxy="true" /> + <property name="TopicManager.PublishedEndpoints" /> + <property name="TopicManager.RegisterProcess" /> + <property name="TopicManager.ReplicaGroupId" /> + <property name="TopicManager.Router" /> + <property name="TopicManager.ThreadPerConnection" /> + <property name="TopicManager.ThreadPerConnection.StackSize" /> + <property name="TopicManager.ThreadPool" threadpool="true" /> + <property name="SubscriberPool.Size" /> + <property name="SubscriberPool.SizeMax" /> + <property name="SubscriberPool.SizeWarn" /> + <property name="SubscriberPool.Timeout" /> + <property name="Trace.Flush" /> + <property name="Trace.Subscriber" /> + <property name="Trace.SubscriberPool" /> + <property name="Trace.Topic" /> + <property name="Trace.TopicManager" /> + <property name="Send.Timeout" /> + <property name="Discard.Interval" /> + </section> + + <section name="Glacier2"> + <property name="AddSSLContext" /> + <property name="AddUserToAllowCategories" deprecated="true" + deprecatedBy="Glacier2.Filter.Category.AcceptUser" /> + <property name="Admin.Endpoints" /> + <property name="Admin.PublishedEndpoints" /> + <property name="Admin.RegisterProcess" /> + <property name="AllowCategories" deprecated="true" + deprecatedBy="Glacier2.Filter.Category.Accept" /> + <property name="Client.AlwaysBatch" /> + <property name="Client.Buffered" /> + <property name="Client.Endpoints" /> + <property name="Client.ForwardContext" /> + <property name="Client.PublishedEndpoints" /> + <property name="Client.RegisterProcess" /> + <property name="Client.SleepTime" /> + <property name="Client.Trace.Override" /> + <property name="Client.Trace.Reject" /> + <property name="Client.Trace.Request" /> + <property name="Filter.Address.Reject" /> + <property name="Filter.Address.Accept" /> + <property name="Filter.ProxySizeMax" /> + <property name="Filter.Category.Accept" /> + <property name="Filter.Category.AcceptUser" /> + <property name="Filter.AdapterId.Accept" /> + <property name="Filter.Identity.Accept" /> + <property name="CryptPasswords" /> + <property name="InstanceName" /> + <property name="PermissionsVerifier" proxy="true"/> + <property name="ReturnClientProxy" /> + <property name="SSLPermissionsVerifier" proxy="true"/> + <property name="RoutingTable.MaxSize" /> + <property name="Server.AlwaysBatch" /> + <property name="Server.Buffered" /> + <property name="Server.Endpoints" /> + <property name="Server.ForwardContext" /> + <property name="Server.PublishedEndpoints" /> + <property name="Server.RegisterProcess" /> + <property name="Server.SleepTime" /> + <property name="Server.Trace.Override" /> + <property name="Server.Trace.Request" /> + <property name="SessionManager" proxy="true"/> + <property name="SSLSessionManager" proxy="true"/> + <property name="SessionTimeout" /> + <property name="Trace.RoutingTable" /> + <property name="Trace.Session" /> + </section> + + <section name="Freeze"> + <property name="DbEnv.<any>.CheckpointPeriod" /> + <property name="DbEnv.<any>.DbHome" /> + <property name="DbEnv.<any>.DbPrivate" /> + <property name="DbEnv.<any>.DbRecoverFatal" /> + <property name="DbEnv.<any>.OldLogsAutoDelete" /> + <property name="DbEnv.<any>.PeriodicCheckpointMinSize" /> + <property name="Evictor.<any>.MaxTxSize" /> + <property name="Evictor.<any>.SavePeriod" /> + <property name="Evictor.<any>.SaveSizeTrigger" /> + <property name="Evictor.<any>.StreamTimeout" /> + <property name="Evictor.<any>.PopulateEmptyIndices" /> + <property name="Evictor.UseNonmutating" /> + <property name="Trace.DbEnv" /> + <property name="Trace.Evictor" /> + <property name="Trace.Map" /> + <property name="Trace.Transaction" /> + <property name="Warn.CloseInFinalize" /> + <property name="Warn.Deadlocks" /> + </section> + +</properties> diff --git a/cpp/config/makeprops.py b/cpp/config/makeprops.py index 9ab92bbee23..b56d3132e30 100644 --- a/cpp/config/makeprops.py +++ b/cpp/config/makeprops.py @@ -10,398 +10,680 @@ import os, sys, shutil, re, signal, time, string +from xml.sax import make_parser +from xml.sax.handler import feature_namespaces +from xml.sax.handler import ContentHandler +from xml.sax import saxutils +from xml.sax import SAXException + progname = os.path.basename(sys.argv[0]) -infile = "" -classname = "" -lineNum = 0 -errors = 0 -outputFiles = [] +contentHandler = None +proxyProperties = [ + "EndpointSelection", + "ConnectionCached", + "PreferSecure", + "LocatorCacheTimeout", + "Locator", + "Router", + "CollocationOptimization", + "ThreadPerConnection" + ] + +threadPoolProperties = [ + "Size", + "SizeMax", + "SizeWarn", + "StackSize" + ] + +commonPreamble = """// ********************************************************************** +// +// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +// Generated by makeprops.py from file XXX- stuff needs to go here! + +// IMPORTANT: Do not edit this file -- any edits made here will be lost! +""" + +cppHeaderPreamble = commonPreamble + """ +#ifndef ICE_INTERNAL_%(classname)s_H +#define ICE_INTERNAL_%(classname)s_H + +#include <Ice/Config.h> + +namespace IceInternal +{ + +struct Property +{ + const char* pattern; + bool deprecated; + const char* deprecatedBy; + + Property(const char* n, bool d, const char* b) : + pattern(n), + deprecated(d), + deprecatedBy(b) + { + } + + Property() : + pattern(0), + deprecated(false), + deprecatedBy(0) + { + } + +}; + +struct PropertyArray +{ + const Property* properties; + const int length; + + PropertyArray(const Property* p, int len) : + properties(p), + length(len) + { + } +}; + +class %(classname)s +{ +public: + +""" + +cppHeaderPostamble = """ + static const PropertyArray IceInternal::%(classname)s::validProps[]; + static const char * IceInternal::%(classname)s::clPropNames[]; +}; + +} + +#endif +""" + +cppSrcPreamble = commonPreamble + """ +#include <Ice/%(classname)s.h> + +""" + +javaPropertyClass = commonPreamble + """ +package IceInternal; + +class Property +{ + Property(String pattern, boolean deprecated, String deprecatedBy) + { + _pattern = pattern; + _deprecated = deprecated; + _deprecatedBy = deprecatedBy; + } + + public String + pattern() + { + return _pattern; + } + + public boolean + deprecated() + { + return _deprecated; + } + + public String + deprecatedBy() + { + return _deprecatedBy; + } + + private String _pattern; + private boolean _deprecated; + private String _deprecatedBy; +} +""" + +javaPreamble = commonPreamble + """ +package IceInternal; + +public final class %(classname)s +{ +""" + +csPropertyClass = commonPreamble + """ +namespace IceInternal +{ + public sealed class Property + { + public Property(string pattern, bool deprecated, string deprecatedBy) + { + _pattern = pattern; + _deprecated = deprecated; + _deprecatedBy = deprecatedBy; + } + + public string + pattern() + { + return _pattern; + } + + public bool + deprecated() + { + return _deprecated; + } + + public string + deprecatedBy() + { + return _deprecatedBy; + } + + private string _pattern; + private bool _deprecated; + private string _deprecatedBy; + } +} +""" + +csPreamble = commonPreamble + """ +namespace IceInternal +{ + public sealed class %(classname)s + { +""" def usage(): global progname print >> sys.stderr, "Usage: " + progname + " [--{cpp|java|cs} file]" -def fileError(msg): - global progname, infile, lineNum, errors - print >> sys.stderr, progname + ": " + infile + ':' + str(lineNum) + ": " + msg - errors += 1 - def progError(msg): global progname print >> sys.stderr, progname + ": " + msg -def removeOutputFiles(): - global outputFiles - for entry in outputFiles: - try: - if os.path.exists(entry[0]): - os.remove(entry[0]) - except EnvironmentError, ex: - progError("warning: could not unlink `" + entry[0] + "': " + ex.strerror + \ - " -- generated file contains errors"); - def handler(signum, frame): - removeOutputFiles() + """Installed as signal handler. Should cause an files that are in + use to be closed and removed""" + global contentHandler + contentHandler.cleanup() sys.exit(128 + signum) -def openOutputFile(filename): - global outputFiles - try: - outfile = file(filename, 'w') - outputFiles.append([filename, outfile]) - except IOError, ex: - progError("cannot open `" + filename + "' for writing: " + ex.strerror) - removeOutputFiles() - sys.exit(1) - -def writePreamble(lang): - global progname - global infile - global outputFiles - global classname - - for entry in outputFiles: - file = entry[1] - file.write("// **********************************************************************\n") - file.write("//\n") - file.write("// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.\n") - file.write("//\n") - file.write("// This copy of Ice is licensed to you under the terms described in the\n") - file.write("// ICE_LICENSE file included in this distribution.\n") - file.write("//\n") - file.write("// **********************************************************************\n") - file.write("\n") - file.write("// Generated by " + progname + " from file `" + infile + "', " + time.ctime() + "\n") - file.write("\n") - file.write("// IMPORTANT: Do not edit this file -- any edits made here will be lost!\n"); - if lang == "cpp": - continue - if lang == "java": - file.write("\n"); - file.write("package IceInternal;\n") - file.write("\n") - file.write("public final class " + classname + '\n'); - file.write("{\n") - continue - if lang == "cs": - file.write("\n"); - file.write("namespace IceInternal\n") - file.write("{\n") - file.write(" public sealed class " + classname + '\n') - file.write(" {\n"); - continue - progError("Internal error: impossible language: `" + lang + "'") +class UnknownElementException(Exception): + def __init__(self, value): + self.value = value + + def __str__(self): + return repr(self.value) + +class PropertyHandler(ContentHandler): + + def __init__(self, className): + self.start = False + self.properties = {} + self.className = className + self.currentSection = None + self.sectionPropertyCount = 0 + self.sections = [] + self.cmdLineOptions = [] + + def cleanup(self): + """Needs to be overridden in derived class""" + pass + + def startFiles(self): + """Needs to be overridden in derived class""" + pass + + def closeFiles(self): + """Needs to be overridden in derived class""" + pass + + def deprecatedImpl(self, propertyName): + """Needs to be overridden in derived class""" + pass + + def deprecatedImplWithReplacementImpl(self, propertyName, deprecatedBy): + """Needs to be overridden in derived class""" + pass + + def propertyImpl(self, propertyName): + """Needs to be overridden in derived class""" + pass + + def newSection(self, sectionName): + """Needs to be overridden in derived class""" + pass + + def moveFiles(self, location): + """Needs to be overridden in derived class""" + pass + + def handleNewSection(self, sectionName, cmdLine): + self.currentSection = sectionName + self.sectionPropertyCount = 0 + if cmdLine == "true": + self.cmdLineOptions.append(sectionName) + self.sections.append(sectionName) + self.newSection() + + def handleDeprecated(self, propertyName): + self.properties[propertyName] = None + self.deprecatedImpl(propertyName) + + def handleDeprecatedWithReplacement(self, propertyName, deprecatedBy): + self.properties[propertyName] = deprecatedBy + self.deprecatedImplWithReplacementImpl(propertyName, deprecatedBy) + + def handleProperty(self, propertyName): + self.properties[propertyName] = "" + self.propertyImpl(propertyName) + + def startElement(self, name, attrs): + if name == "properties": + self.start = True + self.startFiles() + return + + if not self.start: + return + + if name == "section": + noCmdLine = attrs.get("noCmdLine", None) + self.handleNewSection(attrs.get("name"), noCmdLine) + + elif name == "property": + propertyName = attrs.get("name", None) + + if attrs.get("threadpool", None) == "true": + # + # expand known thread pool properties. + # + for p in threadPoolProperties: + self.startElement(name, { 'name': "%s.%s" % (propertyName, p)}) + # + # We don't include a property for the property entry + # itself + # + return + + # + # != None implies deprecated == true + # + deprecatedBy = attrs.get("deprecatedBy", None) + if deprecatedBy != None: + self.handleDeprecatedWithReplacement(propertyName, deprecatedBy) + pass + elif attrs.get("deprecated", "false").lower() == "true" : + self.handleDeprecated(propertyName) + else: + self.handleProperty(propertyName) + + if attrs.get("proxy", None) != None: + # + # expand known proxy properties. + # + for p in proxyProperties: + self.startElement(name, {'name':"%s.%s" % (propertyName, p)}) + + else: + raise UnknownElementException(name) + + def endElement(self, name): + if name == "properties": + self.closeFiles() + elif name == "section": + self.closeSection() + +class CppPropertyHandler(PropertyHandler): + + def __init__(self, c): + PropertyHandler.__init__(self, c) + self.hFile = None + self.cppFile = None + + def cleanup(self): + if self.hFile != None: + self.hFile.close() + if os.path.exists(self.className + ".h"): + os.remove(self.className + ".h") + if self.cppFile != None: + self.cppFile.close() + if os.path.exists(self.className + ".cpp"): + os.remove(self.className + ".cpp") + + def startFiles(self): + self.hFile = open(self.className + ".h", "w") + self.cppFile = open(self.className + ".cpp", "w") + self.hFile.write(cppHeaderPreamble % {'classname' : self.className}) + self.cppFile.write(cppSrcPreamble % {'classname' : self.className}) + + def closeFiles(self): + self.hFile.write(cppHeaderPostamble % {'classname' : self.className}) + self.cppFile.write("\nconst IceInternal::PropertyArray "\ + "IceInternal::%(classname)s::validProps[] =\n" % \ + {'classname' : self.className}) + + self.cppFile.write("{\n") + for s in self.sections: + self.cppFile.write(" %sProps,\n" % s) + self.cppFile.write(" IceInternal::PropertyArray(0,0)\n"); + self.cppFile.write("};\n\n") + + self.cppFile.write("\nconst char* IceInternal::%(classname)s::clPropNames[] =\n" % \ + {'classname' : self.className}) + self.cppFile.write("{\n") + for s in self.sections: + self.cppFile.write(" \"%s\",\n" % s) + self.cppFile.write(" 0\n") + self.cppFile.write("};\n\n") + self.hFile.close() + self.cppFile.close() + + def fix(self, propertyName): + return string.replace(propertyName, "<any>", "*") + + def deprecatedImpl(self, propertyName): + self.cppFile.write(" IceInternal::Property(\"%s.%s\", true, 0),\n" % (self.currentSection, \ + self.fix(propertyName))) + + def deprecatedImplWithReplacementImpl(self, propertyName, deprecatedBy): + self.cppFile.write(" IceInternal::Property(\"%s.%s\", true, \"%s\"),\n" % (self.currentSection, \ + self.fix(propertyName), deprecatedBy)) + + def propertyImpl(self, propertyName): + self.cppFile.write(" IceInternal::Property(\"%s.%s\", false, 0),\n" % \ + (self.currentSection, self.fix(propertyName))) + + def newSection(self): + self.hFile.write(" static const PropertyArray %sProps;\n" % self.currentSection) + self.cppFile.write("const IceInternal::Property %sPropsData[] = \n" % self.currentSection) + self.cppFile.write("{\n") + + def closeSection(self): + self.cppFile.write("};\n") + self.cppFile.write(""" +const IceInternal::PropertyArray + IceInternal::%(className)s::%(section)sProps(%(section)sPropsData, + sizeof(%(section)sPropsData)/sizeof(%(section)sPropsData[0])); + +""" % { 'className' : self.className, 'section': self.currentSection }) + + def moveFiles(self, location): + shutil.move(self.className + ".h", os.path.join(location, "src", "Ice")) + shutil.move(self.className + ".cpp", os.path.join(location, "src", "Ice")) + +class JavaPropertyHandler(PropertyHandler): + def __init__(self, c): + PropertyHandler.__init__(self, c) + self.srcFile = None + + def cleanup(self): + if self.srcFile != None: + self.srcFile.close() + if os.path.exists(self.className + ".java"): + os.remove(self.className + ".java") + if os.path.exists("Property.java"): + os.remove("Property.java") + + def startFiles(self): + self.srcFile = file(self.className + ".java", "w") + self.srcFile.write(javaPreamble % {'classname' : self.className}) + propertyClassFile = file("Property.java", "w") + propertyClassFile.write(javaPropertyClass) + propertyClassFile.close() + + def closeFiles(self): + self.srcFile.write("\n public static final Property[] validProps[] = \n" % \ + {'classname' : self.className}) + + self.srcFile.write(" {\n") + for s in self.sections: + self.srcFile.write(" %sProps,\n" % s) + self.srcFile.write(" null\n") + self.srcFile.write(" };\n\n") + + self.srcFile.write("\n public static final String clPropNames[] =\n" % \ + {'classname' : self.className}) + self.srcFile.write(" {\n") + for s in self.sections: + self.srcFile.write(" \"%s\",\n" % s) + self.srcFile.write(" null\n") + self.srcFile.write(" };\n\n") + self.srcFile.write("};\n\n") + self.srcFile.close() + + def fix(self, propertyName): + # + # The Java property strings are actually regexp's that will be passed to Java's regexp facitlity. + # + propertyName = string.replace(propertyName, ".", "\\\\.") + return string.replace(propertyName, "<any>", "[^\\\\s]+") + + def deprecatedImpl(self, propertyName): + self.srcFile.write(" new Property(\"%(section)s\\\\.%(pattern)s\", " \ + "true, null),\n" % \ + {"section" : self.currentSection, "pattern": self.fix(propertyName)}) + + def deprecatedImplWithReplacementImpl(self, propertyName, deprecatedBy): + self.srcFile.write(" new Property(\"%(section)s\\\\.%(pattern)s\", "\ + "true, \"%(deprecatedBy)s\"),\n" % \ + {"section" : self.currentSection, "pattern": self.fix(propertyName), + "deprecatedBy" : deprecatedBy}) + + def propertyImpl(self, propertyName): + self.srcFile.write(" new Property(\"%(section)s\\\\.%(pattern)s\", " \ + "false, null),\n" % \ + {"section" : self.currentSection, "pattern": self.fix(propertyName)} ) + + def newSection(self): + self.srcFile.write(" public static final Property %sProps[] = \n" % self.currentSection) + self.srcFile.write(" {\n") + + def closeSection(self): + self.srcFile.write(" null\n") + self.srcFile.write(" };\n\n") + + def moveFiles(self, location): + shutil.move(self.className + ".java", os.path.join(location, "..", "icej", "src", "IceInternal")) + shutil.move("Property.java", os.path.join(location, "..", "icej", "src", "IceInternal")) + +class CSPropertyHandler(PropertyHandler): + def __init__(self, c): + PropertyHandler.__init__(self, c) + self.srcFile = None + + def cleanup(self): + if self.srcFile != None: + self.srcFile.close() + if os.path.exists(self.className + ".cs"): + os.remove(self.className + ".cs") + if os.path.exists("Property.cs"): + os.remove("Property.cs") + + def startFiles(self): + self.srcFile = file(self.className + ".cs", "w") + self.srcFile.write(csPreamble % {'classname' : self.className}) + propertyClassFile = file("Property.cs", "w") + propertyClassFile.write(csPropertyClass) + propertyClassFile.close() + + def closeFiles(self): + self.srcFile.write(" public static Property[][] validProps = \n" % \ + {'classname' : self.className}) + + self.srcFile.write(" {\n") + for s in self.sections: + self.srcFile.write(" %sProps,\n" % s) + self.srcFile.write(" null\n") + self.srcFile.write(" };\n\n") + + self.srcFile.write(" public static string[] clPropNames =\n" % \ + {'classname' : self.className}) + self.srcFile.write(" {\n") + for s in self.sections: + self.srcFile.write(" \"%s\",\n" % s) + self.srcFile.write(" null\n") + self.srcFile.write(" };\n") + self.srcFile.write(" }\n") + self.srcFile.write("}\n") + self.srcFile.close() + + def fix(self, propertyName): + propertyName = string.replace(propertyName, ".", "\\.") + return string.replace(propertyName, "<any>", "[^\\s]+") + + def deprecatedImpl(self, propertyName): + self.srcFile.write(" new Property(@\"^%s\.%s$\", true, null),\n" % (self.currentSection, \ + self.fix(propertyName))) + + def deprecatedImplWithReplacementImpl(self, propertyName, deprecatedBy): + self.srcFile.write(" new Property(@\"^%s\.%s$\", true, @\"%s\"),\n" % \ + (self.currentSection, self.fix(propertyName), deprecatedBy)) + + def propertyImpl(self, propertyName): + self.srcFile.write(" new Property(@\"^%s\.%s$\", false, null),\n" % (self.currentSection, \ + self.fix(propertyName))) + + def newSection(self): + self.srcFile.write(" public static Property[] %sProps =\n" % self.currentSection); + self.srcFile.write(" {\n") + + def closeSection(self): + self.srcFile.write(" null\n") + self.srcFile.write(" };\n") + self.srcFile.write("\n") + + def moveFiles(self, location): + shutil.move(self.className + ".cs", os.path.join(location, "..", "icecs", "src", "Ice")) + shutil.move("Property.cs", os.path.join(location, "..", "icecs", "src", "Ice")) + +class MultiHandler(PropertyHandler): + def __init__(self, c): + self.handlers = [] + PropertyHandler.__init__(self, c) + + def cleanup(self): + for f in self.handlers: + f.cleanup() + + def addHandlers(self, handlers): + self.handlers.extend(handlers) + + def startFiles(self): + for f in self.handlers: + f.startFiles() + + def closeFiles(self): + for f in self.handlers: + f.closeFiles() + + def newSection(self): + for f in self.handlers: + f.newSection() + + def closeSection(self): + for f in self.handlers: + f.closeSection() + + def handleNewSection(self, sectionName, cmdLine): + for f in self.handlers: + f.handleNewSection(sectionName, cmdLine) + + def handleDeprecated(self, propertyName): + for f in self.handlers: + f.handleDeprecated(sectionName, cmdLine) + + def handleDeprecatedWithReplacement(self, propertyName, deprecatedBy): + for f in self.handlers: + f.handleDeprecatedWithReplacement(propertyName, deprecatedBy) + + def handleProperty(self, propertyName): + for f in self.handlers: + f.handleProperty(propertyName) + + def moveFiles(self, location): + for f in self.handlers: + f.moveFiles(location) + +def main(): + if len(sys.argv) != 1 and len(sys.argv) != 3: + usage() sys.exit(1) - if lang == "cpp": - header = outputFiles[1][1] - header.write("\n"); - header.write("#ifndef ICE_INTERNAL_" + classname + "_H\n"); - header.write("#define ICE_INTERNAL_" + classname + "_H\n"); - header.write("\n") - header.write("#include <Ice/Config.h>") - header.write("\n") - header.write("namespace IceInternal\n") - header.write("{\n") - header.write("\n") - header.write("class " + classname + '\n') - header.write("{\n") - header.write("public:\n") - header.write("\n") - file = outputFiles[0][1] - file.write("\n"); - file.write("#include <Ice/" + classname + ".h>\n") - -def writePostamble(lang, labels, commandLineLabels): - file = outputFiles[0][1] - if lang == "cpp": - header = outputFiles[1][1] - header.write("\n") - - header.write(" static const char* const* validProps[];\n") - file.write("\n"); - file.write("const char* const* IceInternal::" + classname + "::validProps[] =\n") - file.write("{\n") - for label, line in labels.iteritems(): - file.write(" " + label + "Props,\n") - file.write(" 0\n"); - file.write("};\n") - - header.write(" static const char* clPropNames[];\n") - file.write("\n"); - file.write("const char* IceInternal::" + classname + "::clPropNames[] =\n") - file.write("{\n") - for label in commandLineLabels: - file.write(" \"" + label + "\",\n") - file.write(" 0\n"); - file.write("};\n") - - header.write("};\n") - header.write("\n") - header.write("}\n") - header.write("\n") - header.write("#endif\n"); - return - if lang == "java": - file.write(" public static final String[] validProps[] =\n") - file.write(" {\n") - for label, line in labels.iteritems(): - file.write(" " + label + "Props,\n") - file.write(" null\n") - file.write(" };\n\n"); - - file.write(" public static final String clPropNames[] =\n") - file.write(" {\n") - for label in commandLineLabels: - file.write(" \"" + label + "\",\n") - file.write(" null\n") - file.write(" };\n"); - file.write("}\n"); - return - if lang == "cs": - file.write(" public static string[][] validProps =\n") - file.write(" {\n") - for label, line in labels.iteritems(): - file.write(" " + label + "Props,\n") - file.write(" null\n") - file.write(" };\n\n"); - - file.write(" public static string[] clPropNames =\n") - file.write(" {\n") - for label in commandLineLabels: - file.write(" \"" + label + "\",\n") - file.write(" null\n") - file.write(" };\n"); - file.write(" }\n"); - file.write("}\n"); - return - -def startSection(lang, label): - if lang == "cpp": - header = outputFiles[1][1] - header.write(" static const char* " + label + "Props[];\n") - - file = outputFiles[0][1] - if lang == "cpp": - file.write("\n"); - file.write("const char* IceInternal::" + classname + "::" + label + "Props[] =\n") - file.write("{\n"); - return - if lang == "java": - file.write(" public static final String " + label + "Props[] =\n"); - file.write(" {\n") - return - if lang == "cs": - file.write(" public static string[] " + label + "Props =\n"); - file.write(" {\n") - return - -def endSection(lang): - file = outputFiles[0][1] - if lang == "cpp": - file.write(" 0\n"); - file.write("};\n"); - return - if lang == "java": - file.write(" null\n"); - file.write(" };\n"); - file.write("\n") - return - if lang == "cs": - file.write(" null\n"); - file.write(" };\n"); - file.write("\n") - return - -wildcard = re.compile(".*<any>.*") - -def writeEntry(lang, label, entry): - file = outputFiles[0][1] - if lang == "cpp": - file.write(" \"" + label + '.' + string.replace(entry, "<any>", "*") + "\",\n") - elif lang == "java": - pattern = string.replace(entry, ".", "\\\\.") - pattern = string.replace(pattern, "<any>", "[^\\\\s]+") - file.write(" " + "\"^" + label + "\\\\." + pattern + "$\",\n") - elif lang == "cs": - pattern = string.replace(entry, ".", "\\.") - pattern = string.replace(pattern, "<any>", "[^\\s]+") - file.write(" " + "@\"^" + label + "\\." + pattern + "$\",\n") - -def processFile(lang): - - # - # Open input file. - # - global infile - try: - f = file(infile, 'r') - except IOError, ex: - progError("cannot open `" + infile + "': " + ex.strerror) - sys.exit(1) + infile = None + lang = None - # - # Set up regular expressions for empty and comment lines, section headings, and entry lines. - # - ignore = re.compile("^\s*(?:#.*)?$") # Empty line or comment line - section = re.compile("^\s*([a-zA-Z_]\w*)\s*:\s*([a-zA-Z]\w*)?\s*$") # Section heading - entry = re.compile("^\s*([^ \t\n\r\f\v#]+)(?:\s*#.*)?$") # Any non-whitespace character sequence, except for # + if len(sys.argv) == 1: + # + # Find where the root of the tree is. + # + for toplevel in [".", "..", "../..", "../../..", "../../../.."]: + toplevel = os.path.normpath(toplevel) + if os.path.exists(os.path.join(toplevel, "config", "makeprops.py")): + break + else: + progError("cannot find top-level directory") + sys.exit(1) + + infile = os.path.join(toplevel, "config", "PropertyNames.xml") + else: + option = sys.argv[1] + if option == "--cpp": + lang = "cpp" + elif option == "--java": + lang = "java" + elif option == "--cs": + lang = "cs" + elif option in ["-h", "--help", "-?"]: + usage() + sys.exit(0) + else: + usage() + sys.exit(1) + infile = sys.argv[2] + + className, ext = os.path.splitext(os.path.basename(infile)) + global contentHandler + if lang == None: + contentHandler = MultiHandler("") + contentHandler.addHandlers([CppPropertyHandler(className), JavaPropertyHandler(className), + CSPropertyHandler(className)]) + else: + if lang == "cpp": + contentHandler = CppPropertyHandler(className) + elif lang == "java": + contentHandler = JavaPropertyHandler(className) + elif lang == "cs": + contentHandler = CSPropertyHandler(className) # # Install signal handler so we can remove the output files if we are interrupted. # signal.signal(signal.SIGINT, handler) - signal.signal(signal.SIGHUP, handler) + # signal.signal(signal.SIGHUP, handler) signal.signal(signal.SIGTERM, handler) - # - # Open output files. - # - global classname - classname, ext = os.path.splitext(os.path.basename(infile)) - openOutputFile(classname + '.' + lang) - if(lang == "cpp"): - openOutputFile(classname + ".h") - - labels = {} # Records the line number on which each label is defined - commandLineLabels = [] # The set of labels which are command line processing is enabled - atSectionStart = 0 # True for the line on which a label is defined - seenSection = 0 # Set to true (and the remains as true) once the first label is defined - numEntries = 0 # Number of entries within a section - errors = 0 # Number of syntax errors in the input file - - # - # Write preamble. - # - writePreamble(lang) - - # - # Loop over lines in input file. - # - global lineNum - lines = f.readlines() - for l in lines: - lineNum += 1 - - # - # Ignore empty lines and comments. - # - if ignore.match(l) != None: - continue - - # - # Start of section. - # - labelMatch = section.match(l) - if labelMatch != None: - if atSectionStart: - fileError("section `" + label + "' must have at least one entry") - label = labelMatch.group(1) - try: - badLine = labels[label] - fileError("duplicate section heading: `" + label + "': previously defined on line " + badLine) - except KeyError: - pass - if label == "validProps": - fileError("`validProps' is reserved and cannot be used as a section heading") - if labelMatch.group(2) != "false": - commandLineLabels.append(label) - labels[label] = lineNum - if seenSection: - endSection(lang) - numEntries = 0 - startSection(lang, label) - seenSection = 1 - atSectionStart = 1 - continue - - entryMatch = entry.match(l) - if entryMatch != None: - writeEntry(lang, label, entryMatch.group(1)) - atSectionStart = 0 - numEntries += 1 - continue - - fileError("syntax error") - - if len(labels) == 0: - fileError("input must define at least one section"); - - # - # End the final section. - # - if numEntries == 0: - fileError("section `" + label + "' must have at least one entry") - endSection(lang) - - # - # End the source files. - # - writePostamble(lang, labels, commandLineLabels) - - global outputFiles - for entry in outputFiles: - entry[1].close() - - # - # Remove the output files if anything went wrong, so we don't leave partically written files behind. - # - if errors != 0: - removeOutputFiles() - sys.exit(1) - outputFiles = [] - -# -# Check arguments. -# -if len(sys.argv) != 1 and len(sys.argv) != 3: - usage() - sys.exit(1) - -lang = "" -if len(sys.argv) == 1: - # - # Find where the root of the tree is. - # - for toplevel in [".", "..", "../..", "../../..", "../../../.."]: - toplevel = os.path.normpath(toplevel) - if os.path.exists(os.path.join(toplevel, "config", "makeprops.py")): - break - else: - progError("cannot find top-level directory") - sys.exit(1) - - infile = os.path.join(toplevel, "config", "PropertyNames.def") - lang = "all" - -else: - option = sys.argv[1] - if option == "--cpp": - lang = "cpp" - elif option == "--java": - lang = "java" - elif option == "--cs": - lang = "cs" - elif option == "-h" or option == "--help" or option == "-?": - usage() - sys.exit(0) - else: - usage() - sys.exit(1) - infile = sys.argv[2] - -if lang == "all": - processFile("cpp") - shutil.move("PropertyNames.cpp", os.path.join(toplevel, "src", "Ice")) - shutil.move("PropertyNames.h", os.path.join(toplevel, "src", "Ice")) - processFile("java") - if os.path.exists(os.path.join(toplevel, "..", "icej")): - shutil.move("PropertyNames.java", os.path.join(toplevel, "..", "icej", "src", "IceInternal")); - processFile("cs") - if os.path.exists(os.path.join(toplevel, "..", "icecs")): - shutil.move("PropertyNames.cs", os.path.join(toplevel, "..", "icecs", "src", "Ice")); -else: - processFile(lang) - - -sys.exit(0) + parser = make_parser() + parser.setFeature(feature_namespaces, 0) + parser.setContentHandler(contentHandler) + pf = file(infile) + try: + parser.parse(pf) + contentHandler.moveFiles(toplevel) + except IOError, ex: + progError(str(ex)) + contentHandler.cleanup() + except SAXException, ex: + progError(str(ex)) + contentHandler.cleanup() + +if __name__ == "__main__": + main() diff --git a/cpp/install/common/components/ice.demo.vc60 b/cpp/install/common/components/ice.demo.vc60 index 18c6b8df89b..4c9bb28a2a7 100755 --- a/cpp/install/common/components/ice.demo.vc60 +++ b/cpp/install/common/components/ice.demo.vc60 @@ -17,4 +17,5 @@ exclude=**/*Makefile* exclude=**/Debug/** exclude=**/Release/** exclude=Freeze/backup/** +exclude=Database/** diff --git a/cpp/install/common/components/ice.demo.vc80_x64 b/cpp/install/common/components/ice.demo.vc80_x64 index ff9447e9754..9f96bc09cb1 100755 --- a/cpp/install/common/components/ice.demo.vc80_x64 +++ b/cpp/install/common/components/ice.demo.vc80_x64 @@ -19,3 +19,4 @@ exclude=**/*Makefile* exclude=**/Debug/** exclude=**/Release/** exclude=Freeze/backup/** +exclude=Database/** diff --git a/cpp/install/vc71/Ice.ism b/cpp/install/vc71/Ice.ism index a5dbe00e142..cb473edac55 100755 --- a/cpp/install/vc71/Ice.ism +++ b/cpp/install/vc71/Ice.ism @@ -412,9 +412,9 @@ <row><td>AdminWelcome</td><td>TextLine1</td><td>Text</td><td>135</td><td>8</td><td>225</td><td>45</td><td>65539</td><td/><td>##IDS__IsAdminInstallPointWelcome_Wizard##</td><td/><td/><td>0</td><td/><td/><td/></row>
<row><td>AdminWelcome</td><td>TextLine2</td><td>Text</td><td>136</td><td>54</td><td>228</td><td>45</td><td>65539</td><td/><td>##IDS__IsAdminInstallPointWelcome_ServerImage##</td><td/><td/><td>0</td><td>0</td><td/><td/></row>
<row><td>CancelSetup</td><td>Icon</td><td>Icon</td><td>15</td><td>15</td><td>24</td><td>24</td><td>5242881</td><td/><td/><td/><td/><td>0</td><td/><td/><td>NewBinary4</td></row>
- <row><td>CancelSetup</td><td>No</td><td>PushButton</td><td>135</td><td>57</td><td>66</td><td>17</td><td>3</td><td/><td>##IDS__IsCancelDlg_No##</td><td>Yes</td><td/><td>0</td><td/><td/><td/></row>
+ <row><td>CancelSetup</td><td>No</td><td>PushButton</td><td>135</td><td>57</td><td>66</td><td>17</td><td>3</td><td/><td>##IDS__IsCancelDlg_No##</td><td>Yes</td><td/><td>0</td><td>0</td><td/><td/></row>
<row><td>CancelSetup</td><td>Text</td><td>Text</td><td>48</td><td>15</td><td>194</td><td>30</td><td>3</td><td/><td>##IDS__IsCancelDlg_ConfirmCancel##</td><td/><td/><td>0</td><td/><td/><td/></row>
- <row><td>CancelSetup</td><td>Yes</td><td>PushButton</td><td>62</td><td>57</td><td>66</td><td>17</td><td>3</td><td/><td>##IDS__IsCancelDlg_Yes##</td><td/><td/><td>0</td><td/><td/><td/></row>
+ <row><td>CancelSetup</td><td>Yes</td><td>PushButton</td><td>62</td><td>57</td><td>66</td><td>17</td><td>3</td><td/><td>##IDS__IsCancelDlg_Yes##</td><td>No</td><td/><td>0</td><td>0</td><td/><td/></row>
<row><td>CustomSetup</td><td>Back</td><td>PushButton</td><td>164</td><td>243</td><td>66</td><td>17</td><td>3</td><td/><td>##IDS_BACK##</td><td>Next</td><td/><td>0</td><td/><td/><td/></row>
<row><td>CustomSetup</td><td>Banner</td><td>Bitmap</td><td>0</td><td>0</td><td>374</td><td>44</td><td>1</td><td/><td/><td/><td/><td>0</td><td/><td/><td>NewBinary20</td></row>
<row><td>CustomSetup</td><td>BannerLine</td><td>Line</td><td>0</td><td>44</td><td>374</td><td>0</td><td>1</td><td/><td/><td/><td/><td>0</td><td/><td/><td/></row>
@@ -996,7 +996,7 @@ <row><td>AdminChangeFolder</td><td>50</td><td>50</td><td>374</td><td>266</td><td>3</td><td>##IDS_PRODUCTNAME_INSTALLSHIELD##</td><td>Tail</td><td>OK</td><td>Cancel</td><td>Install Point Browse</td><td/><td>0</td><td/></row>
<row><td>AdminNetworkLocation</td><td>50</td><td>50</td><td>374</td><td>266</td><td>3</td><td>##IDS_PRODUCTNAME_INSTALLSHIELD##</td><td>InstallNow</td><td>InstallNow</td><td>Cancel</td><td>Network Location</td><td/><td>0</td><td/></row>
<row><td>AdminWelcome</td><td>50</td><td>50</td><td>374</td><td>266</td><td>3</td><td>##IDS_PRODUCTNAME_INSTALLSHIELD##</td><td>Next</td><td>Next</td><td>Cancel</td><td>Administration Welcome</td><td/><td>0</td><td/></row>
- <row><td>CancelSetup</td><td>50</td><td>50</td><td>260</td><td>85</td><td>3</td><td>##IDS_PRODUCTNAME_INSTALLSHIELD##</td><td>No</td><td>No</td><td>No</td><td>Cancel</td><td/><td>0</td><td/></row>
+ <row><td>CancelSetup</td><td>50</td><td>50</td><td>260</td><td>85</td><td>3</td><td>##IDS_PRODUCTNAME_INSTALLSHIELD##</td><td>Yes</td><td>No</td><td>No</td><td>Cancel</td><td/><td>0</td><td/></row>
<row><td>CustomSetup</td><td>50</td><td>50</td><td>374</td><td>266</td><td>35</td><td>##IDS_PRODUCTNAME_INSTALLSHIELD##</td><td>Tree</td><td>Next</td><td>Cancel</td><td>Custom Selection</td><td/><td>0</td><td/></row>
<row><td>CustomSetupTips</td><td>50</td><td>50</td><td>374</td><td>266</td><td>3</td><td>##IDS_PRODUCTNAME_INSTALLSHIELD##</td><td>OK</td><td>OK</td><td>OK</td><td>Custom Setup Tips</td><td/><td>0</td><td/></row>
<row><td>CustomerInformation</td><td>50</td><td>50</td><td>374</td><td>266</td><td>3</td><td>##IDS_PRODUCTNAME_INSTALLSHIELD##</td><td>NameEdit</td><td>Next</td><td>Cancel</td><td>Identification</td><td/><td>0</td><td/></row>
diff --git a/cpp/install/vc80/Ice.ism b/cpp/install/vc80/Ice.ism index fd06f31bd58..8c394d252d9 100755 --- a/cpp/install/vc80/Ice.ism +++ b/cpp/install/vc80/Ice.ism @@ -1011,6 +1011,8 @@ <row><td>ISUnSelfRegisterFiles</td><td>1025</td><td>ISSELFREG.DLL</td><td>ISUnSelfRegisterFiles</td><td/></row>
<row><td>NewCustomAction1</td><td>1394</td><td>CMD_EXE</td><td>/c FOR %f in (glacier2cs,icecs,icepackcs,icepatch2cs,icestormcs,icegridcs, iceboxcs, icesslcs) DO del /q [WindowsFolder]assembly\GAC_MSIL\%f\3.2.0.0__1f998c50fec78381\%f.pdb</td><td/></row>
<row><td>NewCustomAction11</td><td>1650</td><td>CMD_EXE</td><td>/c FOR %f in (glacier2cs,icecs,icepackcs,icepatch2cs,icestormcs,icegridcs, iceboxcs, icesslcs) DO del /q [WindowsFolder]assembly\GAC_MSIL\%f\3.2.0.0__1f998c50fec78381\%f.pdb</td><td/></row>
+ <row><td>NewCustomAction2</td><td>7</td><td>NewCustomAction2</td><td>ALLUSERS=[ALLUSERS] ADDLOCAL=ALL</td><td/></row>
+ <row><td>NewCustomAction3</td><td>39</td><td>{00000000-0000-0000-0000-000000000000}</td><td>ALLUSERS=[ALLUSERS] ADDLOCAL=ALL</td><td/></row>
<row><td>SetARPINSTALLLOCATION</td><td>51</td><td>ARPINSTALLLOCATION</td><td>[INSTALLDIR]</td><td/></row>
<row><td>SetAllUsersProfileNT</td><td>51</td><td>ALLUSERSPROFILE</td><td>[%SystemRoot]\Profiles\All Users</td><td/></row>
<row><td>setAllUsersProfile2K</td><td>51</td><td>ALLUSERSPROFILE</td><td>[%ALLUSERSPROFILE]</td><td/></row>
@@ -1810,6 +1812,7 @@ <row><td>ISProjectFolder</td><td/><td/><td>1</td></row>
<row><td>IceAssemblyPublicKey</td><td>1f998c50fec78381</td><td/><td>2</td></row>
<row><td>IceAssemblyVersion</td><td>3.1.0.0</td><td/><td>2</td></row>
+ <row><td>PATH_TO_TEMP_FILES</td><td>F:\temp</td><td/><td>2</td></row>
<row><td>ProgramFilesFolder</td><td/><td/><td>1</td></row>
<row><td>SystemFolder</td><td/><td/><td>1</td></row>
<row><td>WindowsFolder</td><td/><td/><td>1</td></row>
@@ -1927,6 +1930,7 @@ <table name="ISStorages">
<col key="yes" def="s72">Name</col>
<col def="S0">ISBuildSourcePath</col>
+ <row><td>NewCustomAction2</td><td><PATH_TO_TEMP_FILES>\Ice-3.2b-VC80-x64.msi</td></row>
</table>
<table name="ISString">
@@ -2793,20 +2797,20 @@ SQBDAEUAXwBNAFMASQABAFoARQBSAE8AQwA= <col def="s38">Feature_</col>
<col def="S72">File_Manifest</col>
<col def="S72">File_Application</col>
- <col def="I2">Attributes</col>
+ <col def="I2">Attributes</col>
</table>
<table name="MsiAssemblyName">
<col key="yes" def="s72">Component_</col>
<col key="yes" def="s255">Name</col>
<col def="s255">Value</col>
- <row><td>GAC_icecs</td><td>processorArchitecture</td><td>MSIL</td></row>
- <row><td>GAC_icesslcs</td><td>processorArchitecture</td><td>MSIL</td></row>
- <row><td>GAC_icegridcs</td><td>processorArchitecture</td><td>MSIL</td></row>
- <row><td>GAC_glacier2cs</td><td>processorArchitecture</td><td>MSIL</td></row>
- <row><td>GAC_iceboxcs</td><td>processorArchitecture</td><td>MSIL</td></row>
- <row><td>GAC_icestormcs</td><td>processorArchitecture</td><td>MSIL</td></row>
- <row><td>GAC_icepatch2cs</td><td>processorArchitecture</td><td>MSIL</td></row>
+ <row><td>GAC_glacier2cs</td><td>processorArchitecture</td><td>MSIL</td></row>
+ <row><td>GAC_iceboxcs</td><td>processorArchitecture</td><td>MSIL</td></row>
+ <row><td>GAC_icecs</td><td>processorArchitecture</td><td>MSIL</td></row>
+ <row><td>GAC_icegridcs</td><td>processorArchitecture</td><td>MSIL</td></row>
+ <row><td>GAC_icepatch2cs</td><td>processorArchitecture</td><td>MSIL</td></row>
+ <row><td>GAC_icesslcs</td><td>processorArchitecture</td><td>MSIL</td></row>
+ <row><td>GAC_icestormcs</td><td>processorArchitecture</td><td>MSIL</td></row>
</table>
<table name="MsiDigitalCertificate">
diff --git a/cpp/src/Ice/PropertiesI.cpp b/cpp/src/Ice/PropertiesI.cpp index 770f7064b57..09d38acc992 100644 --- a/cpp/src/Ice/PropertiesI.cpp +++ b/cpp/src/Ice/PropertiesI.cpp @@ -111,14 +111,24 @@ Ice::PropertiesI::setProperty(const string& key, const string& value) // LoggerPtr logger = getProcessLogger(); string::size_type dotPos = key.find('.'); + string currentKey = key; if(dotPos != string::npos) { - string prefix = key.substr(0, dotPos); - for(const char* const** i = IceInternal::PropertyNames::validProps; *i != 0; ++i) + string prefix = currentKey.substr(0, dotPos); + for(int i = 0 ; IceInternal::PropertyNames::validProps[i].properties != 0; ++i) { - string pattern(*i[0]); + string pattern(IceInternal::PropertyNames::validProps[i].properties[0].pattern); + + dotPos = pattern.find('.'); + + // + // Each top level prefix describes a non-empty + // namespace. Having a string without a prefix followed by a + // dot is an error. + // assert(dotPos != string::npos); + string propPrefix = pattern.substr(0, dotPos); if(propPrefix != prefix) { @@ -126,13 +136,24 @@ Ice::PropertiesI::setProperty(const string& key, const string& value) } bool found = false; - for(const char* const* j = *i; *j != 0 && !found; ++j) + + for(int j = 0; j < IceInternal::PropertyNames::validProps[i].length && !found; ++j) { - found = IceUtil::match(key, *j); + const IceInternal::Property& prop = IceInternal::PropertyNames::validProps[i].properties[j]; + found = IceUtil::match(currentKey, prop.pattern); + + if(found && prop.deprecated) + { + logger->warning("deprecated property: " + currentKey); + if(prop.deprecatedBy != 0) + { + currentKey = prop.deprecatedBy; + } + } } if(!found) { - logger->warning("unknown property: " + key); + logger->warning("unknown property: " + currentKey); } } } @@ -145,16 +166,16 @@ Ice::PropertiesI::setProperty(const string& key, const string& value) if(!value.empty()) { PropertyValue pv(value, false); - map<string, PropertyValue>::const_iterator p = _properties.find(key); + map<string, PropertyValue>::const_iterator p = _properties.find(currentKey); if(p != _properties.end()) { pv.used = p->second.used; } - _properties[key] = pv; + _properties[currentKey] = pv; } else { - _properties.erase(key); + _properties.erase(currentKey); } } diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp index 20b4b620765..5f38f8f6701 100644 --- a/cpp/src/Ice/PropertyNames.cpp +++ b/cpp/src/Ice/PropertyNames.cpp @@ -1,551 +1,583 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -// Generated by makeprops.py from file `../config/PropertyNames.def', Wed May 23 14:21:55 2007 - -// IMPORTANT: Do not edit this file -- any edits made here will be lost! - -#include <Ice/PropertyNames.h> - -const char* IceInternal::PropertyNames::IceProps[] = -{ - "Ice.ACM.Client", - "Ice.ACM.Server", - "Ice.BatchAutoFlush", - "Ice.ChangeUser", - "Ice.Compression.Level", - "Ice.Config", - "Ice.Default.CollocationOptimization", - "Ice.Default.EndpointSelection", - "Ice.Default.Host", - "Ice.Default.Locator", - "Ice.Default.Locator.EndpointSelection", - "Ice.Default.Locator.ConnectionCached", - "Ice.Default.Locator.PreferSecure", - "Ice.Default.Locator.LocatorCacheTimeout", - "Ice.Default.Locator.Locator", - "Ice.Default.Locator.Router", - "Ice.Default.Locator.CollocationOptimization", - "Ice.Default.Locator.ThreadPerConnection", - "Ice.Default.LocatorCacheTimeout", - "Ice.Default.Package", - "Ice.Default.PreferSecure", - "Ice.Default.Protocol", - "Ice.Default.Router", - "Ice.Default.Router.EndpointSelection", - "Ice.Default.Router.ConnectionCached", - "Ice.Default.Router.PreferSecure", - "Ice.Default.Router.LocatorCacheTimeout", - "Ice.Default.Router.Locator", - "Ice.Default.Router.Router", - "Ice.Default.Router.CollocationOptimization", - "Ice.Default.Router.ThreadPerConnection", - "Ice.GC.Interval", - "Ice.ImplicitContext", - "Ice.InitPlugins", - "Ice.LoggerPlugin", - "Ice.MessageSizeMax", - "Ice.MonitorConnections", - "Ice.Nohup", - "Ice.NullHandleAbort", - "Ice.Override.Compress", - "Ice.Override.ConnectTimeout", - "Ice.Override.Timeout", - "Ice.Override.Secure", - "Ice.Package.*", - "Ice.Plugin.*", - "Ice.PluginLoadOrder", - "Ice.PrintAdapterReady", - "Ice.PrintProcessId", - "Ice.ProgramName", - "Ice.RetryIntervals", - "Ice.ServerId", - "Ice.ServerIdleTime", - "Ice.StdErr", - "Ice.StdOut", - "Ice.ThreadPerConnection", - "Ice.ThreadPerConnection.StackSize", - "Ice.ThreadPool.Client.Size", - "Ice.ThreadPool.Client.SizeMax", - "Ice.ThreadPool.Client.SizeWarn", - "Ice.ThreadPool.Client.StackSize", - "Ice.ThreadPool.Server.Size", - "Ice.ThreadPool.Server.SizeMax", - "Ice.ThreadPool.Server.SizeWarn", - "Ice.ThreadPool.Server.StackSize", - "Ice.Trace.GC", - "Ice.Trace.Location", - "Ice.Trace.Network", - "Ice.Trace.Protocol", - "Ice.Trace.Retry", - "Ice.Trace.Slicing", - "Ice.UDP.RcvSize", - "Ice.UDP.SndSize", - "Ice.TCP.RcvSize", - "Ice.TCP.SndSize", - "Ice.UseEventLog", - "Ice.UseSyslog", - "Ice.Warn.AMICallback", - "Ice.Warn.Connections", - "Ice.Warn.Datagrams", - "Ice.Warn.Dispatch", - "Ice.Warn.Endpoints", - "Ice.Warn.UnknownProperties", - "Ice.Warn.UnusedProperties", - "Ice.CacheMessageBuffers", - 0 -}; - -const char* IceInternal::PropertyNames::IceBoxProps[] = -{ - "IceBox.InstanceName", - "IceBox.LoadOrder", - "IceBox.PrintServicesReady", - "IceBox.Service.*", - "IceBox.ServiceManager.AdapterId", - "IceBox.ServiceManager.Endpoints", - "IceBox.ServiceManager.Locator", - "IceBox.ServiceManager.PublishedEndpoints", - "IceBox.ServiceManager.RegisterProcess", - "IceBox.ServiceManager.ReplicaGroupId", - "IceBox.ServiceManager.Router", - "IceBox.ServiceManager.ThreadPerConnection", - "IceBox.ServiceManager.ThreadPerConnection.StackSize", - "IceBox.ServiceManager.ThreadPool.Size", - "IceBox.ServiceManager.ThreadPool.SizeMax", - "IceBox.ServiceManager.ThreadPool.SizeWarn", - "IceBox.ServiceManager.ThreadPool.StackSize", - "IceBox.UseSharedCommunicator.*", - "IceBox.InheritProperties", - 0 -}; - -const char* IceInternal::PropertyNames::IceGridAdminProps[] = -{ - "IceGridAdmin.AuthenticateUsingSSL", - "IceGridAdmin.Username", - "IceGridAdmin.Password", - "IceGridAdmin.Replica", - "IceGridAdmin.Trace.Observers", - "IceGridAdmin.Trace.SaveToRegistry", - 0 -}; - -const char* IceInternal::PropertyNames::IceGridProps[] = -{ - "IceGrid.InstanceName", - "IceGrid.Node.AdapterId", - "IceGrid.Node.CollocateRegistry", - "IceGrid.Node.Data", - "IceGrid.Node.DisableOnFailure", - "IceGrid.Node.Endpoints", - "IceGrid.Node.Locator", - "IceGrid.Node.Name", - "IceGrid.Node.Output", - "IceGrid.Node.PrintServersReady", - "IceGrid.Node.PropertiesOverride", - "IceGrid.Node.PublishedEndpoints", - "IceGrid.Node.RedirectErrToOut", - "IceGrid.Node.RegisterProcess", - "IceGrid.Node.ReplicaGroupId", - "IceGrid.Node.Router", - "IceGrid.Node.ThreadPerConnection", - "IceGrid.Node.ThreadPerConnection.StackSize", - "IceGrid.Node.ThreadPool.Size", - "IceGrid.Node.ThreadPool.SizeMax", - "IceGrid.Node.ThreadPool.SizeWarn", - "IceGrid.Node.ThreadPool.StackSize", - "IceGrid.Node.Trace.Activator", - "IceGrid.Node.Trace.Adapter", - "IceGrid.Node.Trace.Patch", - "IceGrid.Node.Trace.Replica", - "IceGrid.Node.Trace.Server", - "IceGrid.Node.UserAccounts", - "IceGrid.Node.UserAccountMapper", - "IceGrid.Node.UserAccountMapper.EndpointSelection", - "IceGrid.Node.UserAccountMapper.ConnectionCached", - "IceGrid.Node.UserAccountMapper.PreferSecure", - "IceGrid.Node.UserAccountMapper.LocatorCacheTimeout", - "IceGrid.Node.UserAccountMapper.Locator", - "IceGrid.Node.UserAccountMapper.Router", - "IceGrid.Node.UserAccountMapper.CollocationOptimization", - "IceGrid.Node.UserAccountMapper.ThreadPerConnection", - "IceGrid.Node.WaitTime", - "IceGrid.Registry.AdminCryptPasswords", - "IceGrid.Registry.AdminPermissionsVerifier", - "IceGrid.Registry.AdminPermissionsVerifier.EndpointSelection", - "IceGrid.Registry.AdminPermissionsVerifier.ConnectionCached", - "IceGrid.Registry.AdminPermissionsVerifier.PreferSecure", - "IceGrid.Registry.AdminPermissionsVerifier.LocatorCacheTimeout", - "IceGrid.Registry.AdminPermissionsVerifier.Locator", - "IceGrid.Registry.AdminPermissionsVerifier.Router", - "IceGrid.Registry.AdminPermissionsVerifier.CollocationOptimization", - "IceGrid.Registry.AdminPermissionsVerifier.ThreadPerConnection", - "IceGrid.Registry.AdminSSLPermissionsVerifier", - "IceGrid.Registry.AdminSSLPermissionsVerifier.EndpointSelection", - "IceGrid.Registry.AdminSSLPermissionsVerifier.ConnectionCached", - "IceGrid.Registry.AdminSSLPermissionsVerifier.PreferSecure", - "IceGrid.Registry.AdminSSLPermissionsVerifier.LocatorCacheTimeout", - "IceGrid.Registry.AdminSSLPermissionsVerifier.Locator", - "IceGrid.Registry.AdminSSLPermissionsVerifier.Router", - "IceGrid.Registry.AdminSSLPermissionsVerifier.CollocationOptimization", - "IceGrid.Registry.AdminSSLPermissionsVerifier.ThreadPerConnection", - "IceGrid.Registry.Client.AdapterId", - "IceGrid.Registry.Client.Endpoints", - "IceGrid.Registry.Client.Locator", - "IceGrid.Registry.Client.PublishedEndpoints", - "IceGrid.Registry.Client.RegisterProcess", - "IceGrid.Registry.Client.ReplicaGroupId", - "IceGrid.Registry.Client.Router", - "IceGrid.Registry.Client.ThreadPerConnection", - "IceGrid.Registry.Client.ThreadPerConnection.StackSize", - "IceGrid.Registry.Client.ThreadPool.Size", - "IceGrid.Registry.Client.ThreadPool.SizeMax", - "IceGrid.Registry.Client.ThreadPool.SizeWarn", - "IceGrid.Registry.Client.ThreadPool.StackSize", - "IceGrid.Registry.CryptPasswords", - "IceGrid.Registry.Data", - "IceGrid.Registry.DefaultTemplates", - "IceGrid.Registry.DynamicRegistration", - "IceGrid.Registry.Internal.AdapterId", - "IceGrid.Registry.Internal.Endpoints", - "IceGrid.Registry.Internal.Locator", - "IceGrid.Registry.Internal.PublishedEndpoints", - "IceGrid.Register.Internal.RegisterProcess", - "IceGrid.Registry.Internal.ReplicaGroupId", - "IceGrid.Registry.Internal.Router", - "IceGrid.Registry.Internal.ThreadPerConnection", - "IceGrid.Registry.Internal.ThreadPerConnection.StackSize", - "IceGrid.Registry.Internal.ThreadPool.Size", - "IceGrid.Registry.Internal.ThreadPool.SizeMax", - "IceGrid.Registry.Internal.ThreadPool.SizeWarn", - "IceGrid.Registry.Internal.ThreadPool.StackSize", - "IceGrid.Registry.NodeSessionTimeout", - "IceGrid.Registry.PermissionsVerifier", - "IceGrid.Registry.PermissionsVerifier.EndpointSelection", - "IceGrid.Registry.PermissionsVerifier.ConnectionCached", - "IceGrid.Registry.PermissionsVerifier.PreferSecure", - "IceGrid.Registry.PermissionsVerifier.LocatorCacheTimeout", - "IceGrid.Registry.PermissionsVerifier.Locator", - "IceGrid.Registry.PermissionsVerifier.Router", - "IceGrid.Registry.PermissionsVerifier.CollocationOptimization", - "IceGrid.Registry.PermissionsVerifier.ThreadPerConnection", - "IceGrid.Registry.ReplicaName", - "IceGrid.Registry.ReplicaSessionTimeout", - "IceGrid.Registry.Server.AdapterId", - "IceGrid.Registry.Server.Endpoints", - "IceGrid.Registry.Server.Locator", - "IceGrid.Registry.Server.PublishedEndpoints", - "IceGrid.Registry.Server.RegisterProcess", - "IceGrid.Registry.Server.ReplicaGroupId", - "IceGrid.Registry.Server.Router", - "IceGrid.Registry.Server.ThreadPerConnection", - "IceGrid.Registry.Server.ThreadPerConnection.StackSize", - "IceGrid.Registry.Server.ThreadPool.Size", - "IceGrid.Registry.Server.ThreadPool.SizeMax", - "IceGrid.Registry.Server.ThreadPool.SizeWarn", - "IceGrid.Registry.Server.ThreadPool.StackSize", - "IceGrid.Registry.SessionManager.AdapterId", - "IceGrid.Registry.SessionManager.Endpoints", - "IceGrid.Registry.SessionManager.Locator", - "IceGrid.Registry.SessionManager.PublishedEndpoints", - "IceGrid.Registry.SessionManager.RegisterProcess", - "IceGrid.Registry.SessionManager.ReplicaGroupId", - "IceGrid.Registry.SessionManager.Router", - "IceGrid.Registry.SessionManager.ThreadPerConnection", - "IceGrid.Registry.SessionManager.ThreadPerConnection.StackSize", - "IceGrid.Registry.SessionManager.ThreadPool.Size", - "IceGrid.Registry.SessionManager.ThreadPool.SizeMax", - "IceGrid.Registry.SessionManager.ThreadPool.SizeWarn", - "IceGrid.Registry.SessionManager.ThreadPool.StackSize", - "IceGrid.Registry.SessionTimeout", - "IceGrid.Registry.SSLPermissionsVerifier", - "IceGrid.Registry.SSLPermissionsVerifier.EndpointSelection", - "IceGrid.Registry.SSLPermissionsVerifier.ConnectionCached", - "IceGrid.Registry.SSLPermissionsVerifier.PreferSecure", - "IceGrid.Registry.SSLPermissionsVerifier.LocatorCacheTimeout", - "IceGrid.Registry.SSLPermissionsVerifier.Locator", - "IceGrid.Registry.SSLPermissionsVerifier.Router", - "IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimization", - "IceGrid.Registry.SSLPermissionsVerifier.ThreadPerConnection", - "IceGrid.Registry.Trace.Application", - "IceGrid.Registry.Trace.Adapter", - "IceGrid.Registry.Trace.Locator", - "IceGrid.Registry.Trace.Node", - "IceGrid.Registry.Trace.Object", - "IceGrid.Registry.Trace.Patch", - "IceGrid.Registry.Trace.Replica", - "IceGrid.Registry.Trace.Server", - "IceGrid.Registry.Trace.Session", - "IceGrid.Registry.UserAccounts", - 0 -}; - -const char* IceInternal::PropertyNames::IcePatch2Props[] = -{ - "IcePatch2.AdapterId", - "IcePatch2.Admin.AdapterId", - "IcePatch2.Admin.Endpoints", - "IcePatch2.Admin.Locator", - "IcePatch2.Admin.PublishedEndpoints", - "IcePatch2.Admin.RegisterProcess", - "IcePatch2.Admin.ReplicaGroupId", - "IcePatch2.Admin.Router", - "IcePatch2.Admin.ThreadPerConnection", - "IcePatch2.Admin.ThreadPerConnection.StackSize", - "IcePatch2.Admin.ThreadPool.Size", - "IcePatch2.Admin.ThreadPool.SizeMax", - "IcePatch2.Admin.ThreadPool.SizeWarn", - "IcePatch2.Admin.ThreadPool.StackSize", - "IcePatch2.ChunkSize", - "IcePatch2.Directory", - "IcePatch2.Endpoints", - "IcePatch2.InstanceName", - "IcePatch2.Locator", - "IcePatch2.PublishedEndpoints", - "IcePatch2.RegisterProcess", - "IcePatch2.ReplicaGroupId", - "IcePatch2.Remove", - "IcePatch2.Router", - "IcePatch2.Thorough", - "IcePatch2.ThreadPerConnection", - "IcePatch2.ThreadPerConnection.StackSize", - "IcePatch2.ThreadPool.Size", - "IcePatch2.ThreadPool.SizeMax", - "IcePatch2.ThreadPool.SizeWarn", - "IcePatch2.ThreadPool.StackSize", - 0 -}; - -const char* IceInternal::PropertyNames::IceSSLProps[] = -{ - "IceSSL.Alias", - "IceSSL.CertAuthDir", - "IceSSL.CertAuthFile", - "IceSSL.CertFile", - "IceSSL.CheckCertName", - "IceSSL.CheckCRL", - "IceSSL.Ciphers", - "IceSSL.DefaultDir", - "IceSSL.DH.*", - "IceSSL.EntropyDaemon", - "IceSSL.FindCert.*", - "IceSSL.ImportCert.*", - "IceSSL.KeyFile", - "IceSSL.Keystore", - "IceSSL.KeystorePassword", - "IceSSL.KeystoreType", - "IceSSL.Password", - "IceSSL.PasswordRetryMax", - "IceSSL.Protocols", - "IceSSL.Random", - "IceSSL.Trace.Security", - "IceSSL.Truststore", - "IceSSL.TruststorePassword", - "IceSSL.TruststoreType", - "IceSSL.VerifyDepthMax", - "IceSSL.VerifyPeer", - "IceSSL.TrustOnly", - "IceSSL.TrustOnly.Client", - "IceSSL.TrustOnly.Server", - "IceSSL.TrustOnly.Server.*", - 0 -}; - -const char* IceInternal::PropertyNames::IceStormAdminProps[] = -{ - "IceStormAdmin.TopicManager.*", - 0 -}; - -const char* IceInternal::PropertyNames::IceStormProps[] = -{ - "IceStorm.Flush.Timeout", - "IceStorm.InstanceName", - "IceStorm.Publish.AdapterId", - "IceStorm.Publish.Endpoints", - "IceStorm.Publish.Locator", - "IceStorm.Publish.PublishedEndpoints", - "IceStorm.Publish.RegisterProcess", - "IceStorm.Publish.ReplicaGroupId", - "IceStorm.Publish.Router", - "IceStorm.Publish.ThreadPerConnection", - "IceStorm.Publish.ThreadPerConnection.StackSize", - "IceStorm.Publish.ThreadPool.Size", - "IceStorm.Publish.ThreadPool.SizeMax", - "IceStorm.Publish.ThreadPool.SizeWarn", - "IceStorm.Publish.ThreadPool.StackSize", - "IceStorm.TopicManager.AdapterId", - "IceStorm.TopicManager.Endpoints", - "IceStorm.TopicManager.Locator", - "IceStorm.TopicManager.Proxy", - "IceStorm.TopicManager.Proxy.EndpointSelection", - "IceStorm.TopicManager.Proxy.ConnectionCached", - "IceStorm.TopicManager.Proxy.PreferSecure", - "IceStorm.TopicManager.Proxy.LocatorCacheTimeout", - "IceStorm.TopicManager.Proxy.Locator", - "IceStorm.TopicManager.Proxy.Router", - "IceStorm.TopicManager.Proxy.CollocationOptimization", - "IceStorm.TopicManager.Proxy.ThreadPerConnection", - "IceStorm.TopicManager.PublishedEndpoints", - "IceStorm.TopicManager.RegisterProcess", - "IceStorm.TopicManager.ReplicaGroupId", - "IceStorm.TopicManager.Router", - "IceStorm.TopicManager.ThreadPerConnection", - "IceStorm.TopicManager.ThreadPerConnection.StackSize", - "IceStorm.TopicManager.ThreadPool.Size", - "IceStorm.TopicManager.ThreadPool.SizeMax", - "IceStorm.TopicManager.ThreadPool.SizeWarn", - "IceStorm.TopicManager.ThreadPool.StackSize", - "IceStorm.SubscriberPool.Size", - "IceStorm.SubscriberPool.SizeMax", - "IceStorm.SubscriberPool.SizeWarn", - "IceStorm.SubscriberPool.Timeout", - "IceStorm.Trace.Flush", - "IceStorm.Trace.Subscriber", - "IceStorm.Trace.SubscriberPool", - "IceStorm.Trace.Topic", - "IceStorm.Trace.TopicManager", - "IceStorm.Send.Timeout", - "IceStorm.Discard.Interval", - 0 -}; - -const char* IceInternal::PropertyNames::Glacier2Props[] = -{ - "Glacier2.AddSSLContext", - "Glacier2.AddUserToAllowCategories", - "Glacier2.Admin.Endpoints", - "Glacier2.Admin.PublishedEndpoints", - "Glacier2.Admin.RegisterProcess", - "Glacier2.AllowCategories", - "Glacier2.Client.AlwaysBatch", - "Glacier2.Client.Buffered", - "Glacier2.Client.Endpoints", - "Glacier2.Client.ForwardContext", - "Glacier2.Client.PublishedEndpoints", - "Glacier2.Client.RegisterProcess", - "Glacier2.Client.SleepTime", - "Glacier2.Client.Trace.Override", - "Glacier2.Client.Trace.Reject", - "Glacier2.Client.Trace.Request", - "Glacier2.Filter.Address.Reject", - "Glacier2.Filter.Address.Accept", - "Glacier2.Filter.ProxySizeMax", - "Glacier2.Filter.Category.Accept", - "Glacier2.Filter.Category.AcceptUser", - "Glacier2.Filter.AdapterId.Accept", - "Glacier2.Filter.Identity.Accept", - "Glacier2.CryptPasswords", - "Glacier2.InstanceName", - "Glacier2.PermissionsVerifier", - "Glacier2.PermissionsVerifier.EndpointSelection", - "Glacier2.PermissionsVerifier.ConnectionCached", - "Glacier2.PermissionsVerifier.PreferSecure", - "Glacier2.PermissionsVerifier.LocatorCacheTimeout", - "Glacier2.PermissionsVerifier.Locator", - "Glacier2.PermissionsVerifier.Router", - "Glacier2.PermissionsVerifier.CollocationOptimization", - "Glacier2.PermissionsVerifier.ThreadPerConnection", - "Glacier2.ReturnClientProxy", - "Glacier2.SSLPermissionsVerifier", - "Glacier2.SSLPermissionsVerifier.EndpointSelection", - "Glacier2.SSLPermissionsVerifier.ConnectionCached", - "Glacier2.SSLPermissionsVerifier.PreferSecure", - "Glacier2.SSLPermissionsVerifier.LocatorCacheTimeout", - "Glacier2.SSLPermissionsVerifier.Locator", - "Glacier2.SSLPermissionsVerifier.Router", - "Glacier2.SSLPermissionsVerifier.CollocationOptimization", - "Glacier2.SSLPermissionsVerifier.ThreadPerConnection", - "Glacier2.RoutingTable.MaxSize", - "Glacier2.Server.AlwaysBatch", - "Glacier2.Server.Buffered", - "Glacier2.Server.Endpoints", - "Glacier2.Server.ForwardContext", - "Glacier2.Server.PublishedEndpoints", - "Glacier2.Server.RegisterProcess", - "Glacier2.Server.SleepTime", - "Glacier2.Server.Trace.Override", - "Glacier2.Server.Trace.Request", - "Glacier2.SessionManager", - "Glacier2.SessionManager.EndpointSelection", - "Glacier2.SessionManager.ConnectionCached", - "Glacier2.SessionManager.PreferSecure", - "Glacier2.SessionManager.LocatorCacheTimeout", - "Glacier2.SessionManager.Locator", - "Glacier2.SessionManager.Router", - "Glacier2.SessionManager.CollocationOptimization", - "Glacier2.SessionManager.ThreadPerConnection", - "Glacier2.SSLSessionManager", - "Glacier2.SSLSessionManager.EndpointSelection", - "Glacier2.SSLSessionManager.ConnectionCached", - "Glacier2.SSLSessionManager.PreferSecure", - "Glacier2.SSLSessionManager.LocatorCacheTimeout", - "Glacier2.SSLSessionManager.Locator", - "Glacier2.SSLSessionManager.Router", - "Glacier2.SSLSessionManager.CollocationOptimization", - "Glacier2.SSLSessionManager.ThreadPerConnection", - "Glacier2.SessionTimeout", - "Glacier2.Trace.RoutingTable", - "Glacier2.Trace.Session", - 0 -}; - -const char* IceInternal::PropertyNames::FreezeProps[] = -{ - "Freeze.DbEnv.*.CheckpointPeriod", - "Freeze.DbEnv.*.DbHome", - "Freeze.DbEnv.*.DbPrivate", - "Freeze.DbEnv.*.DbRecoverFatal", - "Freeze.DbEnv.*.OldLogsAutoDelete", - "Freeze.DbEnv.*.PeriodicCheckpointMinSize", - "Freeze.Evictor.*.MaxTxSize", - "Freeze.Evictor.*.SavePeriod", - "Freeze.Evictor.*.SaveSizeTrigger", - "Freeze.Evictor.*.StreamTimeout", - "Freeze.Evictor.*.PopulateEmptyIndices", - "Freeze.Evictor.UseNonmutating", - "Freeze.Trace.DbEnv", - "Freeze.Trace.Evictor", - "Freeze.Trace.Map", - "Freeze.Trace.Transaction", - "Freeze.Warn.CloseInFinalize", - "Freeze.Warn.Deadlocks", - 0 -}; - -const char* const* IceInternal::PropertyNames::validProps[] = -{ - IcePatch2Props, - IceStormProps, - IceGridAdminProps, - IceSSLProps, - IceProps, - FreezeProps, - IceGridProps, - Glacier2Props, - IceStormAdminProps, - IceBoxProps, - 0 -}; - -const char* IceInternal::PropertyNames::clPropNames[] = -{ - "Ice", - "IceBox", - "IceGridAdmin", - "IceGrid", - "IcePatch2", - "IceSSL", - "IceStormAdmin", - "IceStorm", - "Glacier2", - "Freeze", - 0 -}; +// **********************************************************************
+//
+// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+// Generated by makeprops.py from file XXX- stuff needs to go here!
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+
+#include <Ice/PropertyNames.h>
+
+const IceInternal::Property IcePropsData[] =
+{
+ IceInternal::Property("Ice.ACM.Client", false, 0),
+ IceInternal::Property("Ice.ACM.Server", false, 0),
+ IceInternal::Property("Ice.BatchAutoFlush", false, 0),
+ IceInternal::Property("Ice.ChangeUser", false, 0),
+ IceInternal::Property("Ice.Compression.Level", false, 0),
+ IceInternal::Property("Ice.Config", false, 0),
+ IceInternal::Property("Ice.Default.CollocationOptimization", false, 0),
+ IceInternal::Property("Ice.Default.EndpointSelection", false, 0),
+ IceInternal::Property("Ice.Default.Host", false, 0),
+ IceInternal::Property("Ice.Default.Locator", false, 0),
+ IceInternal::Property("Ice.Default.Locator.EndpointSelection", false, 0),
+ IceInternal::Property("Ice.Default.Locator.ConnectionCached", false, 0),
+ IceInternal::Property("Ice.Default.Locator.PreferSecure", false, 0),
+ IceInternal::Property("Ice.Default.Locator.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("Ice.Default.Locator.Locator", false, 0),
+ IceInternal::Property("Ice.Default.Locator.Router", false, 0),
+ IceInternal::Property("Ice.Default.Locator.CollocationOptimization", false, 0),
+ IceInternal::Property("Ice.Default.Locator.ThreadPerConnection", false, 0),
+ IceInternal::Property("Ice.Default.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("Ice.Default.Package", false, 0),
+ IceInternal::Property("Ice.Default.PreferSecure", false, 0),
+ IceInternal::Property("Ice.Default.Protocol", false, 0),
+ IceInternal::Property("Ice.Default.Router", false, 0),
+ IceInternal::Property("Ice.Default.Router.EndpointSelection", false, 0),
+ IceInternal::Property("Ice.Default.Router.ConnectionCached", false, 0),
+ IceInternal::Property("Ice.Default.Router.PreferSecure", false, 0),
+ IceInternal::Property("Ice.Default.Router.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("Ice.Default.Router.Locator", false, 0),
+ IceInternal::Property("Ice.Default.Router.Router", false, 0),
+ IceInternal::Property("Ice.Default.Router.CollocationOptimization", false, 0),
+ IceInternal::Property("Ice.Default.Router.ThreadPerConnection", false, 0),
+ IceInternal::Property("Ice.GC.Interval", false, 0),
+ IceInternal::Property("Ice.ImplicitContext", false, 0),
+ IceInternal::Property("Ice.InitPlugins", false, 0),
+ IceInternal::Property("Ice.LoggerPlugin", false, 0),
+ IceInternal::Property("Ice.MessageSizeMax", false, 0),
+ IceInternal::Property("Ice.MonitorConnections", false, 0),
+ IceInternal::Property("Ice.Nohup", false, 0),
+ IceInternal::Property("Ice.NullHandleAbort", false, 0),
+ IceInternal::Property("Ice.Override.Compress", false, 0),
+ IceInternal::Property("Ice.Override.ConnectTimeout", false, 0),
+ IceInternal::Property("Ice.Override.Timeout", false, 0),
+ IceInternal::Property("Ice.Override.Secure", false, 0),
+ IceInternal::Property("Ice.Package.*", false, 0),
+ IceInternal::Property("Ice.Plugin.*", false, 0),
+ IceInternal::Property("Ice.PluginLoadOrder", false, 0),
+ IceInternal::Property("Ice.PrintAdapterReady", false, 0),
+ IceInternal::Property("Ice.PrintProcessId", false, 0),
+ IceInternal::Property("Ice.ProgramName", false, 0),
+ IceInternal::Property("Ice.RetryIntervals", false, 0),
+ IceInternal::Property("Ice.ServerId", false, 0),
+ IceInternal::Property("Ice.ServerIdleTime", false, 0),
+ IceInternal::Property("Ice.StdErr", false, 0),
+ IceInternal::Property("Ice.StdOut", false, 0),
+ IceInternal::Property("Ice.ThreadPerConnection", false, 0),
+ IceInternal::Property("Ice.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("Ice.ThreadPool.Client.Size", false, 0),
+ IceInternal::Property("Ice.ThreadPool.Client.SizeMax", false, 0),
+ IceInternal::Property("Ice.ThreadPool.Client.SizeWarn", false, 0),
+ IceInternal::Property("Ice.ThreadPool.Client.StackSize", false, 0),
+ IceInternal::Property("Ice.ThreadPool.Server.Size", false, 0),
+ IceInternal::Property("Ice.ThreadPool.Server.SizeMax", false, 0),
+ IceInternal::Property("Ice.ThreadPool.Server.SizeWarn", false, 0),
+ IceInternal::Property("Ice.ThreadPool.Server.StackSize", false, 0),
+ IceInternal::Property("Ice.Trace.GC", false, 0),
+ IceInternal::Property("Ice.Trace.Location", false, 0),
+ IceInternal::Property("Ice.Trace.Network", false, 0),
+ IceInternal::Property("Ice.Trace.Protocol", false, 0),
+ IceInternal::Property("Ice.Trace.Retry", false, 0),
+ IceInternal::Property("Ice.Trace.Slicing", false, 0),
+ IceInternal::Property("Ice.UDP.RcvSize", false, 0),
+ IceInternal::Property("Ice.UDP.SndSize", false, 0),
+ IceInternal::Property("Ice.TCP.RcvSize", false, 0),
+ IceInternal::Property("Ice.TCP.SndSize", false, 0),
+ IceInternal::Property("Ice.UseEventLog", false, 0),
+ IceInternal::Property("Ice.UseSyslog", false, 0),
+ IceInternal::Property("Ice.Warn.AMICallback", false, 0),
+ IceInternal::Property("Ice.Warn.Connections", false, 0),
+ IceInternal::Property("Ice.Warn.Datagrams", false, 0),
+ IceInternal::Property("Ice.Warn.Dispatch", false, 0),
+ IceInternal::Property("Ice.Warn.Endpoints", false, 0),
+ IceInternal::Property("Ice.Warn.UnknownProperties", false, 0),
+ IceInternal::Property("Ice.CacheMessageBuffers", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IceProps(IcePropsData,
+ sizeof(IcePropsData)/sizeof(IcePropsData[0]));
+
+const IceInternal::Property IceBoxPropsData[] =
+{
+ IceInternal::Property("IceBox.InstanceName", false, 0),
+ IceInternal::Property("IceBox.LoadOrder", false, 0),
+ IceInternal::Property("IceBox.PrintServicesReady", false, 0),
+ IceInternal::Property("IceBox.Service.*", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.AdapterId", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.Endpoints", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.Locator", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.RegisterProcess", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.Router", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceBox.ServiceManager.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceBox.UseSharedCommunicator.*", false, 0),
+ IceInternal::Property("IceBox.InheritProperties", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IceBoxProps(IceBoxPropsData,
+ sizeof(IceBoxPropsData)/sizeof(IceBoxPropsData[0]));
+
+const IceInternal::Property IceGridAdminPropsData[] =
+{
+ IceInternal::Property("IceGridAdmin.AuthenticateUsingSSL", false, 0),
+ IceInternal::Property("IceGridAdmin.Username", false, 0),
+ IceInternal::Property("IceGridAdmin.Password", false, 0),
+ IceInternal::Property("IceGridAdmin.Replica", false, 0),
+ IceInternal::Property("IceGridAdmin.Trace.Observers", false, 0),
+ IceInternal::Property("IceGridAdmin.Trace.SaveToRegistry", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IceGridAdminProps(IceGridAdminPropsData,
+ sizeof(IceGridAdminPropsData)/sizeof(IceGridAdminPropsData[0]));
+
+const IceInternal::Property IceGridPropsData[] =
+{
+ IceInternal::Property("IceGrid.InstanceName", false, 0),
+ IceInternal::Property("IceGrid.Node.AdapterId", false, 0),
+ IceInternal::Property("IceGrid.Node.CollocateRegistry", false, 0),
+ IceInternal::Property("IceGrid.Node.Data", false, 0),
+ IceInternal::Property("IceGrid.Node.DisableOnFailure", false, 0),
+ IceInternal::Property("IceGrid.Node.Endpoints", false, 0),
+ IceInternal::Property("IceGrid.Node.Locator", false, 0),
+ IceInternal::Property("IceGrid.Node.Name", false, 0),
+ IceInternal::Property("IceGrid.Node.Output", false, 0),
+ IceInternal::Property("IceGrid.Node.PrintServersReady", false, 0),
+ IceInternal::Property("IceGrid.Node.PropertiesOverride", false, 0),
+ IceInternal::Property("IceGrid.Node.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceGrid.Node.RedirectErrToOut", false, 0),
+ IceInternal::Property("IceGrid.Node.RegisterProcess", false, 0),
+ IceInternal::Property("IceGrid.Node.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceGrid.Node.Router", false, 0),
+ IceInternal::Property("IceGrid.Node.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Node.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Node.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceGrid.Node.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceGrid.Node.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceGrid.Node.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Node.Trace.Activator", false, 0),
+ IceInternal::Property("IceGrid.Node.Trace.Adapter", false, 0),
+ IceInternal::Property("IceGrid.Node.Trace.Patch", false, 0),
+ IceInternal::Property("IceGrid.Node.Trace.Replica", false, 0),
+ IceInternal::Property("IceGrid.Node.Trace.Server", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccounts", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper.EndpointSelection", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper.ConnectionCached", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper.PreferSecure", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper.Locator", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper.Router", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper.CollocationOptimization", false, 0),
+ IceInternal::Property("IceGrid.Node.UserAccountMapper.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Node.WaitTime", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminCryptPasswords", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.EndpointSelection", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.ConnectionCached", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.PreferSecure", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.Router", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.CollocationOptimization", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.EndpointSelection", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.ConnectionCached", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.PreferSecure", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.Router", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.CollocationOptimization", false, 0),
+ IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.AdapterId", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.Endpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.RegisterProcess", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.Router", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.ThreadPool.Size.Size", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.ThreadPool.Size.SizeMax", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.ThreadPool.Size.SizeWarn", false, 0),
+ IceInternal::Property("IceGrid.Registry.Client.ThreadPool.Size.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Registry.CryptPasswords", false, 0),
+ IceInternal::Property("IceGrid.Registry.Data", false, 0),
+ IceInternal::Property("IceGrid.Registry.DefaultTemplates", false, 0),
+ IceInternal::Property("IceGrid.Registry.DynamicRegistration", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.AdapterId", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.Endpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceGrid.Register.Internal.RegisterProcess", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.Router", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceGrid.Registry.Internal.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Registry.NodeSessionTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier.EndpointSelection", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier.ConnectionCached", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier.PreferSecure", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier.Router", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier.CollocationOptimization", false, 0),
+ IceInternal::Property("IceGrid.Registry.PermissionsVerifier.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Registry.ReplicaName", false, 0),
+ IceInternal::Property("IceGrid.Registry.ReplicaSessionTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.AdapterId", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.Endpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.RegisterProcess", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.Router", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceGrid.Registry.Server.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.AdapterId", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.Endpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.RegisterProcess", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.Router", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionManager.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceGrid.Registry.SessionTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.EndpointSelection", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.ConnectionCached", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.PreferSecure", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.Router", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimization", false, 0),
+ IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Application", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Adapter", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Locator", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Node", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Object", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Patch", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Replica", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Server", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Session", false, 0),
+ IceInternal::Property("IceGrid.Registry.UserAccounts", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IceGridProps(IceGridPropsData,
+ sizeof(IceGridPropsData)/sizeof(IceGridPropsData[0]));
+
+const IceInternal::Property IcePatch2PropsData[] =
+{
+ IceInternal::Property("IcePatch2.AdapterId", false, 0),
+ IceInternal::Property("IcePatch2.Admin.AdapterId", false, 0),
+ IceInternal::Property("IcePatch2.Admin.Endpoints", false, 0),
+ IceInternal::Property("IcePatch2.Admin.Locator", false, 0),
+ IceInternal::Property("IcePatch2.Admin.PublishedEndpoints", false, 0),
+ IceInternal::Property("IcePatch2.Admin.RegisterProcess", false, 0),
+ IceInternal::Property("IcePatch2.Admin.ReplicaGroupId", false, 0),
+ IceInternal::Property("IcePatch2.Admin.Router", false, 0),
+ IceInternal::Property("IcePatch2.Admin.ThreadPerConnection", false, 0),
+ IceInternal::Property("IcePatch2.Admin.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IcePatch2.Admin.ThreadPool.Size", false, 0),
+ IceInternal::Property("IcePatch2.Admin.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IcePatch2.Admin.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IcePatch2.Admin.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IcePatch2.ChunkSize", false, 0),
+ IceInternal::Property("IcePatch2.Directory", false, 0),
+ IceInternal::Property("IcePatch2.Endpoints", false, 0),
+ IceInternal::Property("IcePatch2.InstanceName", false, 0),
+ IceInternal::Property("IcePatch2.Locator", false, 0),
+ IceInternal::Property("IcePatch2.PublishedEndpoints", false, 0),
+ IceInternal::Property("IcePatch2.RegisterProcess", false, 0),
+ IceInternal::Property("IcePatch2.ReplicaGroupId", false, 0),
+ IceInternal::Property("IcePatch2.Remove", false, 0),
+ IceInternal::Property("IcePatch2.Router", false, 0),
+ IceInternal::Property("IcePatch2.Thorough", false, 0),
+ IceInternal::Property("IcePatch2.ThreadPerConnection", false, 0),
+ IceInternal::Property("IcePatch2.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IcePatch2.ThreadPool.Size", false, 0),
+ IceInternal::Property("IcePatch2.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IcePatch2.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IcePatch2.ThreadPool.StackSize", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IcePatch2Props(IcePatch2PropsData,
+ sizeof(IcePatch2PropsData)/sizeof(IcePatch2PropsData[0]));
+
+const IceInternal::Property IceSSLPropsData[] =
+{
+ IceInternal::Property("IceSSL.Alias", false, 0),
+ IceInternal::Property("IceSSL.CertAuthDir", false, 0),
+ IceInternal::Property("IceSSL.CertAuthFile", false, 0),
+ IceInternal::Property("IceSSL.CertFile", false, 0),
+ IceInternal::Property("IceSSL.CheckCertName", false, 0),
+ IceInternal::Property("IceSSL.CheckCRL", false, 0),
+ IceInternal::Property("IceSSL.Ciphers", false, 0),
+ IceInternal::Property("IceSSL.DefaultDir", false, 0),
+ IceInternal::Property("IceSSL.DH.*", false, 0),
+ IceInternal::Property("IceSSL.EntropyDaemon", false, 0),
+ IceInternal::Property("IceSSL.FindCert.*", false, 0),
+ IceInternal::Property("IceSSL.ImportCert.*", false, 0),
+ IceInternal::Property("IceSSL.KeyFile", false, 0),
+ IceInternal::Property("IceSSL.Keystore", false, 0),
+ IceInternal::Property("IceSSL.KeystorePassword", false, 0),
+ IceInternal::Property("IceSSL.KeystoreType", false, 0),
+ IceInternal::Property("IceSSL.Password", false, 0),
+ IceInternal::Property("IceSSL.PasswordRetryMax", false, 0),
+ IceInternal::Property("IceSSL.Protocols", false, 0),
+ IceInternal::Property("IceSSL.Random", false, 0),
+ IceInternal::Property("IceSSL.Trace.Security", false, 0),
+ IceInternal::Property("IceSSL.Truststore", false, 0),
+ IceInternal::Property("IceSSL.TruststorePassword", false, 0),
+ IceInternal::Property("IceSSL.TruststoreType", false, 0),
+ IceInternal::Property("IceSSL.VerifyDepthMax", false, 0),
+ IceInternal::Property("IceSSL.VerifyPeer", false, 0),
+ IceInternal::Property("IceSSL.TrustOnly", false, 0),
+ IceInternal::Property("IceSSL.TrustOnly.Client", false, 0),
+ IceInternal::Property("IceSSL.TrustOnly.Server", false, 0),
+ IceInternal::Property("IceSSL.TrustOnly.Server.*", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IceSSLProps(IceSSLPropsData,
+ sizeof(IceSSLPropsData)/sizeof(IceSSLPropsData[0]));
+
+const IceInternal::Property IceStormAdminPropsData[] =
+{
+ IceInternal::Property("IceStormAdmin.TopicManager.*", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IceStormAdminProps(IceStormAdminPropsData,
+ sizeof(IceStormAdminPropsData)/sizeof(IceStormAdminPropsData[0]));
+
+const IceInternal::Property IceStormPropsData[] =
+{
+ IceInternal::Property("IceStorm.Flush.Timeout", false, 0),
+ IceInternal::Property("IceStorm.InstanceName", false, 0),
+ IceInternal::Property("IceStorm.Publish.AdapterId", false, 0),
+ IceInternal::Property("IceStorm.Publish.Endpoints", false, 0),
+ IceInternal::Property("IceStorm.Publish.Locator", false, 0),
+ IceInternal::Property("IceStorm.Publish.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceStorm.Publish.RegisterProcess", false, 0),
+ IceInternal::Property("IceStorm.Publish.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceStorm.Publish.Router", false, 0),
+ IceInternal::Property("IceStorm.Publish.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceStorm.Publish.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IceStorm.Publish.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceStorm.Publish.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceStorm.Publish.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceStorm.Publish.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.AdapterId", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Endpoints", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Locator", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy.EndpointSelection", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy.ConnectionCached", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy.PreferSecure", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy.Locator", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy.Router", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy.CollocationOptimization", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Proxy.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.PublishedEndpoints", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.RegisterProcess", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.ReplicaGroupId", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.Router", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.ThreadPerConnection", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.ThreadPerConnection.StackSize", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.ThreadPool.Size", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.ThreadPool.SizeMax", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.ThreadPool.SizeWarn", false, 0),
+ IceInternal::Property("IceStorm.TopicManager.ThreadPool.StackSize", false, 0),
+ IceInternal::Property("IceStorm.SubscriberPool.Size", false, 0),
+ IceInternal::Property("IceStorm.SubscriberPool.SizeMax", false, 0),
+ IceInternal::Property("IceStorm.SubscriberPool.SizeWarn", false, 0),
+ IceInternal::Property("IceStorm.SubscriberPool.Timeout", false, 0),
+ IceInternal::Property("IceStorm.Trace.Flush", false, 0),
+ IceInternal::Property("IceStorm.Trace.Subscriber", false, 0),
+ IceInternal::Property("IceStorm.Trace.SubscriberPool", false, 0),
+ IceInternal::Property("IceStorm.Trace.Topic", false, 0),
+ IceInternal::Property("IceStorm.Trace.TopicManager", false, 0),
+ IceInternal::Property("IceStorm.Send.Timeout", false, 0),
+ IceInternal::Property("IceStorm.Discard.Interval", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::IceStormProps(IceStormPropsData,
+ sizeof(IceStormPropsData)/sizeof(IceStormPropsData[0]));
+
+const IceInternal::Property Glacier2PropsData[] =
+{
+ IceInternal::Property("Glacier2.AddSSLContext", false, 0),
+ IceInternal::Property("Glacier2.AddUserToAllowCategories", true, "Glacier2.Filter.Category.AcceptUser"),
+ IceInternal::Property("Glacier2.Admin.Endpoints", false, 0),
+ IceInternal::Property("Glacier2.Admin.PublishedEndpoints", false, 0),
+ IceInternal::Property("Glacier2.Admin.RegisterProcess", false, 0),
+ IceInternal::Property("Glacier2.AllowCategories", true, "Glacier2.Filter.Category.Accept"),
+ IceInternal::Property("Glacier2.Client.AlwaysBatch", false, 0),
+ IceInternal::Property("Glacier2.Client.Buffered", false, 0),
+ IceInternal::Property("Glacier2.Client.Endpoints", false, 0),
+ IceInternal::Property("Glacier2.Client.ForwardContext", false, 0),
+ IceInternal::Property("Glacier2.Client.PublishedEndpoints", false, 0),
+ IceInternal::Property("Glacier2.Client.RegisterProcess", false, 0),
+ IceInternal::Property("Glacier2.Client.SleepTime", false, 0),
+ IceInternal::Property("Glacier2.Client.Trace.Override", false, 0),
+ IceInternal::Property("Glacier2.Client.Trace.Reject", false, 0),
+ IceInternal::Property("Glacier2.Client.Trace.Request", false, 0),
+ IceInternal::Property("Glacier2.Filter.Address.Reject", false, 0),
+ IceInternal::Property("Glacier2.Filter.Address.Accept", false, 0),
+ IceInternal::Property("Glacier2.Filter.ProxySizeMax", false, 0),
+ IceInternal::Property("Glacier2.Filter.Category.Accept", false, 0),
+ IceInternal::Property("Glacier2.Filter.Category.AcceptUser", false, 0),
+ IceInternal::Property("Glacier2.Filter.AdapterId.Accept", false, 0),
+ IceInternal::Property("Glacier2.Filter.Identity.Accept", false, 0),
+ IceInternal::Property("Glacier2.CryptPasswords", false, 0),
+ IceInternal::Property("Glacier2.InstanceName", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier.EndpointSelection", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier.ConnectionCached", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier.PreferSecure", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier.Locator", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier.Router", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier.CollocationOptimization", false, 0),
+ IceInternal::Property("Glacier2.PermissionsVerifier.ThreadPerConnection", false, 0),
+ IceInternal::Property("Glacier2.ReturnClientProxy", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier.EndpointSelection", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier.ConnectionCached", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier.PreferSecure", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier.Locator", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier.Router", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier.CollocationOptimization", false, 0),
+ IceInternal::Property("Glacier2.SSLPermissionsVerifier.ThreadPerConnection", false, 0),
+ IceInternal::Property("Glacier2.RoutingTable.MaxSize", false, 0),
+ IceInternal::Property("Glacier2.Server.AlwaysBatch", false, 0),
+ IceInternal::Property("Glacier2.Server.Buffered", false, 0),
+ IceInternal::Property("Glacier2.Server.Endpoints", false, 0),
+ IceInternal::Property("Glacier2.Server.ForwardContext", false, 0),
+ IceInternal::Property("Glacier2.Server.PublishedEndpoints", false, 0),
+ IceInternal::Property("Glacier2.Server.RegisterProcess", false, 0),
+ IceInternal::Property("Glacier2.Server.SleepTime", false, 0),
+ IceInternal::Property("Glacier2.Server.Trace.Override", false, 0),
+ IceInternal::Property("Glacier2.Server.Trace.Request", false, 0),
+ IceInternal::Property("Glacier2.SessionManager", false, 0),
+ IceInternal::Property("Glacier2.SessionManager.EndpointSelection", false, 0),
+ IceInternal::Property("Glacier2.SessionManager.ConnectionCached", false, 0),
+ IceInternal::Property("Glacier2.SessionManager.PreferSecure", false, 0),
+ IceInternal::Property("Glacier2.SessionManager.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("Glacier2.SessionManager.Locator", false, 0),
+ IceInternal::Property("Glacier2.SessionManager.Router", false, 0),
+ IceInternal::Property("Glacier2.SessionManager.CollocationOptimization", false, 0),
+ IceInternal::Property("Glacier2.SessionManager.ThreadPerConnection", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager.EndpointSelection", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager.ConnectionCached", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager.PreferSecure", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager.LocatorCacheTimeout", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager.Locator", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager.Router", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager.CollocationOptimization", false, 0),
+ IceInternal::Property("Glacier2.SSLSessionManager.ThreadPerConnection", false, 0),
+ IceInternal::Property("Glacier2.SessionTimeout", false, 0),
+ IceInternal::Property("Glacier2.Trace.RoutingTable", false, 0),
+ IceInternal::Property("Glacier2.Trace.Session", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::Glacier2Props(Glacier2PropsData,
+ sizeof(Glacier2PropsData)/sizeof(Glacier2PropsData[0]));
+
+const IceInternal::Property FreezePropsData[] =
+{
+ IceInternal::Property("Freeze.DbEnv.*.CheckpointPeriod", false, 0),
+ IceInternal::Property("Freeze.DbEnv.*.DbHome", false, 0),
+ IceInternal::Property("Freeze.DbEnv.*.DbPrivate", false, 0),
+ IceInternal::Property("Freeze.DbEnv.*.DbRecoverFatal", false, 0),
+ IceInternal::Property("Freeze.DbEnv.*.OldLogsAutoDelete", false, 0),
+ IceInternal::Property("Freeze.DbEnv.*.PeriodicCheckpointMinSize", false, 0),
+ IceInternal::Property("Freeze.Evictor.*.MaxTxSize", false, 0),
+ IceInternal::Property("Freeze.Evictor.*.SavePeriod", false, 0),
+ IceInternal::Property("Freeze.Evictor.*.SaveSizeTrigger", false, 0),
+ IceInternal::Property("Freeze.Evictor.*.StreamTimeout", false, 0),
+ IceInternal::Property("Freeze.Evictor.*.PopulateEmptyIndices", false, 0),
+ IceInternal::Property("Freeze.Evictor.UseNonmutating", false, 0),
+ IceInternal::Property("Freeze.Trace.DbEnv", false, 0),
+ IceInternal::Property("Freeze.Trace.Evictor", false, 0),
+ IceInternal::Property("Freeze.Trace.Map", false, 0),
+ IceInternal::Property("Freeze.Trace.Transaction", false, 0),
+ IceInternal::Property("Freeze.Warn.CloseInFinalize", false, 0),
+ IceInternal::Property("Freeze.Warn.Deadlocks", false, 0),
+};
+
+const IceInternal::PropertyArray
+ IceInternal::PropertyNames::FreezeProps(FreezePropsData,
+ sizeof(FreezePropsData)/sizeof(FreezePropsData[0]));
+
+
+const IceInternal::PropertyArray IceInternal::PropertyNames::validProps[] =
+{
+ IceProps,
+ IceBoxProps,
+ IceGridAdminProps,
+ IceGridProps,
+ IcePatch2Props,
+ IceSSLProps,
+ IceStormAdminProps,
+ IceStormProps,
+ Glacier2Props,
+ FreezeProps,
+ IceInternal::PropertyArray(0,0)
+};
+
+
+const char* IceInternal::PropertyNames::clPropNames[] =
+{
+ "Ice",
+ "IceBox",
+ "IceGridAdmin",
+ "IceGrid",
+ "IcePatch2",
+ "IceSSL",
+ "IceStormAdmin",
+ "IceStorm",
+ "Glacier2",
+ "Freeze",
+ 0
+};
+
diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h index 9acdaea97c0..4de5006eec0 100644 --- a/cpp/src/Ice/PropertyNames.h +++ b/cpp/src/Ice/PropertyNames.h @@ -1,42 +1,77 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -// Generated by makeprops.py from file `../config/PropertyNames.def', Wed May 23 14:21:55 2007 - -// IMPORTANT: Do not edit this file -- any edits made here will be lost! - -#ifndef ICE_INTERNAL_PropertyNames_H -#define ICE_INTERNAL_PropertyNames_H - -#include <Ice/Config.h> -namespace IceInternal -{ - -class PropertyNames -{ -public: - - static const char* IceProps[]; - static const char* IceBoxProps[]; - static const char* IceGridAdminProps[]; - static const char* IceGridProps[]; - static const char* IcePatch2Props[]; - static const char* IceSSLProps[]; - static const char* IceStormAdminProps[]; - static const char* IceStormProps[]; - static const char* Glacier2Props[]; - static const char* FreezeProps[]; - - static const char* const* validProps[]; - static const char* clPropNames[]; -}; - -} - -#endif +// **********************************************************************
+//
+// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+// Generated by makeprops.py from file XXX- stuff needs to go here!
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+
+#ifndef ICE_INTERNAL_PropertyNames_H
+#define ICE_INTERNAL_PropertyNames_H
+
+#include <Ice/Config.h>
+
+namespace IceInternal
+{
+
+struct Property
+{
+ const char* pattern;
+ bool deprecated;
+ const char* deprecatedBy;
+
+ Property(const char* n, bool d, const char* b) :
+ pattern(n),
+ deprecated(d),
+ deprecatedBy(b)
+ {
+ }
+
+ Property() :
+ pattern(0),
+ deprecated(false),
+ deprecatedBy(0)
+ {
+ }
+
+};
+
+struct PropertyArray
+{
+ const Property* properties;
+ const int length;
+
+ PropertyArray(const Property* p, int len) :
+ properties(p),
+ length(len)
+ {
+ }
+};
+
+class PropertyNames
+{
+public:
+
+ static const PropertyArray IceProps;
+ static const PropertyArray IceBoxProps;
+ static const PropertyArray IceGridAdminProps;
+ static const PropertyArray IceGridProps;
+ static const PropertyArray IcePatch2Props;
+ static const PropertyArray IceSSLProps;
+ static const PropertyArray IceStormAdminProps;
+ static const PropertyArray IceStormProps;
+ static const PropertyArray Glacier2Props;
+ static const PropertyArray FreezeProps;
+
+ static const PropertyArray IceInternal::PropertyNames::validProps[];
+ static const char * IceInternal::PropertyNames::clPropNames[];
+};
+
+}
+
+#endif
|