Loading...
Searching...
No Matches
MqttSessionBinding.java
Go to the documentation of this file.
1package com.navigine.idl.java.internal;
2
3import com.navigine.common.NativeObject;
4import com.navigine.common.Subscription;
5import com.navigine.idl.java.MqttSession;
6import com.navigine.idl.java.MqttSessionListener;
7
12public class MqttSessionBinding extends MqttSession
13{
14 private final NativeObject nativeObject;
15
19 protected MqttSessionBinding(NativeObject nativeObject)
20 {
21 this.nativeObject = nativeObject;
22 }
23
24 protected Subscription<MqttSessionListener> weakMqttSessionListenerSubscription = new Subscription<MqttSessionListener>() {
25 @Override
26 public NativeObject createNativeListener(MqttSessionListener listener) {
27 return createMqttSessionListener(listener);
28 }
29 };
30 private static native NativeObject createMqttSessionListener(MqttSessionListener listener);
31
32 // MqttSession methods
33
34 @Override
35 public void connect(String server, int port, String username, String password)
36 {
37 native_connect(server, port, username, password);
38 }
39 private native void native_connect(String server, int port, String username, String password);
40
41 @Override
42 public void setSubTopic(String subTopic)
43 {
44 native_setSubTopic(subTopic);
45 }
46 private native void native_setSubTopic(String subTopic);
47
48 @Override
49 public void addListener(MqttSessionListener listener)
50 {
51 native_addListener(listener);
52 }
53 private native void native_addListener(MqttSessionListener listener);
54
55 @Override
56 public void removeListener(MqttSessionListener listener)
57 {
58 native_removeListener(listener);
59 }
60 private native void native_removeListener(MqttSessionListener listener);
61
62 @Override
63 public void disconnect()
64 {
65 native_disconnect();
66 }
67 private native void native_disconnect();
68
69 @Override
70 public void publish(String topic, String message)
71 {
72 native_publish(topic, message);
73 }
74 private native void native_publish(String topic, String message);
75}