local interface ContextEstablisherA ContextEstablisher represents the potential connection to a remote target with which to establish an InitiatingContext. An object of theContextEstablisher interface is created by the TransportInitiator. It does not connect to the remote server, but stores the information and capability to establish a context with a particular remote server.
readonly attribute ContextEstablisherId establisher_id;The establisher id shall be unique throughout the system. To do this, the TransportInitiator creates this establisher's id by appending the credentials id, which must be unique throughout the system, with an identifier unique within the credentials' initiator.
readonly attribute TimeBase::UtcT expiry_time;The expiry_time attribute will have the time this establisher is no longer good, if known.
readonly attribute OwnCredentials parent_credentials;The parent_credentials attribute contains a pointer to the OwnCredentials that created this Context Establisher.
readonly attribute string remote_host;The remote_host attribute contains the IIOP remote host for which this ContextEstablisher was created. Other host addresses may be contained in the transport_components.
readonly attribute unsigned long remote_port;The remote_port attribute contains the IIOP remote port of the remote host for which this ContextEstablisher was created. Other host addresses and ports may be contained in the transport_components.
readonly attribute IOP::TaggedComponentSeq transport_components;The transport_components attribute contains the relevant transport component associated with this Context Establisher. These are used for comparison purposes.
ListenerId add_initiating_context_establishment_listener(in InitiatingContextEstablishmentListener listener);The add_initiating_context_establishment_listener operation add a initiating context establishment listener to this object for each time this object establishes its context.
boolean equivalent(in ContextEstablisher estab);The equivalent operation tests to see if the Context Establisher is equivalent to the argument. There might be occasion when a Context Establisher gets created and then they need to be tested for the same functionality so that they can be filtered out from use (i.e. destroying duplicated functionality).
boolean establish_alt_context(in CredsDirective creds_directive,
out InitiatingContext initiating_context);
The establish_alt_context operation tries to establish
an InitiatingContext with its peer.
The context shall be null, if it cannot generate a usable context.
This operation returns true if the context was actually created
for this call. If the result is false, then there is no
InitiatingContext.
This call is different than establish_context, in that it is used by the CSIv2 framework. It is used to establish new transports that are not embodies or endorsed. This call is performed at the CSIv2 trust layer to obtain trust in the the target, via target authentication. Performing this extra step may prevent the transmission of sensitive CSIv2 data, before the target is authenticated and subsequently trusted.
boolean establish_alt_context_timeout(in CredsDirective creds_directive,
in unsigned long timeout,
out InitiatingContext initiating_context);
The establish_alt_context_timeout
operation is like the establish_alt_context, but with a timeout.
boolean establish_context(out InitiatingContext initiating_context);The establish_context operation tries to establish an InitiatingContext with its peer. The context shall be null, if it cannot generate a usable context. This operation returns true if the context was actually created for this call. If the result is false, then there is no InitiatingContext.
boolean establish_context_timeout(in unsigned long timeout,
out InitiatingContext initiating_context);
The establish_context_timeout operation tries to establish
an InitiatingContext with its peer with a timeout.
The context shall be null, if it cannot generate a usable context.
This operation returns true if the context was actually created
for this call. If the result is false, then there is no
InitiatingContext.
boolean is_usable(in string host,
in unsigned long port,
in CredsDirective creds_directive,
in FeatureDirective client_authentication,
in FeatureDirective target_authentication,
in FeatureDirective confidentiality,
in FeatureDirective integrity,
in CSIVersion csi_version,
in IOP::TaggedComponentSeq transport_components);
The is_usable operation returns true if this ContextEstablisher
has the ability to establish an InitiatingContext according
to the given policy.
void remove_initiating_context_establishment_listener(in ListenerId id);The remove_initiating_context_establishment_listener operation removes the named listener. This operation removes the named listener. This operation shall raise a BAD_PARAM exception if the listener is not registered.