legacy/experimental/ecdb/trunk/src/ecdb.c

115 lines
1.9 KiB
C
Raw Normal View History

#include "ecdb.h"
2008-04-07 01:04:15 +00:00
/* Global Variables */
int ECDB_DRIVE_ACTION_FINISHED = 0;
int ECDB_DRIVE_ACTION_BEGUN = 0;
int ECDB_DRIVE_ACTION_UPDATE = 0;
Ecdb_Main *em;
int ecdb_setup();
int
main(int argc, char **argv)
{
int i;
2008-04-07 20:40:30 +00:00
int ret = 0;
2008-05-21 01:01:37 +00:00
Ecdb_Source *src;
2008-04-07 01:04:15 +00:00
if (!ecore_init())
{
printf("Cannot initialize Ecore!\n");
return 1;
}
if (!ecore_file_init())
{
printf("Cannot initialize Ecore_File!\n");
2008-04-07 20:40:30 +00:00
ret = 1;
goto SHUTDOWN;
2008-04-07 01:04:15 +00:00
}
if (!ecdb_setup())
{
printf("Setup failed\n");
2008-04-07 20:40:30 +00:00
ret = 1;
goto SHUTDOWN;
}
ecdb_print_drive_info();
ecdb_burn_init();
2008-05-15 00:14:33 +00:00
/* Start testing */
Ecdb_Burn_Project *proj;
proj = ecdb_burn_project_new();
i = 1;
while ((i < argc) && (argv))
{
2008-05-21 01:01:37 +00:00
if (ecore_file_exists(argv[i]))
{
if (ecore_file_is_dir(argv[i]))
ret = 1;
src = ecdb_source_new();
ecdb_source_data_set(src, argv[i], ret);
ecdb_source_child_append(proj->files, src);
ret = 0;
}
i++;
}
2008-05-15 00:14:33 +00:00
proj->publisher_id = proj->data_preparer_id = proj->system_id =
proj->application_id = proj->copywrite_id =
proj->abstract_id = proj->biblio_id = "ecdb";
2008-04-07 20:40:30 +00:00
2008-05-15 00:14:33 +00:00
if (!ecdb_aquire_drive(ECDB_PROJECT(proj), 0))
2008-04-07 20:40:30 +00:00
{
printf("Couldn't grab drive!\n");
ret = 1;
goto SHUTDOWN;
}
2008-04-07 01:04:15 +00:00
2008-05-15 00:14:33 +00:00
if (!ecdb_burn_project(proj))
2008-04-07 01:04:15 +00:00
{
printf("Burn was unsuccessful\n");
2008-04-07 20:40:30 +00:00
ret = 1;
goto SHUTDOWN;
2008-04-07 01:04:15 +00:00
}
ecore_main_loop_begin();
/* End testing */
2008-04-07 20:40:30 +00:00
SHUTDOWN:
burn_finish();
2008-05-19 05:04:00 +00:00
iso_finish();
2008-04-07 01:04:15 +00:00
ecore_file_shutdown();
2008-05-21 01:38:44 +00:00
ecore_shutdown();
2008-04-07 01:04:15 +00:00
printf("Program Done\n");
2008-04-07 20:40:30 +00:00
return ret;
};
int
ecdb_setup(void)
{
em = NULL;
em = calloc(1, sizeof(Ecdb_Main));
em->drives = NULL;
em->projects = ecore_list_new();
2008-04-07 01:04:15 +00:00
ECDB_DRIVE_ACTION_FINISHED = ecore_event_type_new();
ECDB_DRIVE_ACTION_BEGUN = ecore_event_type_new();
ECDB_DRIVE_ACTION_UPDATE = ecore_event_type_new();
2008-04-08 01:45:30 +00:00
ecdb_image_init();
2008-04-07 01:04:15 +00:00
ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, ecdb_shutdown,
NULL);
if (!ecdb_aquire_drive_info())
{
printf("Aquiring drives failed!\n");
return FALSE;
}
return TRUE;
}