zeroc-ice 3.7.11__cp313-cp313-macosx_10_13_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. Glacier2/Metrics_ice.py +82 -0
  2. Glacier2/PermissionsVerifierF_ice.py +32 -0
  3. Glacier2/PermissionsVerifier_ice.py +284 -0
  4. Glacier2/RouterF_ice.py +28 -0
  5. Glacier2/Router_ice.py +618 -0
  6. Glacier2/SSLInfo_ice.py +179 -0
  7. Glacier2/Session_ice.py +1103 -0
  8. Glacier2/__init__.py +226 -0
  9. Ice/BuiltinSequences_ice.py +65 -0
  10. Ice/CommunicatorF_ice.py +27 -0
  11. Ice/Communicator_ice.py +469 -0
  12. Ice/ConnectionF_ice.py +33 -0
  13. Ice/Connection_ice.py +680 -0
  14. Ice/Current_ice.py +175 -0
  15. Ice/EndpointF_ice.py +45 -0
  16. Ice/EndpointTypes_ice.py +54 -0
  17. Ice/Endpoint_ice.py +304 -0
  18. Ice/FacetMap_ice.py +27 -0
  19. Ice/Identity_ice.py +133 -0
  20. Ice/ImplicitContextF_ice.py +27 -0
  21. Ice/ImplicitContext_ice.py +119 -0
  22. Ice/InstrumentationF_ice.py +38 -0
  23. Ice/Instrumentation_ice.py +566 -0
  24. Ice/LocalException_ice.py +1715 -0
  25. Ice/LocatorF_ice.py +32 -0
  26. Ice/Locator_ice.py +728 -0
  27. Ice/LoggerF_ice.py +27 -0
  28. Ice/Logger_ice.py +96 -0
  29. Ice/Metrics_ice.py +864 -0
  30. Ice/ObjectAdapterF_ice.py +27 -0
  31. Ice/ObjectAdapter_ice.py +461 -0
  32. Ice/ObjectFactory_ice.py +68 -0
  33. Ice/PluginF_ice.py +30 -0
  34. Ice/Plugin_ice.py +136 -0
  35. Ice/ProcessF_ice.py +28 -0
  36. Ice/Process_ice.py +175 -0
  37. Ice/PropertiesAdmin_ice.py +247 -0
  38. Ice/PropertiesF_ice.py +31 -0
  39. Ice/Properties_ice.py +199 -0
  40. Ice/Py3/IceFuture.py +52 -0
  41. Ice/Py3/__init__.py +3 -0
  42. Ice/RemoteLogger_ice.py +617 -0
  43. Ice/RouterF_ice.py +28 -0
  44. Ice/Router_ice.py +350 -0
  45. Ice/ServantLocatorF_ice.py +27 -0
  46. Ice/ServantLocator_ice.py +110 -0
  47. Ice/SliceChecksumDict_ice.py +29 -0
  48. Ice/ValueFactory_ice.py +125 -0
  49. Ice/Version_ice.py +217 -0
  50. Ice/__init__.py +2008 -0
  51. IceBox/IceBox_ice.py +644 -0
  52. IceBox/__init__.py +10 -0
  53. IceGrid/Admin_ice.py +6662 -0
  54. IceGrid/Descriptor_ice.py +1795 -0
  55. IceGrid/Exception_ice.py +592 -0
  56. IceGrid/FileParser_ice.py +171 -0
  57. IceGrid/PluginFacade_ice.py +288 -0
  58. IceGrid/Registry_ice.py +985 -0
  59. IceGrid/Session_ice.py +406 -0
  60. IceGrid/UserAccountMapper_ice.py +166 -0
  61. IceGrid/__init__.py +17 -0
  62. IceMX/__init__.py +12 -0
  63. IcePatch2/FileInfo_ice.py +287 -0
  64. IcePatch2/FileServer_ice.py +555 -0
  65. IcePatch2/__init__.py +11 -0
  66. IcePy.cpython-313-darwin.so +0 -0
  67. IceStorm/IceStorm_ice.py +1265 -0
  68. IceStorm/Metrics_ice.py +106 -0
  69. IceStorm/__init__.py +10 -0
  70. slice/Glacier2/Metrics.ice +88 -0
  71. slice/Glacier2/PermissionsVerifier.ice +111 -0
  72. slice/Glacier2/PermissionsVerifierF.ice +30 -0
  73. slice/Glacier2/Router.ice +186 -0
  74. slice/Glacier2/RouterF.ice +29 -0
  75. slice/Glacier2/SSLInfo.ice +59 -0
  76. slice/Glacier2/Session.ice +274 -0
  77. slice/Ice/BuiltinSequences.ice +59 -0
  78. slice/Ice/Communicator.ice +676 -0
  79. slice/Ice/CommunicatorF.ice +31 -0
  80. slice/Ice/Connection.ice +516 -0
  81. slice/Ice/ConnectionF.ice +33 -0
  82. slice/Ice/Current.ice +170 -0
  83. slice/Ice/Endpoint.ice +291 -0
  84. slice/Ice/EndpointF.ice +43 -0
  85. slice/Ice/EndpointTypes.ice +48 -0
  86. slice/Ice/FacetMap.ice +36 -0
  87. slice/Ice/Identity.ice +75 -0
  88. slice/Ice/ImplicitContext.ice +119 -0
  89. slice/Ice/ImplicitContextF.ice +30 -0
  90. slice/Ice/Instrumentation.ice +509 -0
  91. slice/Ice/InstrumentationF.ice +38 -0
  92. slice/Ice/LocalException.ice +1040 -0
  93. slice/Ice/Locator.ice +239 -0
  94. slice/Ice/LocatorF.ice +32 -0
  95. slice/Ice/Logger.ice +99 -0
  96. slice/Ice/LoggerF.ice +31 -0
  97. slice/Ice/Metrics.ice +436 -0
  98. slice/Ice/ObjectAdapter.ice +710 -0
  99. slice/Ice/ObjectAdapterF.ice +31 -0
  100. slice/Ice/ObjectFactory.ice +71 -0
  101. slice/Ice/Plugin.ice +131 -0
  102. slice/Ice/PluginF.ice +36 -0
  103. slice/Ice/Process.ice +64 -0
  104. slice/Ice/ProcessF.ice +31 -0
  105. slice/Ice/Properties.ice +244 -0
  106. slice/Ice/PropertiesAdmin.ice +87 -0
  107. slice/Ice/PropertiesF.ice +32 -0
  108. slice/Ice/RemoteLogger.ice +226 -0
  109. slice/Ice/Router.ice +103 -0
  110. slice/Ice/RouterF.ice +31 -0
  111. slice/Ice/ServantLocator.ice +136 -0
  112. slice/Ice/ServantLocatorF.ice +31 -0
  113. slice/Ice/SliceChecksumDict.ice +36 -0
  114. slice/Ice/ValueFactory.ice +133 -0
  115. slice/Ice/Version.ice +51 -0
  116. slice/IceBT/ConnectionInfo.ice +59 -0
  117. slice/IceBT/EndpointInfo.ice +57 -0
  118. slice/IceBT/Types.ice +45 -0
  119. slice/IceBox/IceBox.ice +216 -0
  120. slice/IceGrid/Admin.ice +1957 -0
  121. slice/IceGrid/Descriptor.ice +1094 -0
  122. slice/IceGrid/Exception.ice +396 -0
  123. slice/IceGrid/FileParser.ice +72 -0
  124. slice/IceGrid/PluginFacade.ice +329 -0
  125. slice/IceGrid/Registry.ice +269 -0
  126. slice/IceGrid/Session.ice +128 -0
  127. slice/IceGrid/UserAccountMapper.ice +69 -0
  128. slice/IceIAP/ConnectionInfo.ice +74 -0
  129. slice/IceIAP/EndpointInfo.ice +68 -0
  130. slice/IcePatch2/FileInfo.ice +85 -0
  131. slice/IcePatch2/FileServer.ice +191 -0
  132. slice/IceSSL/ConnectionInfo.ice +54 -0
  133. slice/IceSSL/ConnectionInfoF.ice +31 -0
  134. slice/IceSSL/EndpointInfo.ice +45 -0
  135. slice/IceStorm/IceStorm.ice +414 -0
  136. slice/IceStorm/Metrics.ice +83 -0
  137. slice2py.py +21 -0
  138. zeroc_ice-3.7.11.dist-info/METADATA +97 -0
  139. zeroc_ice-3.7.11.dist-info/RECORD +142 -0
  140. zeroc_ice-3.7.11.dist-info/WHEEL +5 -0
  141. zeroc_ice-3.7.11.dist-info/entry_points.txt +2 -0
  142. zeroc_ice-3.7.11.dist-info/top_level.txt +10 -0
@@ -0,0 +1,31 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICE_API"]]
8
+ [["cpp:doxygen:include:Ice/Ice.h"]]
9
+ [["cpp:header-ext:h"]]
10
+
11
+ [["ice-prefix"]]
12
+
13
+ [["js:module:ice"]]
14
+ [["js:cjs-module"]]
15
+
16
+ [["objc:dll-export:ICE_API"]]
17
+ [["objc:header-dir:objc"]]
18
+
19
+ [["python:pkgdir:Ice"]]
20
+
21
+ #ifndef __SLICE2JAVA_COMPAT__
22
+ [["java:package:com.zeroc"]]
23
+ #endif
24
+
25
+ ["objc:prefix:ICE"]
26
+ module Ice
27
+ {
28
+
29
+ local interface ObjectAdapter;
30
+
31
+ }
@@ -0,0 +1,71 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICE_API"]]
8
+ [["cpp:doxygen:include:Ice/Ice.h"]]
9
+ [["cpp:header-ext:h"]]
10
+
11
+ [["ice-prefix"]]
12
+
13
+ [["js:module:ice"]]
14
+ [["js:cjs-module"]]
15
+
16
+ [["objc:dll-export:ICE_API"]]
17
+ [["objc:header-dir:objc"]]
18
+
19
+ [["python:pkgdir:Ice"]]
20
+
21
+ #ifndef __SLICE2JAVA_COMPAT__
22
+ [["java:package:com.zeroc"]]
23
+ #endif
24
+
25
+ ["objc:prefix:ICE"]
26
+ module Ice
27
+ {
28
+
29
+ #if !defined(__SLICE2PHP__) && !defined(__SLICE2SWIFT__)
30
+ /**
31
+ *
32
+ * A factory for objects. Object factories are used when receiving "objects by value".
33
+ * An object factory must be implemented by the application writer and registered
34
+ * with the communicator.
35
+ *
36
+ **/
37
+ ["deprecate:ObjectFactory has been deprecated, use ValueFactory instead."]
38
+ local interface ObjectFactory
39
+ {
40
+ /**
41
+ *
42
+ * Create a new object for a given object type. The type is the
43
+ * absolute Slice type id, i.e., the id relative to the
44
+ * unnamed top-level Slice module. For example, the absolute
45
+ * Slice type id for interfaces of type <code>Bar</code> in the module
46
+ * <code>Foo</code> is <code>"::Foo::Bar"</code>.
47
+ *
48
+ * <p class="Note">The leading "<code>::</code>" is required.
49
+ *
50
+ * @param type The object type.
51
+ *
52
+ * @return The object created for the given type, or nil if the
53
+ * factory is unable to create the object.
54
+ *
55
+ **/
56
+ Value create(string type);
57
+
58
+ /**
59
+ *
60
+ * Called when the factory is removed from the communicator, or if
61
+ * the communicator is destroyed.
62
+ *
63
+ * @see Communicator#destroy
64
+ *
65
+ **/
66
+ void destroy();
67
+ }
68
+
69
+ #endif
70
+
71
+ }
slice/Ice/Plugin.ice ADDED
@@ -0,0 +1,131 @@
1
+
2
+ //
3
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
+ //
5
+
6
+ #pragma once
7
+
8
+ [["cpp:dll-export:ICE_API"]]
9
+ [["cpp:doxygen:include:Ice/Ice.h"]]
10
+ [["cpp:header-ext:h"]]
11
+
12
+ [["ice-prefix"]]
13
+
14
+ [["js:module:ice"]]
15
+ [["js:cjs-module"]]
16
+
17
+ [["objc:dll-export:ICE_API"]]
18
+ [["objc:header-dir:objc"]]
19
+
20
+ [["python:pkgdir:Ice"]]
21
+
22
+ #include <Ice/LoggerF.ice>
23
+ #include <Ice/BuiltinSequences.ice>
24
+
25
+ #ifndef __SLICE2JAVA_COMPAT__
26
+ [["java:package:com.zeroc"]]
27
+ #endif
28
+
29
+ ["objc:prefix:ICE"]
30
+ module Ice
31
+ {
32
+
33
+ #if !defined(__SLICE2PHP__)
34
+ /**
35
+ *
36
+ * A communicator plug-in. A plug-in generally adds a feature to a
37
+ * communicator, such as support for a protocol.
38
+ *
39
+ * The communicator loads its plug-ins in two stages: the first stage
40
+ * creates the plug-ins, and the second stage invokes {@link Plugin#initialize} on
41
+ * each one.
42
+ *
43
+ **/
44
+ local interface Plugin
45
+ {
46
+ /**
47
+ *
48
+ * Perform any necessary initialization steps.
49
+ *
50
+ **/
51
+ void initialize();
52
+
53
+ /**
54
+ *
55
+ * Called when the communicator is being destroyed.
56
+ *
57
+ **/
58
+ void destroy();
59
+ }
60
+
61
+ /**
62
+ *
63
+ * Each communicator has a plug-in manager to administer the set of
64
+ * plug-ins.
65
+ *
66
+ **/
67
+ local interface PluginManager
68
+ {
69
+ /**
70
+ *
71
+ * Initialize the configured plug-ins. The communicator automatically initializes
72
+ * the plug-ins by default, but an application may need to interact directly with
73
+ * a plug-in prior to initialization. In this case, the application must set
74
+ * <code>Ice.InitPlugins=0</code> and then invoke {@link #initializePlugins}
75
+ * manually. The plug-ins are initialized in the order in which they are loaded.
76
+ * If a plug-in raises an exception during initialization, the communicator
77
+ * invokes destroy on the plug-ins that have already been initialized.
78
+ *
79
+ * @throws InitializationException Raised if the plug-ins have already been initialized.
80
+ *
81
+ **/
82
+ void initializePlugins();
83
+
84
+ /**
85
+ *
86
+ * Get a list of plugins installed.
87
+ *
88
+ * @return The names of the plugins installed.
89
+ *
90
+ * @see #getPlugin
91
+ *
92
+ **/
93
+ ["cpp:noexcept", "swift:noexcept"] StringSeq getPlugins();
94
+
95
+ /**
96
+ *
97
+ * Obtain a plug-in by name.
98
+ *
99
+ * @param name The plug-in's name.
100
+ *
101
+ * @return The plug-in.
102
+ *
103
+ * @throws NotRegisteredException Raised if no plug-in is found with the given name.
104
+ *
105
+ **/
106
+ Plugin getPlugin(string name);
107
+
108
+ /**
109
+ *
110
+ * Install a new plug-in.
111
+ *
112
+ * @param name The plug-in's name.
113
+ *
114
+ * @param pi The plug-in.
115
+ *
116
+ * @throws AlreadyRegisteredException Raised if a plug-in already exists with the given name.
117
+ *
118
+ **/
119
+ void addPlugin(string name, Plugin pi);
120
+
121
+ /**
122
+ *
123
+ * Called when the communicator is being destroyed.
124
+ *
125
+ **/
126
+ ["cpp:noexcept", "swift:noexcept"] void destroy();
127
+ }
128
+
129
+ #endif
130
+
131
+ }
slice/Ice/PluginF.ice ADDED
@@ -0,0 +1,36 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICE_API"]]
8
+ [["cpp:doxygen:include:Ice/Ice.h"]]
9
+ [["cpp:header-ext:h"]]
10
+
11
+ [["ice-prefix"]]
12
+
13
+ [["js:module:ice"]]
14
+ [["js:cjs-module"]]
15
+
16
+ [["objc:dll-export:ICE_API"]]
17
+ [["objc:header-dir:objc"]]
18
+
19
+ [["python:pkgdir:Ice"]]
20
+
21
+ #ifndef __SLICE2JAVA_COMPAT__
22
+ [["java:package:com.zeroc"]]
23
+ #endif
24
+
25
+ ["objc:prefix:ICE"]
26
+ module Ice
27
+ {
28
+
29
+ #if !defined(__SLICE2PHP__)
30
+
31
+ local interface Plugin;
32
+ local interface PluginManager;
33
+
34
+ #endif
35
+
36
+ }
slice/Ice/Process.ice ADDED
@@ -0,0 +1,64 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICE_API"]]
8
+ [["cpp:doxygen:include:Ice/Ice.h"]]
9
+ [["cpp:header-ext:h"]]
10
+
11
+ [["ice-prefix"]]
12
+
13
+ [["js:module:ice"]]
14
+ [["js:cjs-module"]]
15
+
16
+ [["objc:dll-export:ICE_API"]]
17
+ [["objc:header-dir:objc"]]
18
+
19
+ [["python:pkgdir:Ice"]]
20
+
21
+ #ifndef __SLICE2JAVA_COMPAT__
22
+ [["java:package:com.zeroc"]]
23
+ #endif
24
+
25
+ ["objc:prefix:ICE"]
26
+ module Ice
27
+ {
28
+
29
+ /**
30
+ *
31
+ * An administrative interface for process management. Managed servers must
32
+ * implement this interface.
33
+ *
34
+ * <p class="Note">A servant implementing this interface is a potential target
35
+ * for denial-of-service attacks, therefore proper security precautions
36
+ * should be taken. For example, the servant can use a UUID to make its
37
+ * identity harder to guess, and be registered in an object adapter with
38
+ * a secured endpoint.
39
+ *
40
+ **/
41
+ interface Process
42
+ {
43
+ /**
44
+ *
45
+ * Initiate a graceful shut-down.
46
+ *
47
+ * @see Communicator#shutdown
48
+ *
49
+ **/
50
+ void shutdown();
51
+
52
+ /**
53
+ *
54
+ * Write a message on the process' stdout or stderr.
55
+ *
56
+ * @param message The message.
57
+ *
58
+ * @param fd 1 for stdout, 2 for stderr.
59
+ *
60
+ **/
61
+ void writeMessage(string message, int fd);
62
+ }
63
+
64
+ }
slice/Ice/ProcessF.ice ADDED
@@ -0,0 +1,31 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICE_API"]]
8
+ [["cpp:doxygen:include:Ice/Ice.h"]]
9
+ [["cpp:header-ext:h"]]
10
+
11
+ [["ice-prefix"]]
12
+
13
+ [["js:module:ice"]]
14
+ [["js:cjs-module"]]
15
+
16
+ [["objc:dll-export:ICE_API"]]
17
+ [["objc:header-dir:objc"]]
18
+
19
+ [["python:pkgdir:Ice"]]
20
+
21
+ #ifndef __SLICE2JAVA_COMPAT__
22
+ [["java:package:com.zeroc"]]
23
+ #endif
24
+
25
+ ["objc:prefix:ICE"]
26
+ module Ice
27
+ {
28
+
29
+ interface Process;
30
+
31
+ }
@@ -0,0 +1,244 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICE_API"]]
8
+ [["cpp:doxygen:include:Ice/Ice.h"]]
9
+ [["cpp:header-ext:h"]]
10
+
11
+ [["ice-prefix"]]
12
+
13
+ [["js:module:ice"]]
14
+ [["js:cjs-module"]]
15
+
16
+ [["objc:dll-export:ICE_API"]]
17
+ [["objc:header-dir:objc"]]
18
+
19
+ [["python:pkgdir:Ice"]]
20
+
21
+ #include <Ice/PropertiesAdmin.ice>
22
+
23
+ #ifndef __SLICE2JAVA_COMPAT__
24
+ [["java:package:com.zeroc"]]
25
+ #endif
26
+
27
+ ["objc:prefix:ICE"]
28
+ module Ice
29
+ {
30
+
31
+ #if !defined(__SLICE2PHP__)
32
+
33
+ /**
34
+ *
35
+ * A property set used to configure Ice and Ice applications.
36
+ * Properties are key/value pairs, with both keys and values
37
+ * being strings. By convention, property keys should have the form
38
+ * <em>application-name</em>[.<em>category</em>[.<em>sub-category</em>]].<em>name</em>.
39
+ *
40
+ **/
41
+ local interface Properties
42
+ {
43
+ /**
44
+ *
45
+ * Get a property by key. If the property is not set, an empty
46
+ * string is returned.
47
+ *
48
+ * @param key The property key.
49
+ *
50
+ * @return The property value.
51
+ *
52
+ * @see #setProperty
53
+ *
54
+ **/
55
+ ["cpp:noexcept", "swift:noexcept"] string getProperty(string key);
56
+
57
+ /**
58
+ *
59
+ * Get a property by key. If the property is not set, the
60
+ * given default value is returned.
61
+ *
62
+ * @param key The property key.
63
+ *
64
+ * @param value The default value to use if the property does not
65
+ * exist.
66
+ *
67
+ * @return The property value or the default value.
68
+ *
69
+ * @see #setProperty
70
+ *
71
+ **/
72
+ ["cpp:noexcept", "swift:noexcept"] string getPropertyWithDefault(string key, string \value);
73
+
74
+ /**
75
+ *
76
+ * Get a property as an integer. If the property is not set, 0
77
+ * is returned.
78
+ *
79
+ * @param key The property key.
80
+ *
81
+ * @return The property value interpreted as an integer.
82
+ *
83
+ * @see #setProperty
84
+ *
85
+ **/
86
+ ["cpp:noexcept", "swift:noexcept"] int getPropertyAsInt(string key);
87
+
88
+ /**
89
+ *
90
+ * Get a property as an integer. If the property is not set, the
91
+ * given default value is returned.
92
+ *
93
+ * @param key The property key.
94
+ *
95
+ * @param value The default value to use if the property does not
96
+ * exist.
97
+ *
98
+ * @return The property value interpreted as an integer, or the
99
+ * default value.
100
+ *
101
+ * @see #setProperty
102
+ *
103
+ **/
104
+ ["cpp:noexcept", "swift:noexcept"] int getPropertyAsIntWithDefault(string key, int \value);
105
+
106
+ /**
107
+ *
108
+ * Get a property as a list of strings. The strings must be
109
+ * separated by whitespace or comma. If the property is not set,
110
+ * an empty list is returned. The strings in the list can contain
111
+ * whitespace and commas if they are enclosed in single or double
112
+ * quotes. If quotes are mismatched, an empty list is returned.
113
+ * Within single quotes or double quotes, you can escape the
114
+ * quote in question with a backslash, e.g. O'Reilly can be written as
115
+ * O'Reilly, "O'Reilly" or 'O\'Reilly'.
116
+ *
117
+ * @param key The property key.
118
+ *
119
+ * @return The property value interpreted as a list of strings.
120
+ *
121
+ * @see #setProperty
122
+ *
123
+ **/
124
+ ["cpp:noexcept", "swift:noexcept"] StringSeq getPropertyAsList(string key);
125
+
126
+ /**
127
+ *
128
+ * Get a property as a list of strings. The strings must be
129
+ * separated by whitespace or comma. If the property is not set,
130
+ * the default list is returned. The strings in the list can contain
131
+ * whitespace and commas if they are enclosed in single or double
132
+ * quotes. If quotes are mismatched, the default list is returned.
133
+ * Within single quotes or double quotes, you can escape the
134
+ * quote in question with a backslash, e.g. O'Reilly can be written as
135
+ * O'Reilly, "O'Reilly" or 'O\'Reilly'.
136
+ *
137
+ * @param key The property key.
138
+ *
139
+ * @param value The default value to use if the property is not set.
140
+ *
141
+ * @return The property value interpreted as list of strings, or the
142
+ * default value.
143
+ *
144
+ * @see #setProperty
145
+ *
146
+ **/
147
+ ["cpp:noexcept", "swift:noexcept"] StringSeq getPropertyAsListWithDefault(string key, StringSeq \value);
148
+
149
+ /**
150
+ *
151
+ * Get all properties whose keys begins with
152
+ * <em>prefix</em>. If
153
+ * <em>prefix</em> is an empty string,
154
+ * then all properties are returned.
155
+ *
156
+ * @param prefix The prefix to search for (empty string if none).
157
+ * @return The matching property set.
158
+ *
159
+ **/
160
+ ["cpp:noexcept", "swift:noexcept"] PropertyDict getPropertiesForPrefix(string prefix);
161
+
162
+ /**
163
+ *
164
+ * Set a property. To unset a property, set it to
165
+ * the empty string.
166
+ *
167
+ * @param key The property key.
168
+ * @param value The property value.
169
+ *
170
+ * @see #getProperty
171
+ *
172
+ **/
173
+ ["swift:noexcept"] void setProperty(string key, string \value);
174
+
175
+ /**
176
+ *
177
+ * Get a sequence of command-line options that is equivalent to
178
+ * this property set. Each element of the returned sequence is
179
+ * a command-line option of the form
180
+ * <code>--<em>key</em>=<em>value</em></code>.
181
+ *
182
+ * @return The command line options for this property set.
183
+ *
184
+ **/
185
+ ["cpp:noexcept", "swift:noexcept"] StringSeq getCommandLineOptions();
186
+
187
+ /**
188
+ *
189
+ * Convert a sequence of command-line options into properties.
190
+ * All options that begin with
191
+ * <code>--<em>prefix</em>.</code> are
192
+ * converted into properties. If the prefix is empty, all options
193
+ * that begin with <code>--</code> are converted to properties.
194
+ *
195
+ * @param prefix The property prefix, or an empty string to
196
+ * convert all options starting with <code>--</code>.
197
+ *
198
+ * @param options The command-line options.
199
+ *
200
+ * @return The command-line options that do not start with the specified
201
+ * prefix, in their original order.
202
+ *
203
+ **/
204
+ StringSeq parseCommandLineOptions(string prefix, StringSeq options);
205
+
206
+ /**
207
+ *
208
+ * Convert a sequence of command-line options into properties.
209
+ * All options that begin with one of the following prefixes
210
+ * are converted into properties: <code>--Ice</code>, <code>--IceBox</code>, <code>--IceGrid</code>,
211
+ * <code>--IcePatch2</code>, <code>--IceSSL</code>, <code>--IceStorm</code>, <code>--Freeze</code>, and <code>--Glacier2</code>.
212
+ *
213
+ * @param options The command-line options.
214
+ *
215
+ * @return The command-line options that do not start with one of
216
+ * the listed prefixes, in their original order.
217
+ *
218
+ **/
219
+ StringSeq parseIceCommandLineOptions(StringSeq options);
220
+
221
+ #ifndef __SLICE2JS__
222
+ /**
223
+ *
224
+ * Load properties from a file.
225
+ *
226
+ * @param file The property file.
227
+ *
228
+ **/
229
+ void load(string file);
230
+ #endif
231
+
232
+ /**
233
+ *
234
+ * Create a copy of this property set.
235
+ *
236
+ * @return A copy of this property set.
237
+ *
238
+ **/
239
+ ["cpp:noexcept", "swift:noexcept", "swift:nonnull"] Properties clone();
240
+ }
241
+
242
+ #endif
243
+
244
+ }
@@ -0,0 +1,87 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICE_API"]]
8
+ [["cpp:doxygen:include:Ice/Ice.h"]]
9
+ [["cpp:header-ext:h"]]
10
+
11
+ [["ice-prefix"]]
12
+
13
+ [["js:module:ice"]]
14
+ [["js:cjs-module"]]
15
+
16
+ [["objc:dll-export:ICE_API"]]
17
+ [["objc:header-dir:objc"]]
18
+
19
+ [["python:pkgdir:Ice"]]
20
+
21
+ #include <Ice/BuiltinSequences.ice>
22
+
23
+ #ifndef __SLICE2JAVA_COMPAT__
24
+ [["java:package:com.zeroc"]]
25
+ #endif
26
+
27
+ ["objc:prefix:ICE"]
28
+ module Ice
29
+ {
30
+
31
+ /**
32
+ *
33
+ * A simple collection of properties, represented as a dictionary of
34
+ * key/value pairs. Both key and value are strings.
35
+ *
36
+ * @see Properties#getPropertiesForPrefix
37
+ *
38
+ **/
39
+ dictionary<string, string> PropertyDict;
40
+
41
+ /**
42
+ *
43
+ * The PropertiesAdmin interface provides remote access to the properties
44
+ * of a communicator.
45
+ *
46
+ **/
47
+ interface PropertiesAdmin
48
+ {
49
+ /**
50
+ *
51
+ * Get a property by key. If the property is not set, an empty
52
+ * string is returned.
53
+ *
54
+ * @param key The property key.
55
+ *
56
+ * @return The property value.
57
+ *
58
+ **/
59
+ string getProperty(string key);
60
+
61
+ /**
62
+ *
63
+ * Get all properties whose keys begin with <em>prefix</em>. If
64
+ * <em>prefix</em> is an empty string then all properties are returned.
65
+ *
66
+ * @param prefix The prefix to search for (empty string if none).
67
+ * @return The matching property set.
68
+ *
69
+ **/
70
+ ["java:type:java.util.TreeMap<String, String>"] PropertyDict getPropertiesForPrefix(string prefix);
71
+
72
+ /**
73
+ *
74
+ * Update the communicator's properties with the given property set.
75
+ *
76
+ * @param newProperties Properties to be added, changed, or removed.
77
+ * If an entry in <em>newProperties</em> matches the name of an existing property,
78
+ * that property's value is replaced with the new value. If the new value
79
+ * is an empty string, the property is removed. Any existing properties
80
+ * that are not modified or removed by the entries in newProperties are
81
+ * retained with their original values.
82
+ *
83
+ **/
84
+ void setProperties(PropertyDict newProperties);
85
+ }
86
+
87
+ }