import {Ice} from 'ice'; import '../Ice/LocalException'; import '../Ice/Current'; declare module './Ice.ns' { namespace Ice { /** * An interface to associate implict contexts with communicators. * *

When you make a remote invocation without an explicit context parameter, * Ice uses the per-proxy context (if any) combined with the ImplicitContext * associated with the communicator.

* *

Ice provides several implementations of ImplicitContext. The implementation * used depends on the value of the Ice.ImplicitContext property. *

*
None (default)
*
No implicit context at all.
*
PerThread
*
The implementation maintains a context per thread.
*
Shared
*
The implementation maintains a single context shared by all threads.
*

* * ImplicitContext also provides a number of operations to create, update or retrieve * an entry in the underlying context without first retrieving a copy of the entire * context. These operations correspond to a subset of the java.util.Map methods, * with java.lang.Object replaced by string and null replaced by the empty-string. */ interface ImplicitContext { /** * Get a copy of the underlying context. * @return A copy of the underlying context. */ getContext(): Context; /** * Set the underlying context. * * @param newContext The new context. */ setContext(newContext: Context): void; /** * Check if this key has an associated value in the underlying context. * * @param key The key. * * @return True if the key has an associated value, False otherwise. */ containsKey(key: string): boolean; /** * Get the value associated with the given key in the underlying context. * Returns an empty string if no value is associated with the key. * {@link #containsKey} allows you to distinguish between an empty-string value and * no value at all. * * @param key The key. * * @return The value associated with the key. */ get(key: string): string; /** * Create or update a key/value entry in the underlying context. * * @param key The key. * * @param value The value. * * @return The previous value associated with the key, if any. */ put(key: string, value: string): string; /** * Remove the entry for the given key in the underlying context. * * @param key The key. * * @return The value associated with the key, if any. */ remove(key: string): string; } } } export {Ice} from './Ice.ns';