Skip to main content

ProfileCollection

  • Namespace: PPDS.Auth.Profiles
  • Assembly: PPDS.Auth
  • Kind: Class

Summary​

Collection of authentication profiles with active profile tracking.

Members​

Methods​

Add​

void Add(AuthProfile profile, bool setAsActive)

Adds a profile to the collection.

  • Param profile: The profile to add.

  • Param setAsActive: Whether to set this as the active profile.

Clear​

void Clear()

Clears all profiles.

Clone​

ProfileCollection Clone()

Creates a deep copy of this collection with all profiles cloned.

GetByIndex​

AuthProfile GetByIndex(int index)

Gets a profile by index.

  • Param index: The profile index.

  • Returns: The profile, or null if not found.

GetByName​

AuthProfile GetByName(string name)

Gets a profile by name (case-insensitive).

  • Param name: The profile name.

  • Returns: The profile, or null if not found.

GetByNameOrIndex​

AuthProfile GetByNameOrIndex(string nameOrIndex)

Gets a profile by name or index string.

  • Param nameOrIndex: The profile name or index (as string), including bracket notation like "[1]" or full DisplayIdentifier like "[1] MyProfile".

  • Returns: The profile, or null if not found.

IsNameInUse​

bool IsNameInUse(string name, Nullable<int> excludeIndex)

Checks if a profile name is already in use (case-insensitive).

  • Param name: The name to check.

  • Param excludeIndex: Optional index to exclude from check (for rename).

  • Returns: True if the name is in use.

RemoveByIndex​

bool RemoveByIndex(int index)

Removes a profile by index.

  • Param index: The profile index.

  • Returns: True if removed, false if not found.

RemoveByName​

bool RemoveByName(string name)

Removes a profile by name.

  • Param name: The profile name.

  • Returns: True if removed, false if not found.

SetActiveByIndex​

void SetActiveByIndex(int index)

Sets the active profile by index.

  • Param index: The profile index.

SetActiveByName​

void SetActiveByName(string name)

Sets the active profile by name.

  • Param name: The profile name.

Properties​

ActiveProfile​

AuthProfile ActiveProfile { get; }

Gets the active profile, or null if none is active.

ActiveProfileIndex​

Nullable<int> ActiveProfileIndex { get; set; }

Gets or sets the index of the active profile. Primary tracking mechanism.

ActiveProfileName​

string ActiveProfileName { get; set; }

Gets or sets the name of the active profile. Kept for backwards compatibility with v2 profiles.json files and for display purposes.

All​

IEnumerable<AuthProfile> All { get; }

Gets all profiles in index order.

Count​

int Count { get; }

Gets the count of profiles.

NextIndex​

int NextIndex { get; }

Gets the next available index.

Profiles​

List<AuthProfile> Profiles { get; set; }

Gets or sets the profiles list.

Version​

int Version { get; set; }

Storage format version. v2 uses array storage and index-based active profile tracking.