3 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * Licensed under the Apache License, Version 2.0 (the License);
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 #ifndef DEVICE_MANAGER_INTERFACE_H_
19 #define DEVICE_MANAGER_INTERFACE_H_
21 #include "device-manager/mdm_control_code.h"
22 #include "device-manager/mdm_error.h"
23 #include "device-manager/mdm_type.h"
27 #endif /* __cplusplus */
30 * @file device_manager_interface.h
31 * @brief Defines plug-in interfaces about device manager
34 /** @addtogroup plugin_devicemanager DeviceManager Domain
40 * API to register client to the service
42 * @param[in] pkg_name client package name
44 * @return SYNC_AGENT_DM_MDM_SUCCEEDED on success, otherwise error
49 * @see sync_agent_start_mdm_service(int, char *)
52 sync_agent_dm_mdm_return_e sync_agent_plugin_start_service(char *pkg_name);
55 * API to deregister client to the service
56 * @remarks client should be called sync_agent_plugin_start_service() and returned SYNC_AGENT_DM_MDM_SUCCEEDED
58 * @param[in] pkg_name client package name
60 * @return SYNC_AGENT_DM_MDM_SUCCEEDED on success, otherwise error
65 * @see sync_agent_stop_mdm_service(int, char *)
68 sync_agent_dm_mdm_return_e sync_agent_plugin_stop_service(char *pkg_name);
71 * API to set user value to the service
73 * @param[in] ctrl item that user want to set
74 * @param[in] va user value
76 * @return SYNC_AGENT_DM_MDM_SUCCEEDED on success, otherwise error
81 * @see sync_agent_set_mdm_value(int, sync_agent_dm_mdm_ctrl_e, ...)
84 sync_agent_dm_mdm_return_e sync_agent_plugin_set_device_manager_value(sync_agent_dm_mdm_ctrl_e ctrl, va_list va);
87 * API to get value that user want to know
89 * @param[in] ctrl item that user want to know
90 * @param[in] va as returned by sync_agent_plugin_get_device_manager_value() - service value
92 * @return SYNC_AGENT_DM_MDM_SUCCEEDED on success, otherwise error
97 * @see sync_agent_get_mdm_value(int, sync_agent_dm_mdm_ctrl_e, ...)
100 sync_agent_dm_mdm_return_e sync_agent_plugin_get_device_manager_value(sync_agent_dm_mdm_ctrl_e ctrl, va_list va);
103 * API to execute service that user want to do
105 * @param[in] ctrl item that user want to execute
106 * @param[in] va user value
108 * @return SYNC_AGENT_DM_MDM_SUCCEEDED on success, otherwise error
113 * @see sync_agent_execute_mdm(int, sync_agent_dm_mdm_ctrl_e, ...)
116 sync_agent_dm_mdm_return_e sync_agent_plugin_execute_device_manager(sync_agent_dm_mdm_ctrl_e ctrl, va_list va);
119 * API to register user callback function for each service event
120 * @remarks not supported api
122 * @param[in] event service event
123 * @param[in] callback user callback function
124 * @param[in] userdata additional user data
126 * @return SYNC_AGENT_DM_MDM_SUCCEEDED on success, otherwise error
131 * @see dm_register_mdm_callback(int, sync_agent_dm_mdm_event_e, sync_agent_device_manager_cb, void *)
134 int sync_agent_plugin_register_device_manager_cb(sync_agent_dm_mdm_event_e event, sync_agent_device_manager_cb callback, void *userdata);
137 * API to deregister user callback function that was previously registered to the service
138 * @remarks not supported api
142 * @return SYNC_AGENT_DM_MDM_SUCCEEDED on success, otherwise error
147 * @see dm_register_deregister_mdm_callback(int, int)
150 sync_agent_dm_mdm_return_e sync_agent_plugin_deregister_device_manager_cb(int handle);
158 #endif /* __cplusplus */
159 #endif /* DEVICE_MANAGER_INTERFACE_H_ */