2 * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 #ifndef __IOT_CONNECTIVITY_MANAGER_DAEMON_IOTIVITY_H__
17 #define __IOT_CONNECTIVITY_MANAGER_DAEMON_IOTIVITY_H__
25 #define ICD_IOTY_COAP "coap://"
26 #define ICD_IOTY_COAPS "coaps://"
34 void icd_ioty_csdk_lock();
36 void icd_ioty_csdk_unlock();
38 GThread* icd_ioty_init(const char *addr, unsigned short port);
40 void icd_ioty_deinit();
42 void* icd_ioty_register_resource(const char *uri_path, const char* const* res_types,
43 int ifaces, uint8_t properties);
45 int icd_ioty_unregister_resource(void *resource_handle);
47 int icd_ioty_bind_interface(void *resource_handle, iotcon_interface_e iface);
49 int icd_ioty_bind_type(void *resource_handle, const char *resource_type);
51 int icd_ioty_bind_resource(void *parent, void *child);
53 int icd_ioty_unbind_resource(void *parent, void *child);
55 int icd_ioty_notify_list_of_observers(void *handle, GVariant *msg, GVariant *observers);
57 int icd_ioty_notify_all(void *handle);
59 int icd_ioty_send_response(GVariant *resp);
61 int icd_ioty_find_resource(const char *host_address, const char *resource_type,
62 unsigned int signal_number, const char *sender);
64 int icd_ioty_get(GVariant *resource, GVariant *query, unsigned int signal_number,
67 int icd_ioty_put(GVariant *resource, const char *repr, GVariant *query,
68 unsigned int signal_number, const char *sender);
70 int icd_ioty_post(GVariant *resource, const char *repr, GVariant *query,
71 unsigned int signal_number, const char *sender);
73 int icd_ioty_delete(GVariant *resource, unsigned int signal_number, const char *sender);
75 int icd_ioty_observer_start(GVariant *resource, int observe_type, GVariant *query,
76 unsigned int signal_number, const char *sender, int *observe_h);
78 int icd_ioty_observer_stop(void *observe_h);
80 #ifdef DEVICE_INFO_IMPL /* not implemented in iotivity 0.9.1 */
81 int icd_ioty_register_device_info(GVariant *value);
83 int icd_ioty_get_device_info(const char *host_address, unsigned int signal_number,
87 int icd_ioty_register_platform_info(GVariant *value);
89 int icd_ioty_get_platform_info(const char *host_address, unsigned int signal_number,
92 void* icd_ioty_subscribe_presence(const char *host_address, const char *resource_type,
93 unsigned int signal_number, const char *sender);
95 int icd_ioty_unsubscribe_presence(void *presence_handle);
97 int icd_ioty_start_presence(unsigned int time_to_live);
99 int icd_ioty_stop_presence();
101 #endif /*__IOT_CONNECTIVITY_MANAGER_DAEMON_IOTIVITY_H__*/