Changeset 5712:1548b8b21bd4 in roaraudio


Ignore:
Timestamp:
10/25/12 16:20:26 (11 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

moved to scheduler API

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roarclients/roarpluginrunner.c

    r5534 r5712  
    3535}; 
    3636 
    37 static struct roar_dl_librarypara * g_para = NULL; 
     37static struct roar_dl_librarypara * g_para  = NULL; 
     38static struct roar_scheduler      * g_sched = NULL; 
     39static struct roar_scheduler_source g_s_service   = {.type = ROAR_SCHEDULER_CPI_SERVICE}; 
    3840 
    3941static void usage (const char * progname) { 
     
    5658 
    5759static int do_run(const char * name) { 
     60 struct roar_scheduler_source s_container; 
    5861 struct roar_plugincontainer * cont = roar_plugincontainer_new(g_para); 
    5962 int err; 
     
    6164 if ( cont == NULL ) 
    6265  return -1; 
     66 
     67 memset(&s_container, 0, sizeof(s_container)); 
     68 s_container.type = ROAR_SCHEDULER_PLUGINCONTAINER; 
     69 s_container.handle.container = cont; 
     70 roar_scheduler_source_add(g_sched, &s_container); 
    6371 
    6472 if ( roar_plugincontainer_load(cont, name, NULL) == -1 ) { 
     
    7179 roar_plugincontainer_appsched_trigger(cont, ROAR_DL_APPSCHED_INIT); 
    7280 
     81/* 
    7382 while (roar_plugincontainer_appsched_trigger(cont, ROAR_DL_APPSCHED_WAIT) == 0) 
    7483  roar_plugincontainer_appsched_trigger(cont, ROAR_DL_APPSCHED_UPDATE); 
     84*/ 
     85 roar_scheduler_run(g_sched); 
    7586 
    7687 roar_plugincontainer_appsched_trigger(cont, ROAR_DL_APPSCHED_UPDATE); 
    7788 roar_plugincontainer_appsched_trigger(cont, ROAR_DL_APPSCHED_FREE); 
    7889 
     90 roar_scheduler_source_del(g_sched, &s_container); 
    7991 roar_plugincontainer_unref(cont); 
    8092 return 0; 
     
    422434 const char * k; 
    423435 
     436 g_sched = roar_scheduler_new(ROAR_SCHEDULER_FLAG_NONE, ROAR_SCHEDULER_STRATEGY_DEFAULT); 
     437 if ( g_sched == NULL ) { 
     438  fprintf(stderr, "Error creating scheduler object: %s\n", roar_error2str(roar_error)); 
     439  return 1; 
     440 } 
     441 
     442 roar_scheduler_source_add(g_sched, &g_s_service); 
     443 
    424444 for (i = 1; i < argc; i++) { 
    425445  k = argv[i]; 
     
    427447  if ( !strcmp(k, "-h") || !strcmp(k, "--help") ) { 
    428448   usage(argv[0]); 
     449   roar_scheduler_unref(g_sched); 
    429450   return 0; 
    430451  } else if ( !strcmp(k, "--run") ) { 
     
    467488 _clear_para(); 
    468489 
     490 roar_scheduler_unref(g_sched); 
    469491 return ret; 
    470492} 
Note: See TracChangeset for help on using the changeset viewer.