package org.iotivity.service.ns.consumer;
import android.util.Log;
+import org.iotivity.service.ns.common.*;
+import java.util.Vector;
+/**
+ *
+ * This class provides a set of Java APIs for Notification ConsumerService.
+ *
+ */
public class ConsumerService {
private static final String LOG_TAG = "ConsumerService";
static {
+ System.loadLibrary("gnustl_shared");
+ System.loadLibrary("oc_logger");
+ System.loadLibrary("connectivity_abstraction");
+ System.loadLibrary("ca-interface");
+ System.loadLibrary("octbstack");
+ System.loadLibrary("oc");
+ System.loadLibrary("ocstack-jni");
+ System.loadLibrary("notification_consumer");
+ System.loadLibrary("notification_consumer_wrapper");
System.loadLibrary("notification_consumer_jni");
}
- public ConsumerService() {
- Log.i (LOG_TAG, "ConsumerService()");
+ private static ConsumerService instance;
+ static {
+ instance = new ConsumerService();
}
- public native void Start (
- OnProviderDiscoveredListner onProviderDiscoveredListner,
- OnSubscriptionAcceptedListener onSubscriptionAcceptedListener
- ) throws NSException;
- public native void Stop () throws NSException;
- public native void RescanProvider() throws NSException;
- public native NSProvider GetProvider(String providerId) throws NSException;
+ /**
+ * API for getting instance of ConsumerService
+ *
+ * @return ConsumerService singleton instance created
+ */
+ public static ConsumerService getInstance() {
+ return instance;
+ }
- public interface OnProviderDiscoveredListner {
- public void onProviderDiscovered(NSProvider provider);
+ /**
+ * This API will Start ConsumerService
+ *
+ * @param onProviderDiscoveredListener
+ * OnProviderDiscoveredListener Callback Interface
+ *
+ * @throws NSException
+ * if the parameter passed is null
+ */
+ public void start(OnProviderDiscoveredListener onProviderDiscoveredListener)
+ throws NSException {
+ nativeStart(onProviderDiscoveredListener);
}
- public interface OnSubscriptionAcceptedListener {
- public void onSubscriptionAccepted(NSProvider provider);
+ /**
+ * This API will Stop ConsumerService
+ */
+ public void stop() throws NSException {
+ nativeStop();
}
- public interface OnMessageReceivedListner {
- public void onMessageReceived(NSMessage message);
+ /**
+ * Request to publish resource to cloud server
+ *
+ * @param serverAddress
+ * serverAddress combined with IP address and port number using
+ * delimiter
+ */
+ public void enableRemoteService(String serverAddress) throws NSException {
+ nativeEnableRemoteService(serverAddress);
}
- public interface OnSyncInfoReceivedListner {
- public void onSyncInfoReceived(NSSyncInfo sync);
+ /**
+ * Request to subscribe to MQ server
+ *
+ * @param servAdd
+ * servAdd combined with IP address and port number and MQ broker
+ * uri using delimiter
+ * @param topicName
+ * the interest Topic name for subscription
+ *
+ * @throws NSException failed to subscribe to MQ server
+ */
+ public void subscribeMQService(String servAdd, String topicName)
+ throws NSException {
+ nativeSubscribeMQService(servAdd, topicName);
}
-}
+ /**
+ * This API is called to request discovery manually
+ */
+ public void rescanProvider() throws NSException {
+ nativeRescanProvider();
+ }
+
+ /**
+ * Interface to implement callback function to receive provider on discovery
+ */
+ public interface OnProviderDiscoveredListener {
+
+ /**
+ * Callback function to receive provider on discovery
+ *
+ * @param provider
+ * Provider object
+ */
+ public void onProviderDiscovered(Provider provider);
+ }
+
+ private native void nativeStart(
+ OnProviderDiscoveredListener onProviderDiscoveredListener)
+ throws NSException;
+
+ private native void nativeStop() throws NSException;
+
+ private native void nativeEnableRemoteService(String serverAddress)
+ throws NSException;
+
+ private native void nativeSubscribeMQService(String servAdd,
+ String topicName) throws NSException;
+
+ private native void nativeRescanProvider() throws NSException;
+}