1 /* *****************************************************************
3 * Copyright 2015 Samsung Electronics All Rights Reserved.
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 * *****************************************************************/
21 #ifndef OC_PROVISIONING_TYPES_H
22 #define OC_PROVISIONING_TYPES_H
25 #include "securevirtualresourcetypes.h"
32 * Device Information of discoverd unowned/owned device(s) for provisioning.
34 typedef struct OCProvisionDev
36 OCDevAddr endpoint; /**< target address **/
37 OicSecPstat_t *pstat; /**< Pointer to target's pstat resource. **/
38 OicSecDoxm_t *doxm; /**< Pointer to target's doxm resource. **/
39 OCConnectivityType connType; /**< Connectivity type of endpoint */
40 uint16_t securePort; /**< secure port **/
41 struct OCProvisionDev *next; /**< Next pointer. **/
45 * Result information for each target device.
47 typedef struct OCPMResult{
53 * Callback function definition of provisioning API
55 * @param[OUT] ctx - If user set his/her context, it will be returned here.
56 * @param[OUT] nOfRes - total number of results, it depends on using which provisioning API.
57 * @param[OUT] arr - Array of OCPMResult_t, each OCPMResult_t contains result for target Device.
58 * @param[OUT} hasError - If there is no error, it's returned with 'false' but if there is a single
59 * or more error is/are occured during operation, it will be 'true'.
61 typedef void (*OCProvisionResultCB)(void* ctx, int nOfRes, OCProvisionResult_t *arr, bool hasError);
67 #endif //OC_PROVISIONING_TYPES_H