コード例 #1
0
ファイル: arvgvinterface.c プロジェクト: mdavidsaver/aravis
ArvInterface *
arv_gv_interface_get_instance (void)
{
	arv_g_mutex_lock (&gv_interface_mutex);

	if (gv_interface == NULL)
		gv_interface = g_object_new (ARV_TYPE_GV_INTERFACE, NULL);

	arv_g_mutex_unlock (&gv_interface_mutex);

	return ARV_INTERFACE (gv_interface);
}
コード例 #2
0
ファイル: arvgvinterface.c プロジェクト: mdavidsaver/aravis
void
arv_gv_interface_destroy_instance (void)
{
	arv_g_mutex_lock (&gv_interface_mutex);

	if (gv_interface != NULL) {
		g_object_unref (gv_interface);
		gv_interface = NULL;
	}

	arv_g_mutex_unlock (&gv_interface_mutex);
}
コード例 #3
0
ファイル: arvfakeinterface.c プロジェクト: epicsdeb/aravis
ArvInterface *
arv_fake_interface_get_instance (void)
{
	arv_g_mutex_lock (&fake_interface_mutex);

	if (fake_interface == NULL)
		fake_interface = g_object_new (ARV_TYPE_FAKE_INTERFACE, NULL);

	arv_g_mutex_unlock (&fake_interface_mutex);

	return ARV_INTERFACE (fake_interface);
}
コード例 #4
0
ファイル: arvfakecamera.c プロジェクト: Amomum/aravis
const char *
arv_get_fake_camera_genicam_xml (size_t *size)
{
	static GMappedFile *genicam_file = NULL;
	ARV_DEFINE_STATIC_MUTEX (mutex);

	arv_g_mutex_lock (&mutex);

	if (genicam_file == NULL ) {
		char *filename;

		if (arv_fake_camera_genicam_filename == NULL)
			filename = g_build_filename (ARAVIS_DATA_DIR, "arv-fake-camera.xml", NULL);
		else
			filename = g_strdup (arv_fake_camera_genicam_filename);

		genicam_file = g_mapped_file_new (filename, FALSE, NULL);

		if (genicam_file != NULL) {
			arv_debug_genicam ("[get_fake_camera_genicam_data] %s [size = %d]", filename,
					   g_mapped_file_get_length (genicam_file));
			arv_log_genicam (g_mapped_file_get_contents (genicam_file));
		}

		g_free (filename);
	}

	arv_g_mutex_unlock (&mutex);

	g_return_val_if_fail( genicam_file != NULL, NULL);

	if (size != NULL)
		*size = g_mapped_file_get_length (genicam_file);

	return g_mapped_file_get_contents (genicam_file);
}