Changeset 5341:6999cabaaf63 in roaraudio for roarclients


Ignore:
Timestamp:
12/09/11 23:16:46 (12 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support to set args, appname and abiversion

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roarclients/roarpluginrunner.c

    r5336 r5341  
    200200 
    201201static inline void _clear_para(void) { 
    202  if ( g_para != NULL ) 
    203   roar_dl_para_unref(g_para); 
     202 if ( g_para == NULL ) 
     203  return; 
     204 
     205 roar_dl_para_unref(g_para); 
    204206 g_para = NULL; 
    205207} 
    206208 
    207209int main (int argc, char * argv[]) { 
     210 const char * appname    = "roarpluginrunner"; 
     211 const char * abiversion = NULL; 
     212 const char * pluginargs = NULL; 
    208213 enum action action = RUN; 
    209214 int ret = 0; 
     
    223228  } else if ( !strcmp(k, "--verbose") ) { 
    224229   g_verbose++; 
     230  } else if ( !strcmp(k, "--appname") ) { 
     231   appname = argv[++i]; 
     232   _clear_para(); 
     233  } else if ( !strcmp(k, "--abiversion") ) { 
     234   abiversion = argv[++i]; 
     235   _clear_para(); 
     236  } else if ( !strcmp(k, "--args") ) { 
     237   pluginargs = argv[++i]; 
     238   _clear_para(); 
    225239  } else { 
    226240   if ( g_para == NULL ) 
    227     g_para = roar_dl_para_new(NULL, NULL, NULL, NULL); 
    228    if ( do_plugin(action, k) == -1 ) 
     241    g_para = roar_dl_para_new(pluginargs, NULL, appname, abiversion); 
     242   roar_err_set(ROAR_ERROR_NONE); 
     243   if ( do_plugin(action, k) == -1 ) { 
     244    fprintf(stderr, "Error loading plugin: %s\n", 
     245                    roar_error != ROAR_ERROR_NONE ? roar_error2str(roar_error) : roar_dl_errstr(NULL)); 
    229246    ret = 1; 
     247   } 
    230248  } 
    231249 } 
Note: See TracChangeset for help on using the changeset viewer.