replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOcResource.h
index 5911a96..e05da82 100644 (file)
 #include "JniOnDeleteListener.h"
 #include "JniOnObserveListener.h"
 #include "JniOcResourceIdentifier.h"
+#ifdef WITH_MQ
+#include "JniOnMQTopicFoundListener.h"
+#include "JniOnMQSubscribeListener.h"
+#endif
 
 #ifndef _Included_org_iotivity_base_OcResource
 #define _Included_org_iotivity_base_OcResource
@@ -84,10 +88,11 @@ public:
     std::string uri();
     OCConnectivityType connectivityType() const;
     bool isObservable();
-    std::vector< std::string >         getResourceTypes() const;
-    std::vector< std::string >         getResourceInterfaces(void) const;
+    std::vector< std::string >  getResourceTypes() const;
+    std::vector< std::string >  getResourceInterfaces(void) const;
     OCResourceIdentifier uniqueIdentifier() const;
     std::string sid() const;
+    std::string deviceName() const;
 
     JniOnGetListener* addOnGetListener(JNIEnv* env, jobject jListener);
     JniOnPutListener* addOnPutListener(JNIEnv* env, jobject jListener);
@@ -105,12 +110,43 @@ public:
 
     static JniOcResource* getJniOcResourcePtr(JNIEnv *env, jobject thiz);
 
+#ifdef WITH_MQ
+    JniOnMQTopicFoundListener* addOnTopicFoundListener(JNIEnv* env, jobject jListener);
+    void removeOnTopicFoundListener(JNIEnv* env, jobject jListener);
+
+    JniOnMQSubscribeListener* addOnMQTopicSubscribeListener(JNIEnv* env, jobject jListener);
+    void removeOnMQTopicSubscribeListener(JNIEnv* env, jobject jListener);
+
+    OCStackResult discoveryMQTopics(JNIEnv* env, const QueryParamsMap &queryParametersMap,
+                                    jobject jListener, QualityOfService QoS);
+    OCStackResult createMQTopic(JNIEnv* env, const OCRepresentation &representation,
+                                const std::string &targetUri,
+                                const QueryParamsMap &queryParametersMap,
+                                jobject jListener, QualityOfService QoS);
+#endif
+#ifdef MQ_SUBSCRIBER
+    OCStackResult subscribeMQTopic(JNIEnv* env, const QueryParamsMap &queryParametersMap,
+                                   jobject jListener, QualityOfService QoS);
+    OCStackResult unsubscribeMQTopic(QualityOfService QoS);
+    OCStackResult requestMQPublish(JNIEnv* env, const QueryParamsMap &queryParametersMap,
+                                   jobject jListener, QualityOfService QoS);
+#endif
+#ifdef MQ_PUBLISHER
+    OCStackResult publishMQTopic(JNIEnv* env, const OCRepresentation &representation,
+                                 const QueryParamsMap &queryParametersMap,
+                                 jobject jListener, QualityOfService QoS);
+#endif
+
 private:
     JniListenerManager<JniOnGetListener> m_onGetManager;
     JniListenerManager<JniOnPutListener> m_onPutManager;
     JniListenerManager<JniOnPostListener> m_onPostManager;
     JniListenerManager<JniOnDeleteListener> m_onDeleteManager;
     JniListenerManager<JniOnObserveListener> m_onObserveManager;
+#ifdef WITH_MQ
+    JniListenerManager<JniOnMQTopicFoundListener> m_onFoundTopicResourceManager;
+    JniListenerManager<JniOnMQSubscribeListener> m_onSubcribeTopicManager;
+#endif
 
     std::shared_ptr<OCResource> m_sharedResource;
 };
@@ -339,6 +375,14 @@ extern "C" {
 
     /*
     * Class:     org_iotivity_base_OcResource
+    * Method:    getDeviceName
+    * Signature: ()Ljava/lang/String;
+    */
+    JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getDeviceName
+        (JNIEnv *, jobject);
+
+    /*
+    * Class:     org_iotivity_base_OcResource
     * Method:    dispose
     * Signature: ()V
     */