Isiextendenrollment() – Echelon ISI User Manual
Page 130

ISI Programmer’s Guide
128
IsiExtendEnrollment()
void IsiExtendEnrollment(unsigned
Assembly
);
Accepts a connection invitation on a device that supports connection extension.
This function may be called after the application has received and approved a
CSMO open enrollment message. The connection will be added to any previously
existing connections. If no previous connection exists for
Assembly
, a new
connection will be created. This function must not be called on a device that does
not support connection extension.
Where supported and unless application requirements dictate otherwise, this
function should be used instead of the IsiCreateEnrollment() function.
On a connection host that has received at least one CSME enrollment acceptance
message, this command completes the enrollment and extends any existing
connections. If no previous connection exists for
Assembly
, a new connection will
be created.
Devices using the IsiFull library automatically use comprehensive resource
validation included with the full version of the ISI library. See
IsiGetFreeAliasCoung() for discussion and recommendations when using this
function with devices built with one of the compact ISI libraries.
The ISI engine must be running and in the correct state for this function to have
any effect. For a connection host, the ISI engine must be in the approved state.
Other devices must be in the pending state.
E
XAMPLE
The following example accepts a connection invitation for a connection
member if the Connect button is pushed when a connection is pending, or
extends an existing connection if the Alternative flag is set:
IsiEvent isiState;
void ProcessIsiButton(unsigned Assembly, boolean Alternative) {
switch(isiState)
{
...
case
isiPending:
if
(Alternative)
{
IsiExtendEnrollment(Assembly);
}
else
{
IsiCreateEnrollment(Assembly);
}
break;
...
}
}