All pastes #353374 Raw Edit

lavi

public text v1 · immutable
·published 2007-02-13 09:47 UTC
rendered paste body
void
ldtp_gui_wait_till_gui_exist (LDTPClientContext* cctxt, LDTPErrorCode* err)
{
	int time_wait = ldtp_gui_timeout;
	time_t start, cur;
	LDTPGuiHandle *accessible = NULL;

	/*
	  Copied from LTFX source code
	*/
	start = cur = time (NULL);

	if (cctxt->req->component) {
		time_wait = atoi (cctxt->req->component);
		if (!time_wait && !ldtp_gui_timeout)
			time_wait = 30;
	} else if (!ldtp_gui_timeout) {
		time_wait = 30; // Max wait for 30 seconds
	}

	while ((difftime (cur, start) < time_wait) && (accessible == NULL)) {
		ldtp_nsleep (0, 30000);

		cur = time (NULL);
		accessible = ldtp_gui_get_gui_handle (cctxt, err);
	}

	if (accessible == NULL)
		*err = LDTP_ERROR_GUI_NOT_EXIST;
	else {
		Accessible_unref (accessible->handle);
		g_free (accessible);
		*err = LDTP_ERROR_SUCCESS;
	}
}

void
ldtp_gui_wait_till_gui_not_exist (LDTPClientContext* cctxt, LDTPErrorCode* err)
{
	int time_wait = ldtp_gui_timeout;
	time_t start, cur;
	LDTPGuiHandle *accessible = NULL;

	/*
	  Copied from LTFX source code
	*/
	start = cur = time (NULL);

	if (cctxt->req->component) {
		time_wait = atoi (cctxt->req->component);
		if (!time_wait && !ldtp_gui_timeout)
			time_wait = 30;
	} else if (!ldtp_gui_timeout) {
		time_wait = 30; // Max wait for 30 seconds
	}

	accessible = ldtp_gui_get_gui_handle (cctxt, err);

	while ((difftime (cur, start) < time_wait) && (accessible != NULL)) {
		ldtp_nsleep (0, 30000);

		cur = time (NULL);
		if (accessible) {
			Accessible_unref (accessible->handle);
			g_free (accessible);
			accessible = NULL;
		}
		accessible = ldtp_gui_get_gui_handle (cctxt, err);
	}

	if (accessible == NULL)
		*err = LDTP_ERROR_SUCCESS;
	else {
		Accessible_unref (accessible->handle);
		g_free (accessible);
		*err = LDTP_ERROR_GUI_EXIST;
	}
}