ProtocolServiceTo open a protocol service:
service = "PHYS0";
cid = new ProtocolService();
if (cid.open(service))
{
/* Process */
}
else
{
String text = "Failure opening service " + service +
": " + cid.getLastErrorMessage();
System.err.println(text);
}
When the protocol service is no longer needed:
if (!cid.close())
{
String text = "Failure closing CID " + cid.getCid() +
": " + cid.getLastErrorMessage();
System.err.println(text);
}
To stack protocol services:
for (i = 1; i < cid.length; i++)
{
if (!cid[i].push(cid[i-1]))
{
String text = "Failure pushing CID " +
cid[i].getCid() + " onto " +
cid[i-1].getCid() + ": " +
cid[i].getLastErrorMessage();
System.err.println(text);
break;
}
}
To unstack protocol services:
for (i = cid.length - 1; i > 0; i--)
{
if (!cid[i].pop())
{
String text = "Failure popping CID " +
cid[i].getCid() + " off of " +
cid[i-1].getCid() + ": " +
cid[i].getLastErrorMessage();
System.err.println(text);
break;
}
}
To connect a protocol service:
if (cid.connectRequest())
{
/* Check for events */
}
else
{
String text = "Failure connecting on CID " +
cid.getCid() + ": " +
cid.getLastErrorMessage();
System.err.println(text);
}
To disconnect a protocol service:
if (cid.disconnectRequest())
{
/* Check for events */
}
else
{
String text = "Failure disconnecting on CID " +
cid.getCid() + ": " +
cid.getLastErrorMessage();
System.err.println(text);
}
To check for an event:
ProtocolEvent event = cid.event();
if (event != null)
{
/* Switch on event.getType() */
}
else
{
System.err.println("No event received.");
}
To read data:
try
{
DataEvent data = cid.read();
if (data != null)
{
/* Process data.getDataSize() bytes of data */
}
}
catch (ProtocolEventException event)
{
switch (event.getType())
{
case Laygo.EVENT_DATA_LENGTH_ERROR:
case Laygo.EVENT_DATA_CRC_ERROR:
case Laygo.EVENT_DATA_ABORTED_FRAME:
/* Discard bad frame */
event = null;
break;
default:
throw event;
}
}
To write data:
if (cid.write(buffer, size))
{
/* size bytes of data written */
}
else
}
String text = "Failure writing on CID " +
cid.getCid() + ": " +
cid.getLastErrorMessage();
System.err.println(text);
}