Changeset 1043:1ca27ba72398 in roaraudio for roarclients/roarctl.c


Ignore:
Timestamp:
12/23/08 09:26:22 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support to set flags via roarctl, update meta data on change of meta flag

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roarclients/roarctl.c

    r1032 r1043  
    379379} 
    380380 
     381int set_flags (struct roar_connection * con, int id, int reset, char * flags) { 
     382 int f = ROAR_FLAG_NONE; 
     383 char * c; 
     384 struct roar_stream s[1]; 
     385 
     386 memset(s, 0, sizeof(struct roar_stream)); 
     387 
     388 s->id = id; 
     389 
     390 c = strtok(flags, ","); 
     391 while (c != NULL) { 
     392  if ( !strcmp(c, "meta") ) { 
     393   f |= ROAR_FLAG_META; 
     394  } else if ( !strcmp(c, "primary") ) { 
     395   f |= ROAR_FLAG_PRIMARY; 
     396  } else { 
     397   fprintf(stderr, "Error: unknown flag: %s\n", c); 
     398   return -1; 
     399  } 
     400 
     401  c = strtok(NULL, ","); 
     402 } 
     403 
     404 return roar_stream_set_flags(con, s, f, reset); 
     405} 
     406 
    381407int main (int argc, char * argv[]) { 
    382408 struct roar_connection con; 
     
    513539   } 
    514540 
     541  } else if ( !strcmp(k, "flag") ) { 
     542   i++; 
     543   if ( set_flags(&con, atoi(argv[i]), ROAR_SET_FLAG, argv[i+1]) == -1 ) { 
     544    fprintf(stderr, "Error: can not set flags\n"); 
     545   } else { 
     546    printf("flags changed\n"); 
     547   } 
     548   i++; 
     549  } else if ( !strcmp(k, "unflag") ) { 
     550   i++; 
     551   if ( set_flags(&con, atoi(argv[i]), ROAR_RESET_FLAG, argv[i+1]) == -1 ) { 
     552    fprintf(stderr, "Error: can not reset flags\n"); 
     553   } else { 
     554    printf("flags changed\n"); 
     555   } 
     556   i++; 
    515557  } else if ( !strcmp(k, "metaset") ) { 
    516558   i++; 
Note: See TracChangeset for help on using the changeset viewer.