Click or drag to resize

BluetoothStatusConnectionInsecure Class

Establishes a status only insecure Bluetooth® connection to a Link-OS printer.
Inheritance Hierarchy

Namespace:  Zebra.Sdk.Comm
Assemblies:   SdkApi.Desktop (in SdkApi.Desktop.dll) Version: 2.15.2634
  ZebraPrinterSdk (in ZebraPrinterSdk.dll) Version: 2.15.2521
Syntax
public class BluetoothStatusConnectionInsecure : BluetoothStatusConnection

The BluetoothStatusConnectionInsecure type exposes the following members.

Constructors
  NameDescription
Public methodBluetoothStatusConnectionInsecure(String)
Constructs a new status only insecure Bluetooth® connection with the given macAddress.
Public methodBluetoothStatusConnectionInsecure(String, Int32, Int32)
Constructs a new status only insecure Bluetooth® connection with the given macAddress and timeout values.
Top
Properties
  NameDescription
Public propertyConnected
Returns true if the connection is open.
(Inherited from ConnectionA.)
Public propertyFriendlyName
Gets the friendly name of the Bluetooth® connection. The friendly name is obtained from the device when this connection is opened.If the friendly name changes on the device, it will not be refreshed until the connection is closed and reopened.
(Inherited from BluetoothStatusConnection.)
Public propertyMACAddress
Gets the MAC address which was passed into the constructor. The MAC address is a hexadecimal string with separators between the octets. (e.g. 00:11:BB:DD:55:FF).
(Inherited from BluetoothStatusConnection.)
Public propertyManufacturer
See the classes which implement this property for the format of the printer manufacturer string.
(Inherited from ConnectionA.)
Public propertyMaxDataToWrite
Gets or sets the maximum number of bytes to write at one time
(Inherited from ConnectionA.)
Public propertyMaxTimeoutForRead
Gets or sets the maximum time, in milliseconds, to wait for any data to be received.
(Inherited from ConnectionA.)
Public propertyMultipartTimeToWaitAfterSend
(Inherited from ConnectionA.)
Public propertySimpleConnectionName
Gets the MAC address and the friendly name as the description.
(Inherited from BluetoothStatusConnection.)
Public propertyTimeToWaitForMoreData
Gets or sets the maximum time, in milliseconds, to wait in-between reads after the initial read.
(Inherited from ConnectionA.)
Top
Methods
  NameDescription
Public methodAddWriteLogStream
Sets the stream to log the write data to.
(Inherited from ConnectionA.)
Public methodBytesAvailable
Returns an estimate of the number of bytes that can be read from this connection without blocking.
(Inherited from BluetoothStatusConnection.)
Public methodClose
Closes the Bluetooth® connection.
(Inherited from BluetoothStatusConnection.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetConnectionReestablisher(Int64) (Inherited from BluetoothStatusConnection.)
Public methodGetConnectionReestablisher(Int64)
Returns a ConnectionReestablisher which allows for easy recreation of a connection which may have been closed.
(Inherited from ConnectionA.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodOpen
Opens a Bluetooth® connection as specified in the constructor.
(Inherited from BluetoothStatusConnection.)
Public methodRead
Reads all the available data from the connection. This call is non-blocking.
(Inherited from ConnectionA.)
Public methodRead(Int32)
Reads maxBytesToRead of the available data from the connection.
(Inherited from BluetoothStatusConnection.)
Public methodRead(Int32)
Reads maxBytesToRead of the available data from the connection.
(Inherited from ConnectionA.)
Public methodRead(BinaryWriter)
Reads all the available data from the connection.
(Inherited from ConnectionA.)
Public methodRead(Int32, Boolean)
Reads maxBytesToRead of the available data from the connection.
(Inherited from ConnectionA.)
Public methodReadChar
Reads the next byte of data from the connection.
(Inherited from BluetoothStatusConnection.)
Public methodReadChar
Reads the next byte of data from the connection.
(Inherited from ConnectionA.)
Public methodSendAndWaitForResponse(Byte, Int32, Int32, String)
Sends dataToSend and returns the response data.
(Inherited from ConnectionA.)
Public methodSendAndWaitForResponse(BinaryWriter, BinaryReader, Int32, Int32, String)
Sends data from sourceStream and writes the response data to destinationStream.
(Inherited from ConnectionA.)
Public methodSendAndWaitForValidResponse(Byte, Int32, Int32, ResponseValidator)
Sends dataToSend and returns the response data.
(Inherited from ConnectionA.)
Public methodSendAndWaitForValidResponse(BinaryWriter, BinaryReader, Int32, Int32, ResponseValidator)
Sends data from sourceStream and writes the response data to destinationStream.
(Inherited from ConnectionA.)
Public methodSetReadTimeout
Sets the underlying read timeout value.
(Inherited from ConnectionA.)
Public methodToString
The friendly name is obtained from the device when this connection is opened. If the friendly name changes on the device, it will not be refreshed until the connection is closed and reopened.
(Inherited from BluetoothStatusConnection.)
Public methodWaitForData
Causes the currently executing thread to sleep until BytesAvailable > 0, or for a maximum of maxTimeout milliseconds.
(Inherited from ConnectionA.)
Public methodWrite(Byte)
Writes data.Length bytes from the specified byte array to this output stream.
(Inherited from ConnectionA.)
Public methodWrite(BinaryReader)
Writes all available bytes from the data source to this output stream.
(Inherited from ConnectionA.)
Public methodWrite(Byte, Int32, Int32)
Writes length bytes from data starting at offset.
(Inherited from ConnectionA.)
Top
Remarks
This connection requires Link-OS firmware 2.5 or higher. This channel will not block the printing channel, nor can it print. If you wish to print, see BluetoothConnection. Insecure Bluetooth® connections do not require the device and the printer to be paired.
Examples
Desktop
using System;
using Zebra.Sdk.Comm;
using Zebra.Sdk.Printer;

public class BluetoothStatusConnectionInsecureExample {

    public static void Main(string[] args) {
        BluetoothStatusConnectionInsecureExample example = new BluetoothStatusConnectionInsecureExample();

        string theBtMacAddress = "00:11:BB:DD:55:FF";
        example.SendJSONOverStatusChannel(theBtMacAddress);
    }

    private void SendJSONOverStatusChannel(string theBtMacAddress) {
        Connection printConn = null;
        Connection statusConn = null;
        try {
            // The printing channel must be opened before the status channel.
            // Instantiate a printing connection for given Bluetooth® MAC Address.
            printConn = new BluetoothConnectionInsecure(theBtMacAddress);

            // Open the connection - physical connection is established here.
            printConn.Open();

            // Instantiate insecure connection for given Bluetooth® MAC Address.
            statusConn = new BluetoothStatusConnectionInsecure(theBtMacAddress);

            // Open the connection - physical connection is established here.
            statusConn.Open();

            // This sends down JSON to the status channel to retrieve the 'appl.name' setting
            string firmwareVersion = SGD.GET("appl.name", statusConn);

            Console.WriteLine($"The firmware version is: {firmwareVersion}");
        } catch (Exception e) {
            // Handle communications error here.
            Console.WriteLine(e.ToString());
        } finally {
            // Close the insecure connections to release resources.
            if (statusConn != null) {
                statusConn.Close();
            }

            if (printConn != null) {
                printConn.Close();
            }
        }
    }
}
Examples
Android™
using Android.App;
using Android.OS;
using Android.Views;
using Android.Widget;
using System;
using System.Threading.Tasks;
using Zebra.Sdk.Comm;
using Zebra.Sdk.Printer;

public class BluetoothStatusConnectionInsecureExample : Activity {

    protected override void OnCreate(Bundle savedInstanceState) {
        base.OnCreate(savedInstanceState);

        LinearLayout layout = (LinearLayout)View.Inflate(this, Android.Resource.Layout.ActivityListItem, null);
        layout.Orientation = Orientation.Vertical;

        Button buttonPrint = new Button(this) {
            Text = "Run Bluetooth Status Insecure Connection Example",
            LayoutParameters = new ViewGroup.LayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent))
        };
        layout.AddView(buttonPrint);

        SetContentView(layout);

        buttonPrint.Click += async (sender, e) => {
            string theBtMacAddress = "00:11:BB:DD:55:FF";
            await Task.Run(() => {
                SendJSONOverStatusChannel(theBtMacAddress);
            });
        };
    }

    private void SendJSONOverStatusChannel(string theBtMacAddress) {
        Connection printConn = null;
        Connection statusConn = null;
        try {
            // The printing channel must be opened before the status channel.
            // Instantiate a printing connection for given Bluetooth® MAC Address.
            printConn = new BluetoothConnectionInsecure(theBtMacAddress);

            // Open the connection - physical connection is established here.
            printConn.Open();

            // Instantiate insecure connection for given Bluetooth® MAC Address.
            statusConn = new BluetoothStatusConnectionInsecure(theBtMacAddress);

            // Open the connection - physical connection is established here.
            statusConn.Open();

            // This sends down JSON to the status channel to retrieve the 'appl.name' setting
            string firmwareVersion = SGD.GET("appl.name", statusConn);

            // This prints out the firmware version in a toast message in the app.
            RunOnUiThread(() => {
                Toast.MakeText(this.ApplicationContext, $"The firmware version is: {firmwareVersion}", ToastLength.Long).Show();
            });
        } catch (Exception e) {
            // Handle communications error here.
            Console.WriteLine(e.ToString());
        } finally {
            // Close the insecure connections to release resources.
            if (statusConn != null) {
                statusConn.Close();
            }

            if (printConn != null) {
                printConn.Close();
            }
        }
    }
}
See Also