Add doxygen comment for java api's of ProviderServicer and ConsumerService.
[platform/upstream/iotivity.git] / service / notification / android / notification-service / src / main / java / org / iotivity / service / ns / provider / Consumer.java
1 //******************************************************************
2 //
3 // Copyright 2016 Samsung Electronics All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
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
10 //
11 //      http://www.apache.org/licenses/LICENSE-2.0
12 //
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.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20 package org.iotivity.service.ns.provider;
21 import org.iotivity.service.ns.common.*;
22 import java.util.Vector;
23 /**
24   * @class   Consumer
25   * @brief   This class provides implementation of Notification Consumer object.
26   */
27 public class Consumer
28 {
29
30     public String mConsumerId = null;
31
32     /**
33       * Constructor of Consumer.
34       */
35     public Consumer(final String consumerId)
36     {
37         mConsumerId = consumerId;
38     }
39
40     /**
41       * API for getting consumerId
42       * @return ConsumerId as string
43       */
44     public String getConsumerId( )
45     {
46         return mConsumerId;
47     }
48
49     /**
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
54       */
55     public int acceptSubscription(boolean accepted) throws NSException
56     {
57         return nativeAcceptSubscription(mConsumerId, accepted);
58     }
59
60     /**
61       * Select a topic for a consumer
62       * @param  topicName - Topic name to select
63       * @return :: result code
64       */
65     public int setTopic(String topicName) throws NSException
66     {
67         return nativeSetConsumerTopic(mConsumerId, topicName);
68     }
69
70     /**
71       * Unselect a topic for a consumer
72       * @param  topicName - Topic name to Unselect
73       * @return :: result code
74       */
75     public int unsetTopic(String topicName) throws NSException
76     {
77         return nativeUnsetConsumerTopic(mConsumerId, topicName);
78     }
79
80     /**
81       * Request topic list with selection state for the consumer
82       * @return :: Topic list
83       */
84     public TopicsList getConsumerTopicList() throws NSException
85     {
86         return nativeGetConsumerTopicList(mConsumerId);
87     }
88
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;
93 }