OnionRouter.StatusFlags string_to_status_flags(IEnumerable <string> splitted) { OnionRouter.StatusFlags result = OnionRouter.StatusFlags.none; foreach (string flag_string in splitted) { int index = router_status_flags.IndexOf(flag_string); if (-1 != index) { OnionRouter.StatusFlags flag = (OnionRouter.StatusFlags)(1 << index); result |= flag; } } return(result); }
private OnionRouter.StatusFlags ParseRouterFlags(ICollection <string> flagNames) { OnionRouter.StatusFlags result = 0; foreach (string candidate in flagNames) { switch (candidate) { case "Authority": result |= OnionRouter.StatusFlags.Authority; break; case "BadExit": result |= OnionRouter.StatusFlags.BadExit; break; case "Exit": result |= OnionRouter.StatusFlags.Exit; break; case "Fast": result |= OnionRouter.StatusFlags.Fast; break; case "Guard": result |= OnionRouter.StatusFlags.Guard; break; case "HSDir": result |= OnionRouter.StatusFlags.HSDir; break; case "Named": result |= OnionRouter.StatusFlags.Named; break; case "NoEdConsensus": result |= OnionRouter.StatusFlags.NoEd25519Consensus; break; case "Stable": result |= OnionRouter.StatusFlags.Stable; break; case "Running": result |= OnionRouter.StatusFlags.Running; break; case "Unnamed": result |= OnionRouter.StatusFlags.Unnamed; break; case "Valid": result |= OnionRouter.StatusFlags.Valid; break; case "V2Dir": result |= OnionRouter.StatusFlags.V2Dir; break; default: break; } } return(result); }