replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / service / notification / android / notification-service / src / main / java / org / iotivity / service / ns / consumer / ConsumerService.java
old mode 100644 (file)
new mode 100755 (executable)
index 403fd65..50e4980
 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;
+}