Loading...
Searching...
No Matches
com.navigine.idl.java.MqttSession Class Referenceabstract

Class is used for managing MQTT session and publishing position data to MQTT broker. More...

Public Member Functions

abstract void connect (String server, int port, String username, String password)
 Method is used to connect to MQTT broker and start publishing position data.
 
abstract void setSubTopic (String subTopic)
 Method is used to set MQTT sub-topic for publishing position data. The final topic will be "navigine/mobile/positions/" + subTopic + "/" + deviceId.
 
abstract void addListener (MqttSessionListener listener)
 Method is used to add MqttSessionListener class element which will notify about MQTT session connection state changes.
 
abstract void removeListener (MqttSessionListener listener)
 Method is used for removing previously added MqttSessionListener class element.
 
abstract void disconnect ()
 Method is used to disconnect from MQTT broker and stop publishing position data.
 
abstract void publish (String topic, String message)
 Method is used to publish a custom message to a specified MQTT topic. The message will be sent asynchronously and the result will be notified through MqttSessionListener callbacks (onMessagePublished for success, onError for failure).
 

Detailed Description

Class is used for managing MQTT session and publishing position data to MQTT broker.

Referenced from NavigineSdk.

Definition at line 17 of file MqttSession.java.

Member Function Documentation

◆ addListener()

abstract void com.navigine.idl.java.MqttSession.addListener ( MqttSessionListener listener)
abstract

Method is used to add MqttSessionListener class element which will notify about MQTT session connection state changes.

Note
Do not forget to remove listener if it is no longer needed!
Parameters
listenerCorresponding MqttSessionListener class.

Java code snippet:

// Add MQTT session listener
mqttSession.addListener(mqttSessionListener);

Kotlin code snippet:

// Add MQTT session listener
session.addListener(listener)

◆ connect()

abstract void com.navigine.idl.java.MqttSession.connect ( String server,
int port,
String username,
String password )
abstract

Method is used to connect to MQTT broker and start publishing position data.

Parameters
serverMQTT broker server hostname or IP address.
portMQTT broker server port.
usernameMQTT broker username for authentication.
passwordMQTT broker password for authentication.

Java code snippet:

// Connect to MQTT broker
// Server: MQTT broker hostname or IP address
// Port: MQTT broker port (typically 1883 for non-SSL, 8883 for SSL)
// Username: MQTT broker username for authentication
// Password: MQTT broker password for authentication
mqttSession.connect("mqtt.example.com", 1883, "username", "password");

Kotlin code snippet:

// Connect to MQTT broker
// Server: MQTT broker hostname or IP address
// Port: MQTT broker port (typically 1883 for non-SSL, 8883 for SSL)
// Username: MQTT broker username for authentication
// Password: MQTT broker password for authentication
session.connect("mqtt.example.com", 1883, "username", "password")

◆ disconnect()

abstract void com.navigine.idl.java.MqttSession.disconnect ( )
abstract

Method is used to disconnect from MQTT broker and stop publishing position data.

Java code snippet:

// Disconnect from MQTT broker
mqttSession.disconnect();

Kotlin code snippet:

// Disconnect from MQTT broker
session.disconnect()

◆ publish()

abstract void com.navigine.idl.java.MqttSession.publish ( String topic,
String message )
abstract

Method is used to publish a custom message to a specified MQTT topic. The message will be sent asynchronously and the result will be notified through MqttSessionListener callbacks (onMessagePublished for success, onError for failure).

Note
The MQTT session must be connected before calling this method. Use connect method first.
Parameters
topicMQTT topic to publish the message to. Can be any valid MQTT topic string.
messageMessage content to publish. Can be any string (JSON, plain text, etc.).

Java code snippet:

// Publish a custom message to a specific MQTT topic
// The message will be sent asynchronously and the result will be notified through listener callbacks
String customTopic = "custom/device/status";
String customMessage = "{\"status\": \"online\", \"timestamp\": " + System.currentTimeMillis() + "}";
mqttSession.publish(customTopic, customMessage);

Kotlin code snippet:

// Publish a custom message to a specific MQTT topic
// The message will be sent asynchronously and the result will be notified through listener callbacks
val customTopic = "custom/device/status"
val customMessage = """{"status": "online", "timestamp": ${System.currentTimeMillis()}}"""
session.publish(customTopic, customMessage)

◆ removeListener()

abstract void com.navigine.idl.java.MqttSession.removeListener ( MqttSessionListener listener)
abstract

Method is used for removing previously added MqttSessionListener class element.

Parameters
listenerCorresponding MqttSessionListener class to remove.

Java code snippet:

// Remove first listener
mqttSession.removeListener(listener1);

Kotlin code snippet:

// Remove first listener
session.removeListener(listener1)

◆ setSubTopic()

abstract void com.navigine.idl.java.MqttSession.setSubTopic ( String subTopic)
abstract

Method is used to set MQTT sub-topic for publishing position data. The final topic will be "navigine/mobile/positions/" + subTopic + "/" + deviceId.

Parameters
subTopicMQTT sub-topic for publishing position data. Must match pattern [0-9a-zA-Z_-]+ and cannot be empty.

Java code snippet:

// Set MQTT sub-topic for publishing position data
// Final topic will be "navigine/mobile/positions/" + subTopic + "/" + deviceId
mqttSession.setSubTopic("location1");

Kotlin code snippet:

// Set MQTT sub-topic for publishing position data
// Final topic will be "navigine/mobile/positions/" + subTopic + "/" + deviceId
session.setSubTopic("location1")

The documentation for this class was generated from the following file: