1 //******************************************************************
3 // Copyright 2016 Samsung Electronics All Rights Reserved.
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20 package org.iotivity.service.ns.provider;
21 import org.iotivity.service.ns.common.*;
22 import java.util.Vector;
25 * @brief This class provides implementation of Notification Consumer object.
30 public String mConsumerId = null;
33 * Constructor of Consumer.
35 public Consumer(final String consumerId)
37 mConsumerId = consumerId;
41 * API for getting consumerId
42 * @return ConsumerId as string
44 public String getConsumerId( )
50 * API for accepting Subscription request.
51 * This function is valid only when subControllability is set true.
52 * @param accepted - boolean variable representing Subscription response as TRUE/FALSE.
53 * @return :: result code 100 = OK , 200 = ERROR , 300 = SUCCESS , 400 = FAIL
55 public int acceptSubscription(boolean accepted) throws NSException
57 return nativeAcceptSubscription(mConsumerId, accepted);
61 * Select a topic for a consumer
62 * @param topicName - Topic name to select
63 * @return :: result code
65 public int setTopic(String topicName) throws NSException
67 return nativeSetConsumerTopic(mConsumerId, topicName);
71 * Unselect a topic for a consumer
72 * @param topicName - Topic name to Unselect
73 * @return :: result code
75 public int unsetTopic(String topicName) throws NSException
77 return nativeUnsetConsumerTopic(mConsumerId, topicName);
81 * Request topic list with selection state for the consumer
82 * @return :: Topic list
84 public TopicsList getConsumerTopicList() throws NSException
86 return nativeGetConsumerTopicList(mConsumerId);
89 public native int nativeAcceptSubscription(String consumerId, boolean accepted) throws NSException;
90 public native int nativeSetConsumerTopic(String consumerId, String topicName) throws NSException;
91 public native int nativeUnsetConsumerTopic(String consumerId, String topicName) throws NSException;
92 public native TopicsList nativeGetConsumerTopicList(String consumerId) throws NSException;