/* --------------------------------------------------------------------------------------
* For Responses
* -------------------------------------------------------------------------------------*/
+
+ /**
+ * @brief Definition for service 'enabled' response.
+ * @since_tizen 4.0
+ */
+typedef struct {
+ int result; /**< Result */
+ char enabled; /**< Enabled / Disabled result */
+} ZigbeeServiceServiceState_t;
+
/**
* @brief Definition for get network info structure.
* @since_tizen 3.0
*/
typedef struct {
+ int result; /**< Result */
char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
short node_id; /**< Node ID (an Network address) */
short pan_id; /**< PAN ID (an Network address) */
char radio_tx_power; /**< Power (dBm) */
} ZigbeeServiceGetNetworkInfo_t;
-/* --------------------------------------------------------------------------------------
- * For Notifications
- * -------------------------------------------------------------------------------------*/
-
/**
- * @brief Definition for service 'enabled' response.
+ * @brief Definition for service 'get_node_type' response.
* @since_tizen 4.0
*/
typedef struct {
- char enabled; /**< Enabled / Disabled result */
-} ZigbeeServiceServiceState_t;
+ int result; /**< Result */
+ char node_type; /**< Node Type */
+} ZigbeeServiceServiceNodeType_t;
+
+/* --------------------------------------------------------------------------------------
+ * For Notifications
+ * -------------------------------------------------------------------------------------*/
/**
* @brief Definition for service 'form_network_done' response.
} ZigbeeServiceServiceFormNetworkDone_t;
/**
- * @brief Definition for service 'child_rejoind' response.
+ * @brief Definition for service 'child_rejoined' response.
* @since_tizen 4.0
*/
typedef struct {
} ZigbeeServiceServiceChildRejoined_t;
/**
- * @brief Definition for service 'child_reft' response.
+ * @brief Definition for service 'child_left' response.
* @since_tizen 4.0
*/
typedef struct {
short pan_id; /**< PAN ID */
} ZigbeeServiceServiceLeaveNetworkDone_t;
-/**
- * @brief Definition for service 'get_node_type' response.
- * @since_tizen 4.0
- */
-typedef struct {
- char node_type; /**< Node Type */
-} ZigbeeServiceServiceNodeType_t;
-
-
#endif /* __ZIGBEE_SERVICE_TYPE_H__ */
*/
#define ZIGBEE_ZDO_BIND_ADDRESS_MAX_LEN 8
+ /* --------------------------------------------------------------------------------------
+ * For Responses
+ * -------------------------------------------------------------------------------------*/
+
+ /**
+ * @brief Definition for general response.
+ * @since_tizen 4.0
+ */
+typedef struct {
+ int result; /**< Result */
+} ZigbeeGeneralResp_t;
+
#endif /* __ZIGBEE_TYPES_H__ */
<arg type='y' name='zcl_frame_ctrl' direction='in'/>
<arg type='q' name='mfg_code' direction='in'/>
<arg type='ay' name='payload' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='zcl_send'>
<arg type='q' name='node_id' direction='in'/>
</method>
<method name='send_to_local'>
<arg type='ay' name='data' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='aps_send_rsp'>
<method name='start'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='b' name='mfglib_start' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='end'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='start_tone'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='stop_tone'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='start_stream'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='stop_stream'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='send_packet'>
<arg type='ay' name='packetContents' direction='in'/>
<arg type='i' name='packetLength' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='set_channel'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='channel' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_channel'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='set_power'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='q' name='txPowerMode' direction='in'/>
<arg type='n' name='power' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_power'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='set_synoffset'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='testChannel' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_synoffset'>
<arg type='ay' name='pkt' direction='in'/>
<arg type='i' name='pktLength' direction='in'/>
<arg type='y' name='linkQuality' direction='in'/>
<arg type='y' name='rssi' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='rx_start'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='rx_stop'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='rx_verify'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
<arg type='q' name='cntGoodFrame' direction='out'/>
</method>
<method name='get_rssi'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
<arg type='s' name='rssi' direction='out'/>
</method>
<interface name='org.tizen.zigbee.service'>
<method name='enable'>
<arg type='b' name='enabled' direction='out'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='disable'>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='zb_hw_reset'>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='form_network'>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='coex_start'>
<arg type='y' name='channel' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='coex_stop'>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='leave_network'>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_network_info'>
+ <arg type='i' name='result' direction='out'/>
<arg type='ay' name='macAddress' direction='out'/>
<arg type='q' name='nodeId' direction='out'/>
<arg type='q' name='panId' direction='out'/>
<method name='permit_join'>
<arg type='i' name='duration' direction='in'/>
<arg type='b' name='permitJoin' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='leave_request'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='remove_child' direction='in'/>
<arg type='y' name='rejoin' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_device_list'>
+ <arg type='i' name='result' direction='out'/>
<arg type='a(ay)' name='device_list' direction='out'/>
</method>
<method name='get_mac'>
+ <arg type='i' name='result' direction='out'/>
<arg type='ay' name='mac_addr' direction='out'/>
</method>
<method name='get_device_info'>
+ <arg type='i' name='result' direction='out'/>
<arg type='a(qyayyay)' name='device_list' direction='out'/>
</method>
<method name='get_endpoint_list'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
<arg type='ay' name='endpoint_list' direction='out'/>
</method>
<method name='get_cluster_list'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
<arg type='aq' name='cluster_list' direction='out'/>
</method>
<method name='get_node_type'>
<arg type='ay' name='eui64' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
<arg type='y' name='node_type' direction='out'/>
</method>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='alarmcode' direction='in'/>
<arg type='q' name='cluster_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='reset_all_alarm'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='alarm'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='alarmcode' direction='in'/>
<arg type='y' name='cluster_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='reset_alarm_log'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_alarm'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='alarm_count'>
<method name='reset_factory_default'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
</interface>
</node>
<arg type='y' name='hue' direction='in'/>
<arg type='y' name='direction' direction='in'/>
<arg type='q' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_hue'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='move_mode' direction='in'/>
<arg type='y' name='rate' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='step_hue'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='step_mode' direction='in'/>
<arg type='y' name='step_size' direction='in'/>
<arg type='y' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_to_saturation'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='saturation' direction='in'/>
<arg type='q' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_saturation'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='move_mode' direction='in'/>
<arg type='y' name='rate' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='step_saturation'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='step_mode' direction='in'/>
<arg type='y' name='step_size' direction='in'/>
<arg type='y' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_to_hue_and_saturation'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='hue' direction='in'/>
<arg type='y' name='saturation' direction='in'/>
<arg type='q' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_to_color'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='q' name='color_x' direction='in'/>
<arg type='q' name='color_y' direction='in'/>
<arg type='q' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_color'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='q' name='rate_x' direction='in'/>
<arg type='q' name='rate_y' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='step_color'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='q' name='rate_x' direction='in'/>
<arg type='q' name='rate_y' direction='in'/>
<arg type='q' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_color_temperature'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='q' name='color_temperature' direction='in'/>
<arg type='q' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
</interface>
</node>
<arg type='y' name='endpoint' direction='in'/>
<arg type='s' name='pin' direction='in'/>
<arg type='i' name='lock_unlock_type' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_lock_state'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='lock_state'>
<method name='set_fan_mode'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_fan_mode'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='set_fan_mode_sequence'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_fan_mode_sequence'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='fan_mode_level'>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
<arg type='ay' name='group_name' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='view_group'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_group_membership'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='y' name='group_count' direction='in'/>
<arg type='aq' name='group_list' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='remove_group'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='remove_all_group'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='i' name='result' direction='out'/>
+ <arg type='y' name='status' direction='out'/>
</method>
<method name='add_group_if_identifying'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
<arg type='ay' name='group_name' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='add_group_rsp'>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='level' direction='in'/>
<arg type='q' name='transition' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='move_mode' direction='in'/>
<arg type='y' name='rate' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='step'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='step_mode' direction='in'/>
<arg type='y' name='move_mode' direction='in'/>
<arg type='q' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_to_level_with_on_off'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='level' direction='in'/>
<arg type='q' name='transition' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='move_with_on_off'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='move_mode' direction='in'/>
<arg type='y' name='rate' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='step_with_on_off'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='step_mode' direction='in'/>
<arg type='y' name='move_mode' direction='in'/>
<arg type='q' name='transition_time' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='stop'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='current_level'>
<arg type='q' name='node_id' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='on_off_type' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_on_off_state'>
<arg type='q' name='node_id' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='on_off_state'>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='y' name='start_fast_polling' direction='in'/>
<arg type='q' name='fast_poll_timeout' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='fast_poll_stop'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='set_long_poll_interval'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='u' name='new_long_poll_interval' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='set_short_poll_interval'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='u' name='new_short_poll_interval' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='checkin_response'>
<arg type='q' name='extLen' direction='in'/>
<arg type='ay' name='sceneName' direction='in'/>
<arg type='ay' name='extFieldSet' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='view_scene'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
<arg type='y' name='scene_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='remove_scene'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
<arg type='y' name='scene_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='store_scene'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
<arg type='y' name='scene_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='recall_scene'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
<arg type='y' name='scene_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='remove_all_scene'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_scene_membership'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
<arg type='q' name='group_id' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='add_scene_rsp'>
<method name='get_local_temp'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='get_weekly_schedule'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='no_of_days' direction='in'/>
<arg type='y' name='mode' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='set_weekly_schedule'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='mode' direction='in'/>
<arg type='ay' name='payload' direction='in'/>
<arg type='y' name='payload_len' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='clear_weekly_schedule'>
<arg type='ay' name='eui64' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='setpoint_raise_lower'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
<arg type='y' name='mode' direction='in'/>
<arg type='y' name='amount' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='local_temp'>
<arg type='y' name='bind_type' direction='in'/>
<arg type='q' name='group_addr' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='unbind_req'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='bind_type' direction='in'/>
<arg type='q' name='group_addr' direction='in'/>
<arg type='y' name='dst_ep' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='binding_rsp'>
<arg type='ay' name='EUI64' direction='in'/>
<arg type='y' name='requestType' direction='in'/>
<arg type='y' name='start_index' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='matched_descriptor_req'>
<arg type='q' name='NodeId' direction='in'/>
<arg type='aq' name='in_cl' direction='in'/>
<arg type='y' name='num_out_cl' direction='in'/>
<arg type='aq' name='out_cl' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='ieee_addr_req'>
<arg type='q' name='nodeId' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='active_ep_req'>
<arg type='q' name='nodeId' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='node_desc_req'>
<arg type='q' name='nodeId' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='power_desc_req'>
<arg type='q' name='nodeId' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='complex_desc_req'>
<arg type='q' name='nodeId' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='user_desc_req'>
<arg type='q' name='nodeId' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='user_desc_set_req'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='length' direction='in'/>
<arg type='ay' name='user_desc' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='device_announce'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='ay' name='mac_addr' direction='in'/>
<arg type='y' name='capability' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='simple_desc_req'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='endpoint' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='mgmt_lqi_req'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='start_idx' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='mgmt_rtg_req'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='start_idx' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='mgmt_bind_req'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='start_idx' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='mgmt_permit_join_req'>
<arg type='q' name='addr16' direction='in'/>
<arg type='y' name='duration' direction='in'/>
<arg type='y' name='tc_significance' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='nwk_update_req'>
<arg type='q' name='nodeId' direction='in'/>
<arg type='y' name='scan_duration' direction='in'/>
<arg type='y' name='scan_count' direction='in'/>
<arg type='y' name='nwkUpdateId' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<method name='nwk_disc_req'>
<arg type='q' name='nwkaddr' direction='in'/>
<arg type='y' name='scan_duration' direction='in'/>
<arg type='q' name='scan_count' direction='in'/>
<arg type='y' name='start_idx' direction='in'/>
+ <arg type='i' name='result' direction='out'/>
</method>
<signal name='nwk_addr_rsp'>
static void *_service_interface_ref_zigbee_service(ZigBeeServiceInterface *service_interface)
{
- ZigbeeObjectSkeleton *zigbee_object;
+ ZigbeeObjectSkeleton *zigbee_object = NULL;
ZigbeeCustomData_t *custom_data = NULL;
ZigbeeService *service = NULL;
/* Get zigbee object */
zigbee_object = g_hash_table_lookup(custom_data->objects, ZIGBEE_SERVICE_PATH);
- if (zigbee_object) {
+ if (NULL == zigbee_object) {
Z_LOGW("Cannot find ZigBee D-BUS interface object!", zigbee_object);
return NULL;
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeServiceServiceState_t *payload =
+ (ZigbeeServiceServiceState_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_enable(service_object, invocation, TRUE);
+ zigbee_service_complete_enable(service_object, invocation,
+ payload->result, payload->enabled);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeGeneralResp_t *payload = (ZigbeeGeneralResp_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_disable(service_object, invocation);
+ zigbee_service_complete_disable(service_object, invocation, payload->result);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeGeneralResp_t *payload = (ZigbeeGeneralResp_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_zb_hw_reset(service_object, invocation);
+ zigbee_service_complete_zb_hw_reset(service_object, invocation, payload->result);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeGeneralResp_t *payload = (ZigbeeGeneralResp_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_form_network(service_object, invocation);
+ zigbee_service_complete_form_network(service_object, invocation, payload->result);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeGeneralResp_t *payload = (ZigbeeGeneralResp_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_coex_start(service_object, invocation);
+ zigbee_service_complete_coex_start(service_object, invocation, payload->result);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeGeneralResp_t *payload = (ZigbeeGeneralResp_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_coex_stop(service_object, invocation);
+ zigbee_service_complete_coex_stop(service_object, invocation, payload->result);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeGeneralResp_t *payload = (ZigbeeGeneralResp_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_leave_network(service_object, invocation);
+ zigbee_service_complete_leave_network(service_object, invocation, payload->result);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
- ZigbeeServiceGetNetworkInfo_t payload;
+ ZigbeeServiceGetNetworkInfo_t *payload =
+ (ZigbeeServiceGetNetworkInfo_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- memcpy(&payload, resp_data, resp_data_len);
zigbee_service_complete_get_network_info(service_object, invocation,
- payload.eui64, payload.node_id, payload.pan_id, payload.channel,
- payload.radio_tx_power);
+ payload->result, payload->eui64, payload->node_id,
+ payload->pan_id, payload->channel, payload->radio_tx_power);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeGeneralResp_t *payload = (ZigbeeGeneralResp_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_permit_join(service_object, invocation);
+ zigbee_service_complete_permit_join(service_object, invocation, payload->result);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
+ ZigbeeGeneralResp_t *payload = (ZigbeeGeneralResp_t*)resp_data;
NOT_USED(service_interface);
NOT_USED(request_id);
- NOT_USED(resp_data);
- NOT_USED(resp_data_len);
+
+ if (NULL == resp_data || 0 == resp_data_len) {
+ Z_LOGE("resp_data is null");
+ return;
+ }
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_leave_request(service_object, invocation);
+ zigbee_service_complete_leave_request(service_object, invocation, payload->result);
g_free(cb_data);
}
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_get_device_list(service_object, invocation, resp_data);
+ /* To-To : zigbee_service_complete_get_device_list */
+ //zigbee_service_complete_get_device_list(service_object, invocation, resp_data);
g_free(cb_data);
}
zblib_check_null_ret("invocation", invocation);
/* Todo : plugin must load resp_data as char pointer */
- zigbee_service_complete_get_mac(service_object, invocation, resp_data);
+ //zigbee_service_complete_get_mac(service_object, invocation, resp_data);
g_free(cb_data);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_get_device_info(service_object, invocation, resp_data);
+ /* To-Do : zigbee_service_complete_get_device_list */
+ //zigbee_service_complete_get_device_info(service_object, invocation, resp_data);
g_free(cb_data);
}
zblib_check_null_ret("invocation", invocation);
/* To fix : end-points must be changed gchar* -> GVariant ay */
- zigbee_service_complete_get_endpoint_list(service_object, invocation, resp_data);
+ //zigbee_service_complete_get_endpoint_list(service_object, invocation, resp_data);
g_free(cb_data);
}
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_get_cluster_list(service_object, invocation, resp_data);
+ /* To-Do : zigbee_service_complete_get_cluster_list */
+ //zigbee_service_complete_get_cluster_list(service_object, invocation, resp_data);
g_free(cb_data);
}
ZigbeeService *service_object;
GDBusMethodInvocation *invocation;
- ZigbeeServiceServiceNodeType_t payload;
+ ZigbeeServiceServiceNodeType_t *payload =
+ (ZigbeeServiceServiceNodeType_t *)resp_data;
NOT_USED(cb_data);
NOT_USED(service_interface);
return;
}
- memcpy(&payload, resp_data, resp_data_len);
-
service_object = zigbee_service_dbus_interface_ref_interface_object(cb_data);
zblib_check_null_ret("service_object", service_object);
invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
zblib_check_null_ret("invocation", invocation);
- zigbee_service_complete_get_node_type(service_object, invocation, payload.node_type);
+ zigbee_service_complete_get_node_type(service_object, invocation,
+ payload->result, payload->node_type);
g_free(cb_data);
}
switch(noti_id) {
case ZBLIB_SERVICE_NOTI_FORM_NETWORK_DONE: {
- ZigbeeServiceServiceFormNetworkDone_t panid_t;
- memcpy(&panid_t, noti_data, noti_data_len);
- zigbee_service_emit_form_network_done(service_object, panid_t.pan_id);
+ ZigbeeServiceServiceFormNetworkDone_t *panid_t =
+ (ZigbeeServiceServiceFormNetworkDone_t*)noti_data;
+
+ Z_LOGD("form_network_done : [0x%X]", panid_t->pan_id);
+
+ zigbee_service_emit_form_network_done(service_object, panid_t->pan_id);
}
break;
case ZBLIB_SERVICE_NOTI_CHILD_JOINED: {
/**< ZigBee 'service' notification IDs */
typedef enum {
- ZBLIB_SERVICE_NOTI_FORM_NETWORK_DONE, /**< Form network done */
+ ZBLIB_SERVICE_NOTI_FORM_NETWORK_DONE = 1, /**< Form network done */
ZBLIB_SERVICE_NOTI_CHILD_JOINED, /**< Child is joined */
ZBLIB_SERVICE_NOTI_CHILD_REJOINED, /**< Child is rejoined */
ZBLIB_SERVICE_NOTI_CHILD_LEFT, /**< Child left */