Fixed odd comment block formatting that was breaking tools.
[platform/upstream/iotivity.git] / android / android_api / base / src / main / java / org / iotivity / base / OcPlatform.java
index 8004287..f062199 100644 (file)
@@ -1,23 +1,23 @@
 /*
- * //******************************************************************
- * //
- * // Copyright 2015 Intel Corporation.
- * //
- * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- * //
- * // Licensed under the Apache License, Version 2.0 (the "License");
- * // you may not use this file except in compliance with the License.
- * // You may obtain a copy of the License at
- * //
- * //      http://www.apache.org/licenses/LICENSE-2.0
- * //
- * // Unless required by applicable law or agreed to in writing, software
- * // distributed under the License is distributed on an "AS IS" BASIS,
- * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * // See the License for the specific language governing permissions and
- * // limitations under the License.
- * //
- * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+ *******************************************************************
+ *
+ * Copyright 2015 Intel Corporation.
+ *
+ *-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  */
 
 package org.iotivity.base;
@@ -29,9 +29,9 @@ import java.util.Iterator;
 import java.util.List;
 
 /**
- * Contains the main entrance/functionality of the product. To set a custom configuration, the
- * implementer must make a call to OcPlatform.Configure before the first usage of a function in this
- * class.
+ * This class contains the main entrance/functionality of the product. To set a custom
+ * configuration, the implementer must make a call to OcPlatform.Configure before the first usage
+ * of a method in this class.
  */
 public final class OcPlatform {
 
@@ -70,19 +70,24 @@ public final class OcPlatform {
     public static final String PRESENCE_URI = "/oic/ad";
 
     private static volatile boolean sIsPlatformInitialized = false;
+    private static QualityOfService sPlatformQualityOfService = QualityOfService.NA;
 
     private OcPlatform() {
     }
 
     /**
      * API for setting the configuration of the OcPlatform.
+     * <p>
      * Note: Any calls made to this AFTER the first call to OcPlatform.Configure will have no affect
+     * </p>
      *
      * @param platformConfig platform configuration
      */
     public synchronized static void Configure(PlatformConfig platformConfig) {
         if (!sIsPlatformInitialized) {
-            CaInterface.initialize(platformConfig.getContext());
+            CaInterface.initialize(platformConfig.getActivity(), platformConfig.getContext());
+
+            sPlatformQualityOfService = platformConfig.getQualityOfService();
 
             OcPlatform.configure(
                     platformConfig.getServiceType().getValue(),
@@ -106,9 +111,12 @@ public final class OcPlatform {
 
     /**
      * API for notifying base that resource's attributes have changed.
+     * <p>
+     * Note: This API is for server side only.
+     * </p>
      *
      * @param ocResourceHandle resource handle of the resource
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void notifyAllObservers(
             OcResourceHandle ocResourceHandle) throws OcException {
@@ -121,10 +129,13 @@ public final class OcPlatform {
 
     /**
      * API for notifying base that resource's attributes have changed.
+     * <p>
+     * Note: This API is for server side only.
+     * </p>
      *
      * @param ocResourceHandle resource handle of the resource
      * @param qualityOfService the quality of communication
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void notifyAllObservers(
             OcResourceHandle ocResourceHandle,
@@ -139,13 +150,16 @@ public final class OcPlatform {
 
     /**
      * API for notifying only specific clients that resource's attributes have changed.
+     * <p>
+     * Note: This API is for server side only.
+     * </p>
      *
      * @param ocResourceHandle    resource handle of the resource
      * @param ocObservationIdList These set of ids are ones which which will be notified upon
      *                            resource change.
      * @param ocResourceResponse  OcResourceResponse object used by app to fill the response for
      *                            this resource change
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void notifyListOfObservers(
             OcResourceHandle ocResourceHandle,
@@ -173,6 +187,9 @@ public final class OcPlatform {
 
     /**
      * API for notifying only specific clients that resource's attributes have changed.
+     * <p>
+     * Note: This API is for server side only.
+     * </p>
      *
      * @param ocResourceHandle    resource handle of the resource
      * @param ocObservationIdList These set of ids are ones which which will be notified upon
@@ -180,7 +197,7 @@ public final class OcPlatform {
      * @param ocResourceResponse  OcResourceResponse object used by app to fill the response for
      *                            this resource change
      * @param qualityOfService    the quality of communication
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void notifyListOfObservers(
             OcResourceHandle ocResourceHandle,
@@ -211,16 +228,18 @@ public final class OcPlatform {
             int qualityOfService) throws OcException;
 
     /**
-     * API for Service and Resource Discovery. NOTE: This API applies to client side only
+     * API for Service and Resource Discovery
+     * <p>
+     * Note: This API is for client side only.
+     * </p>
      *
-     * @param host                    Host IP Address of a service to direct resource discovery query.
+     * @param host                    Host Address of a service to direct resource discovery query.
      *                                If empty, performs multicast resource discovery query
      * @param resourceUri             name of the resource. If null or empty, performs search for all
      *                                resource names
-     * @param connectivityType        a type of connectivity indicating the interface. Example: IPV4,
-     *                                IPV6, ALL
+     * @param connectivityTypeSet     Set of types of connectivity. Example: IP
      * @param onResourceFoundListener Handles events, success states and failure states.
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void findResource(
             String host,
@@ -251,17 +270,19 @@ public final class OcPlatform {
             OnResourceFoundListener onResourceFoundListener) throws OcException;
 
     /**
-     * API for Service and Resource Discovery. NOTE: This API applies to client side only
+     * API for Service and Resource Discovery.
+     * <p>
+     * Note: This API is for client side only.
+     * </p>
      *
      * @param host                    Host IP Address of a service to direct resource discovery query.
      *                                If empty, performs multicast resource discovery query
      * @param resourceUri             name of the resource. If null or empty, performs search for all
      *                                resource names
-     * @param connectivityType        a type of connectivity indicating the interface. Example: IPV4,
-     *                                IPV6, ALL
+     * @param connectivityTypeSet     Set of types of connectivity. Example: IP
      * @param onResourceFoundListener Handles events, success states and failure states.
      * @param qualityOfService        the quality of communication
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void findResource(
             String host,
@@ -298,10 +319,9 @@ public final class OcPlatform {
      *
      * @param host                  Host IP Address. If null or empty, Multicast is performed.
      * @param deviceUri             Uri containing address to the virtual device
-     * @param connectivityType      a type of connectivity indicating the interface. Example: IPV4,
-     *                              IPV6, ALL
+     * @param connectivityTypeSet   Set of types of connectivity. Example: IP
      * @param onDeviceFoundListener Handles events, success states and failure states.
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void getDeviceInfo(
             String host,
@@ -334,11 +354,10 @@ public final class OcPlatform {
      *
      * @param host                  Host IP Address. If null or empty, Multicast is performed.
      * @param deviceUri             Uri containing address to the virtual device
-     * @param connectivityType      a type of connectivity indicating the interface. Example: IPV4,
-     *                              IPV6, ALL
+     * @param connectivityTypeSet   Set of types of connectivity. Example: IP
      * @param onDeviceFoundListener Handles events, success states and failure states.
      * @param qualityOfService      the quality of communication
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void getDeviceInfo(
             String host,
@@ -374,10 +393,9 @@ public final class OcPlatform {
      *
      * @param host                    Host IP Address. If null or empty, Multicast is performed.
      * @param platformUri             Uri containing address to the platform
-     * @param connectivityType        a type of connectivity indicating the interface. Example: IPV4,
-     *                                IPV6, ALL
+     * @param connectivityTypeSet     Set of types of connectivity. Example: IP
      * @param onPlatformFoundListener Handles events, success states and failure states.
-     * @throws OcException
+     * @throws OcException if failure
      */
 
     public static void getPlatformInfo(
@@ -411,11 +429,10 @@ public final class OcPlatform {
      *
      * @param host                    Host IP Address. If null or empty, Multicast is performed.
      * @param platformUri             Uri containing address to the platform
-     * @param connectivityType        a type of connectivity indicating the interface. Example: IPV4,
-     *                                IPV6, ALL
+     * @param connectivityTypeSet     Set of types of connectivity. Example: IP
      * @param onPlatformFoundListener Handles events, success states and failure states.
      * @param qualityOfService        the quality of communication
-     * @throws OcException
+     * @throws OcException if failure
      */
 
     public static void getPlatformInfo(
@@ -448,11 +465,14 @@ public final class OcPlatform {
             int qualityOfService) throws OcException;
 
     /**
-     * This API registers a resource with the server NOTE: This API applies to server side only.
+     * This API registers a resource with the server
+     * <p/>
+     * Note: This API applies to server & client side.
+     * </P>
      *
      * @param ocResource The instance of OcResource with all data filled
      * @return resource handle
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static OcResourceHandle registerResource(
             OcResource ocResource) throws OcException {
@@ -465,6 +485,9 @@ public final class OcPlatform {
 
     /**
      * This API registers a resource with the server NOTE: This API applies to server side only.
+     * <p/>
+     * Note: This API applies to server side only.
+     * </P>
      *
      * @param resourceUri         The URI of the resource. Example: "a/light"
      * @param resourceTypeName    The resource type. Example: "light"
@@ -472,7 +495,7 @@ public final class OcPlatform {
      * @param entityHandler       entity handler.
      * @param resourcePropertySet indicates the property of the resource
      * @return resource handle
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static OcResourceHandle registerResource(
             String resourceUri,
@@ -489,15 +512,6 @@ public final class OcPlatform {
                 resProperty |= prop.getValue();
         }
 
-        if (null == entityHandler) {
-            entityHandler = new EntityHandler() {
-                @Override
-                public EntityHandlerResult handleEntity(OcResourceRequest ocResourceRequest) {
-                    return EntityHandlerResult.OK;
-                }
-            };
-        }
-
         return OcPlatform.registerResource1(resourceUri,
                 resourceTypeName,
                 resourceInterface,
@@ -516,7 +530,7 @@ public final class OcPlatform {
      * Register Device Info
      *
      * @param ocDeviceInfo object containing all the device specific information
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void registerDeviceInfo(
             OcDeviceInfo ocDeviceInfo) throws OcException {
@@ -534,7 +548,7 @@ public final class OcPlatform {
      * Register Platform Info
      *
      * @param ocPlatformInfo object containing all the platform specific information
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void registerPlatformInfo(
             OcPlatformInfo ocPlatformInfo) throws OcException {
@@ -566,7 +580,7 @@ public final class OcPlatform {
      *
      * @param ocResourceHandle This is the resource handle which we which to unregister from the
      *                         server
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void unregisterResource(
             OcResourceHandle ocResourceHandle) throws OcException {
@@ -583,7 +597,7 @@ public final class OcPlatform {
      *
      * @param ocResourceCollectionHandle handle to the collection resource
      * @param ocResourceHandle           handle to resource to be added to the collection resource
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void bindResource(
             OcResourceHandle ocResourceCollectionHandle,
@@ -602,7 +616,7 @@ public final class OcPlatform {
      * @param ocResourceCollectionHandle handle to the collection resource
      * @param ocResourceHandleList       reference to list of resource handles to be added to the
      *                                   collection resource
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void bindResources(
             OcResourceHandle ocResourceCollectionHandle,
@@ -624,7 +638,7 @@ public final class OcPlatform {
      *
      * @param ocResourceCollectionHandle handle to the collection resource
      * @param ocResourceHandle           resource handle to be unbound from the collection resource
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void unbindResource(
             OcResourceHandle ocResourceCollectionHandle,
@@ -643,7 +657,7 @@ public final class OcPlatform {
      * @param ocResourceCollectionHandle Handle to the collection resource
      * @param ocResourceHandleList       List of resource handles to be unbound from the collection
      *                                   resource
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void unbindResources(
             OcResourceHandle ocResourceCollectionHandle,
@@ -665,7 +679,7 @@ public final class OcPlatform {
      *
      * @param ocResourceHandle handle to the resource
      * @param resourceTypeName new typename to bind to the resource
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void bindTypeToResource(
             OcResourceHandle ocResourceHandle,
@@ -683,7 +697,7 @@ public final class OcPlatform {
      *
      * @param ocResourceHandle      handle to the resource
      * @param resourceInterfaceName new interface to bind to the resource
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void bindInterfaceToResource(
             OcResourceHandle ocResourceHandle,
@@ -700,7 +714,7 @@ public final class OcPlatform {
      * Start Presence announcements.
      *
      * @param ttl time to live in seconds
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void startPresence(int ttl) throws OcException {
         OcPlatform.initCheck();
@@ -712,7 +726,7 @@ public final class OcPlatform {
     /**
      * Stop Presence announcements.
      *
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void stopPresence() throws OcException {
         OcPlatform.initCheck();
@@ -725,13 +739,12 @@ public final class OcPlatform {
      * Subscribes to a server's presence change events. By making this subscription, every time a
      * server adds/removes/alters a resource, starts or is intentionally stopped
      *
-     * @param host               The IP address/addressable name of the server to subscribe to
-     * @param connectivityType   a type of connectivity indicating the interface. Example: IPV4,
-     *                           IPV6, ALL
-     * @param onPresenceListener listener that will receive notifications/subscription events
+     * @param host                The IP address/addressable name of the server to subscribe to
+     * @param connectivityTypeSet Set of types of connectivity. Example: IP
+     * @param onPresenceListener  listener that will receive notifications/subscription events
      * @return a handle object that can be used to identify this subscription request. It can be
      * used to unsubscribe from these events in the future
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static OcPresenceHandle subscribePresence(
             String host,
@@ -760,14 +773,13 @@ public final class OcPlatform {
      * Subscribes to a server's presence change events. By making this subscription, every time a
      * server adds/removes/alters a resource, starts or is intentionally stopped
      *
-     * @param host               The IP address/addressable name of the server to subscribe to
-     * @param resourceType       a resource type specified as a filter for subscription events.
-     * @param connectivityType   a type of connectivity indicating the interface. Example: IPV4,
-     *                           IPV6, ALL
-     * @param onPresenceListener listener that will receive notifications/subscription events
+     * @param host                The IP address/addressable name of the server to subscribe to
+     * @param resourceType        a resource type specified as a filter for subscription events.
+     * @param connectivityTypeSet Set of types of connectivity. Example: IP
+     * @param onPresenceListener  listener that will receive notifications/subscription events
      * @return a handle object that can be used to identify this subscription request. It can be
      * used to unsubscribe from these events in the future
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static OcPresenceHandle subscribePresence(
             String host,
@@ -801,7 +813,7 @@ public final class OcPlatform {
      *
      * @param ocPresenceHandle the handle object provided by the subscribePresence call that
      *                         identifies this subscription
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void unsubscribePresence(
             OcPresenceHandle ocPresenceHandle) throws OcException {
@@ -820,18 +832,17 @@ public final class OcPlatform {
      * Additionally, you can only create this object if OcPlatform was initialized to be a Client
      * or Client/Server.
      *
-     * @param host             a string containing a resolvable host address of the server holding
-     *                         the resource
-     * @param uri              the rest of the resource's URI that will permit messages to be
-     *                         properly routed.
-     *                         Example: /a/light
-     * @param connectivityType a type of connectivity indicating the interface. Example: IPV4,
-     *                         IPV6, ALL
-     * @param isObservable     a boolean containing whether the resource supports observation
-     * @param resourceTypeList a collection of resource types implemented by the resource
-     * @param interfaceList    a collection of interfaces that the resource supports/implements
+     * @param host                a string containing a resolvable host address of the server holding
+     *                            the resource
+     * @param uri                 the rest of the resource's URI that will permit messages to be
+     *                            properly routed.
+     *                            Example: /a/light
+     * @param connectivityTypeSet Set of types of connectivity. Example: IP
+     * @param isObservable        a boolean containing whether the resource supports observation
+     * @param resourceTypeList    a collection of resource types implemented by the resource
+     * @param interfaceList       a collection of interfaces that the resource supports/implements
      * @return new resource object
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static OcResource constructResourceObject(
             String host,
@@ -869,7 +880,7 @@ public final class OcPlatform {
      * Allows application entity handler to send response to an incoming request.
      *
      * @param ocResourceResponse resource response
-     * @throws OcException
+     * @throws OcException if failure
      */
     public static void sendResponse(OcResourceResponse ocResourceResponse)
             throws OcException {
@@ -926,4 +937,14 @@ public final class OcPlatform {
                     "OcPlatform.Configure before any other API calls are permitted");
         }
     }
+
+    /**
+     * Gets platform quality of service
+     *
+     * @return quality of service
+     */
+    public static QualityOfService getPlatformQualityOfService() {
+        OcPlatform.initCheck();
+        return sPlatformQualityOfService;
+    }
 }