2009-11-18 02:42:52 +03:00
/*-*- Mode: C; c-basic-offset: 8 -*-*/
# include <stdio.h>
# include <errno.h>
# include <string.h>
2010-01-20 21:19:53 +03:00
# include <unistd.h>
2009-11-18 02:42:52 +03:00
# include "manager.h"
2010-01-20 21:19:53 +03:00
# include "log.h"
2009-11-18 02:42:52 +03:00
int main ( int argc , char * argv [ ] ) {
Manager * m = NULL ;
2010-01-26 23:39:06 +03:00
Unit * target = NULL ;
2009-11-18 02:42:52 +03:00
Job * job = NULL ;
int r , retval = 1 ;
2010-01-27 02:15:56 +03:00
assert_se ( set_unit_path ( " test1 " ) > = 0 ) ;
2010-01-20 21:19:53 +03:00
2009-11-18 02:42:52 +03:00
if ( ! ( m = manager_new ( ) ) < 0 ) {
2010-01-20 21:19:53 +03:00
log_error ( " Failed to allocate manager object: %s " , strerror ( ENOMEM ) ) ;
2009-11-18 02:42:52 +03:00
goto finish ;
}
2010-01-29 05:18:09 +03:00
if ( ( r = manager_coldplug ( m ) ) < 0 ) {
log_error ( " Failed to retrieve coldplug information: %s " , strerror ( - r ) ) ;
goto finish ;
}
if ( ( r = manager_load_unit ( m , SPECIAL_DEFAULT_TARGET , & target ) ) < 0 ) {
2010-01-26 21:06:50 +03:00
log_error ( " Failed to load default target: %s " , strerror ( - r ) ) ;
2009-11-18 02:42:52 +03:00
goto finish ;
}
2010-01-28 04:44:47 +03:00
printf ( " → By units: \n " ) ;
manager_dump_units ( m , stdout , " \t " ) ;
2010-01-27 02:20:21 +03:00
if ( ( r = manager_add_job ( m , JOB_START , target , JOB_REPLACE , false , & job ) ) < 0 ) {
log_error ( " Failed to start default target: %s " , strerror ( - r ) ) ;
goto finish ;
}
2010-01-19 06:15:20 +03:00
2010-01-26 09:02:51 +03:00
printf ( " → By jobs: \n " ) ;
2010-01-20 06:02:39 +03:00
manager_dump_jobs ( m , stdout , " \t " ) ;
2010-01-29 06:26:30 +03:00
if ( ( r = manager_loop ( m ) ) < 0 ) {
log_error ( " Failed to run mainloop: %s " , strerror ( - r ) ) ;
goto finish ;
}
2010-01-24 02:39:29 +03:00
2009-11-18 02:42:52 +03:00
retval = 0 ;
finish :
if ( m )
manager_free ( m ) ;
2010-01-27 06:36:30 +03:00
log_debug ( " Exit. " ) ;
2009-11-18 02:42:52 +03:00
return retval ;
}