client: Support user data for AMB_PROPERTY_CHANGED_CALLBACK
[profile/ivi/automotive-message-broker.git] / lib / client / libamb-client.h
index 6f123c5..4e7624c 100644 (file)
@@ -49,10 +49,11 @@ typedef int ZoneType;
  *
  * @param[in] registered object name
  * @param[in] changed status
+ * @param[in] registered user data
  *
  * @see amb_unregister_property_changed_handler(), amb_unregister_property_changed_handler()
  */
-typedef void (*AMB_PROPERTY_CHANGED_CALLBACK)(const gchar *objname, gpointer data);
+typedef void (*AMB_PROPERTY_CHANGED_CALLBACK)(const gchar *objname, gpointer data, void *user_data);
 
 /**
  * primitive APIs
@@ -115,23 +116,28 @@ void amb_release_property_all_with_zone(GVariant *proplist);
  * @param[in] zone number to be set
  * @param[in] Callback function when the properties of monitored object
  * are changed.
+ * @param[in] User data for registered callback function
+ * @param[out] Registered ID to be used for unregister this handler
  * @return 0 on success, negative errno value on error
  *
  * @see amb_unregister_property_changed_handler(), AMB_PROPERTY_CHANGED_CALLBACK */
 int amb_register_property_changed_handler(gchar *objname,
                                        ZoneType zone,
-                                       AMB_PROPERTY_CHANGED_CALLBACK callback);
+                                       AMB_PROPERTY_CHANGED_CALLBACK callback,
+                                       void *user_data,
+                                       guint32 *id);
 
 /**
  * Unregister property changed handler.
  *
  * @param[in] Object name to be monitored
  * @param[in] zone number to be set
+ * @param[in] Registered ID
  * @return 0 on success, negative errno value on error
  *
  * @see amb_register_property_changed_handler(), AMB_PROPERTY_CHANGED_CALLBACK
  */
-int amb_unregister_property_changed_handler(gchar *objname, ZoneType zone);
+int amb_unregister_property_changed_handler(gchar *objname, ZoneType zone, guint32 id);
 
 /**
  * higher APIs