Class ProtocolDevice

Wrapper class for a LayGO LDevice.

String            deviceName    = new String("X21BIS0");
DeviceDatabase    deviceDb      = new DeviceDatabase();

if (deviceDb.Initialize(null))
{
    ProtocolDevice    device = new ProtocolDevice();

    if (device.New(deviceName))
    {
        println("Device " + deviceName + " created.");

        if (device.Open())
        {
            println("Device " + deviceName + " opened.");

            if (device.Connect())
            {
                println("Device " + deviceName + " connected.");

                try
                {
                    SendData(device);
                }
                catch (InterruptedException ex)
                {
                    /* Do nothing */
                }

                if (device.Disconnect())
                {
                    println("Device " + deviceName
                             + " disconnected.");
                }
                else
                {
                    device.Reopen();
                    println("Error disconnecting device '" + deviceName
                             + "': " + device.GetLastErrorMessage() + ".");
                }
            }
            else
            {
                println("Error connecting device '" + deviceName
                         + "': " + device.GetLastErrorMessage() + ".");
            }

            device.Close();

            println("Device " + deviceName + " closed.");
        }
        else
        {
            println("Error opening device '" + deviceName + "': " +
                        device.GetLastErrorMessage() + ".");
        }

        device.Dispose();

        println("Device " + deviceName + " destroyed.");
    }
    else
    {
        println("Error creating device '" + deviceName + "': " +
                    device.GetLastErrorMessage() + ".");
    }

    deviceDb.Uninitialize();
}