Пример #1
0
int update(Flash* flash, const char* obj_path)
{
	pid_t pid;
	int status=-1;
	pid = fork();
	if (pid == 0)
	{
		const gchar* path = flash_get_flasher_path(flash);
		const gchar* name = flash_get_flasher_name(flash);
		const gchar* inst = flash_get_flasher_instance(flash);
		const gchar* filename = flash_get_filename(flash);
		status = execl(path, name, inst, filename, obj_path, NULL);
		return status;
	}
	return 0;
}
Пример #2
0
static gboolean
on_done(Flash *flash,
		GDBusMethodInvocation *invocation,
		gpointer user_data)
{
	int rc = 0;
	SharedResource *lock = object_get_shared_resource((Object*)user_data);
	shared_resource_get_lock(lock);
	flash_set_status(flash, "Flash Done");
	flash_complete_done(flash,invocation);
	printf("Flash Done. Clearing locks\n");
	shared_resource_set_lock(lock,false);
	shared_resource_set_name(lock,"");
	const gchar* filename = flash_get_filename(flash);
	rc = unlink(filename);
	if(rc != 0 )
	{
		printf("ERROR: Unable to delete file %s (%d)\n",filename,rc);
	}

	return TRUE;
}