summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/config/PropertyNames.def1094
-rw-r--r--cpp/config/makeprops.py1026
-rwxr-xr-xcpp/install/common/components/ice.demo.vc601
-rwxr-xr-xcpp/install/common/components/ice.demo.vc80_x641
-rwxr-xr-xcpp/install/vc71/Ice.ism6
-rwxr-xr-xcpp/install/vc80/Ice.ism20
-rw-r--r--cpp/src/Ice/PropertiesI.cpp39
-rw-r--r--cpp/src/Ice/PropertyNames.cpp1134
-rw-r--r--cpp/src/Ice/PropertyNames.h119
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 &lt;any&gt;) 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.&lt;any&gt;" />
+ <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.&lt;any&gt;" />
+ <property name="Plugin.&lt;any&gt;" />
+ <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.&lt;any&gt;" />
+ <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.&lt;any&gt;" />
+ <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.&lt;any&gt;" />
+ <property name="EntropyDaemon" />
+ <property name="FindCert.&lt;any&gt;" />
+ <property name="ImportCert.&lt;any&gt;" />
+ <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.&lt;any&gt;" />
+ </section>
+
+ <section name="IceStormAdmin">
+ <property name="TopicManager.&lt;any&gt;" />
+ </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.&lt;any&gt;.CheckpointPeriod" />
+ <property name="DbEnv.&lt;any&gt;.DbHome" />
+ <property name="DbEnv.&lt;any&gt;.DbPrivate" />
+ <property name="DbEnv.&lt;any&gt;.DbRecoverFatal" />
+ <property name="DbEnv.&lt;any&gt;.OldLogsAutoDelete" />
+ <property name="DbEnv.&lt;any&gt;.PeriodicCheckpointMinSize" />
+ <property name="Evictor.&lt;any&gt;.MaxTxSize" />
+ <property name="Evictor.&lt;any&gt;.SavePeriod" />
+ <property name="Evictor.&lt;any&gt;.SaveSizeTrigger" />
+ <property name="Evictor.&lt;any&gt;.StreamTimeout" />
+ <property name="Evictor.&lt;any&gt;.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>&lt;PATH_TO_TEMP_FILES&gt;\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