Use `URI` all caps in documentation
[iotivity.git] / resource / csdk / stack / include / internal / occollection.h
1 //******************************************************************
2 //
3 // Copyright 2014 Intel Mobile Communications GmbH 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
21 #ifndef OC_COLLECTION_H
22 #define OC_COLLECTION_H
23
24 #include "ocstack.h"
25 #include "ocresourcehandler.h"
26
27 uint8_t GetNumOfResourcesInCollection(const OCResource *resource);
28
29 OCStackResult DefaultCollectionEntityHandler (OCEntityHandlerFlag flag,
30                                               OCEntityHandlerRequest *entityHandlerRequest);
31
32 /**
33  * This function creates the RepPayloadArray for links parameter of collection resource.
34  * @param[in] resourceUri Resource URI (this should be a collection resource)
35  * @param[in] devAddr Structure pointing to the address. (from OCEntityHandlerRequest)
36  * @param[in] isOCFVer true if AcceptedVersion is OCF1.0 or higher
37  *            otherwise false in case OIC1.1 (from OCEntityHandlerRequest)
38  * @param[in] insertSelfLink true if links array must contain a self link
39  * @param[out] createdArraySize return value array size, Null is allowed if no need to know size
40  * @note: The destroy of OCRepPayloadValue is not supported. Instead, use
41  *        OCRepPayloadDestroy(...) to destroy RepPayload of the collection Resource
42  *
43  * @return linksRepPayloadArray The *RepPayload Array pointer for links parameter of collection
44  * @see OCLinksPayloadArrayCreate API doxygen for API usage
45  */
46 OCRepPayload** BuildCollectionLinksPayloadArray(const char* resourceUri,
47                     bool isOCFContentFormat, OCDevAddr* devAddr, bool insertSelfLink,
48                     size_t* createdArraySize);
49
50 #endif //OC_COLLECTION_H