gala_clients/DIS_group/src/GROUPswApp.cxx
// Fill in the specified RTL w/groups:
Fill in the specified RTL w/groups.
Fill in the specified RTL w / groups .
vbool GROUPswApp::GrabSubsysSel(int argc, char **argv)
{
  Initialize(GROUPswApp::GrabSubsysSel);
  vbool ret = vFALSE;
  if (argc >= 2) {
    symbolArr arr(0);
    RTListServer *res_rtl = NULL;
    for (int i = 0; i < argc; i++) {
      int id = OSapi_atoi(argv[i]);
      if (id > 0) {
        RTListServer *rtl = RTListServer::find(id);
	if (i == 0) {
	  if (rtl)	res_rtl = rtl;
	  else		break;
	}
	else {
	  if (rtl) {
            symbolArr sel;
	    symbolPtr sym;
	    rtl->getSelArr(sel);
	    ForEachS (sym, sel) {
              if (sym.get_kind() == DD_SUBSYSTEM)
	        arr.insert_last(sym);
            }
          }
        }
      }
    }
    if (res_rtl) {
      arr.remove_dup_syms();
      res_rtl->clear();
      res_rtl->insert(arr);
      ret = vTRUE;
    }
  }
  return ret;
}
vbool GROUPswApp :: GrabSubsysSel ( int argc , char * * argv ) { Initialize ( GROUPswApp :: GrabSubsysSel ) ; vbool ret = vFALSE ; if ( argc >= 2 ) { symbolArr arr ( 0 ) ; RTListServer * res_rtl = NULL ; for ( int i = 0 ; i < argc ; i ++ ) { int id = OSapi_atoi ( argv [ i ] ) ; if ( id > 0 ) { RTListServer * rtl = RTListServer :: find ( id ) ; if ( i == 0 ) { if ( rtl ) res_rtl = rtl ; else break ; } else { if ( rtl ) { symbolArr sel ; symbolPtr sym ; rtl -> getSelArr ( sel ) ; ForEachS ( sym , sel ) { if ( sym . get_kind ( ) == DD_SUBSYSTEM ) arr . insert_last ( sym ) ; } } } } } if ( res_rtl ) { arr . remove_dup_syms ( ) ; res_rtl -> clear ( ) ; res_rtl -> insert ( arr ) ; ret = vTRUE ; } } return ret ; }
Fill in the specified RTL w/groups:
Fill in the specified RTL w / groups :