pub struct SwitchPlan {
pub target: ProfileMeta,
pub outgoing: Option<String>,
pub sessions: SessionMerge,
pub scheduled: Option<ScheduledMerge>,
pub tokens: SavedTokens,
pub archive: PathBuf,
pub archive_members: Vec<String>,
pub restores_desktop_state: bool,
pub opts: SwitchOpts,
pub deletions: Vec<DeletionCandidate>,
pub confirmed_deletions: BTreeSet<DeletionKey>,
pub prior_synced: Synced,
}Expand description
Everything a switch would do, decided before anything is touched.
Fields§
§target: ProfileMeta§outgoing: Option<String>The account being switched away from, when it is one we manage.
sessions: SessionMerge§scheduled: Option<ScheduledMerge>Absent when the target has no known org yet, so there is no history folder to merge into.
tokens: SavedTokensA switch is only valid with both saved Desktop credential blobs. Mixing a target account’s browser state with the current account’s credential would create an incoherent, destructive half-switch.
archive: PathBuf§archive_members: Vec<String>§restores_desktop_state: bool§opts: SwitchOpts§deletions: Vec<DeletionCandidate>Schedules an account deleted that others still hold, so this merge would
resurrect them. The caller decides — a terminal prompt or the menu bar —
and records the verdict in confirmed_deletions.
confirmed_deletions: BTreeSet<DeletionKey>Type-scoped items the user confirmed should go everywhere. Empty means keep them all, which is also what a non-interactive switch must do.
prior_synced: SyncedBaseline used to plan this switch. Apply combines it with the actual post-write state so unresolved definitions remain unresolved safely.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SwitchPlan
impl RefUnwindSafe for SwitchPlan
impl Send for SwitchPlan
impl Sync for SwitchPlan
impl Unpin for SwitchPlan
impl UnsafeUnpin for SwitchPlan
impl UnwindSafe for SwitchPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more