#include "utils/ui-utils.h"
#include "view/tbt-d2d-view.h"
#include "view/tbt-common-view.h"
-
+#include <json-glib/json-glib.h>
#include <d2d_conv_manager.h>
struct _d2d_view
Evas_Object *server_list;
Evas_Object *client_msg_list;
conv_h gl_conv_h;
- conv_device_h selected_device;
+ GList *devices_list;
};
+typedef struct _device_data{
+ d2d_view *this;
+ conv_device_h selected_device;
+}device_data;
+
typedef struct _service_data{
d2d_view *view;
conv_service_h service_handle;
int ret = conv_create(&this->gl_conv_h);
RETM_IF(ret != CONV_ERROR_NONE, "conv_create failed with error : %s", get_d2d_error(ret));
- ret = conv_discovery_start(this->gl_conv_h, 30, discovery_cb, this);/*Timeout 30 seconds*/
+ ret = conv_discovery_start(this->gl_conv_h, 90, discovery_cb, this);/*Timeout 90 seconds*/
RETM_IF(ret != CONV_ERROR_NONE, "conv_discovery_start failed with error : %s", get_d2d_error(ret));
}
static void device_selected_cb(void *data, Evas_Object *obj, void *event_info)
{
- d2d_view* this = (d2d_view*) data;
+ device_data* new_device_data = (device_data*) data;
+ d2d_view* this = new_device_data->this;
+ char* device_name;
+ conv_device_get_property_string(new_device_data->selected_device, CONV_DEVICE_NAME, &device_name);
+ DBG("%s is the device name inside device_selected_cb.", device_name );
elm_list_clear(this->server_list);
conv_device_h clone_device;
- int ret = conv_device_clone(this->selected_device, &clone_device);
+ int ret = conv_device_clone(new_device_data->selected_device, &clone_device);
RETM_IF(ret != CONV_ERROR_NONE, "conv_device_clone failed with error : %s", get_d2d_error(ret));
ret = conv_device_foreach_service(clone_device, service_foreach_cb, this);
DBG("conv_device_get_property_string failed with error : %s", get_d2d_error(ret));
DBG( "device TYPE = %s", value);
- this->selected_device = device;
+// this->selected_device = device;
+
if( device_name!=NULL)
{
- elm_list_item_append(found_device_list, device_name, NULL, NULL, device_selected_cb, this);
+ //FIX_ME
+ device_data *new_device_data = (device_data*) malloc(sizeof(device_data));
+ new_device_data->this = this;
+ new_device_data->selected_device = device;
+ this->devices_list = g_list_append(this->devices_list, (gpointer) new_device_data);
+ elm_list_item_append(found_device_list, device_name, NULL, NULL, device_selected_cb, new_device_data);
elm_list_go(found_device_list);
elm_object_part_content_set(this->view->layout, "list_container", found_device_list);
view = (d2d_view*)this;
RETM_IF(NULL == view, "view is NULL");
- conv_device_destroy(view->selected_device);
+ GList *l;
+ device_data *d;
+ for(l = view->devices_list; l != NULL; l = l->next)
+ {
+ d = (device_data*)l->data;
+ conv_device_destroy(d->selected_device);
+ SAFE_DELETE(d);
+ }
SAFE_DELETE(view->view);
SAFE_DELETE(view);