LibAlts-1.0

Main

Overview

LibAlts provides an API to register and retrieve alternate identity information between addons. It maintains main-alt relationships. A given character can be defined as a main with one or more alts.

Basic API

:SetAlt(main, alt, source) - Associate a main name with an alt name. An optional source can be specified. If no source is specified, it is added the user-defined source.

:GetAlts(main) - Get a list of alts for a given name.

:GetMain(alt) - Get the main character associated with a given name.

:GetAllMains() - Get a list of all main characters.

:IsMain(main) - Is the given name a main character.

:IsAlt(alt) - Is the given name an alternate character.

:DeleteAlt(main, alt, source) - Delete the main-alt relationship. An optional source can be specified. If no source is specified, it is deleted from the user-defined source.

:TitleCase(name) - Return the name in title case. The first letter is capitalized and the rest are lower case.

Sources

Sources are a way to differentiate the data entered into LibAlts. User-defined data will have no source (i.e., the source is nil). Sources provide a solution to problems such as automated guild imports. If the information pushed into LibAlts from guild notes is placed into the same area as user-defined notes, then re-importing it later is problematic. If the guild data has its own area, it is easy to wipe that data and re-import it.

When adding data from automated sources, the source name needs to be unique. As a convention, data added for a guild should have the GUILD_PREFIX constant prepended to the guild name returned from the GetGuildInfo() API call. Data from an addon should have the ADDON_PREFIX prepended to the addon name.

LibAlts will merge data from all sources when answering queries, unless you use one of the *ForSource functions that allows you to query a particular source.

:GetAltsForSource(main, source) - Get a list of alts for a given name for the given source.

:GetMainForSource(alt, source) - Get the main character associated with a given name for the given source.

:GetAllMains(source) - Get a list of all main characters for the given source.

:IsMainForSource(main, source) - Is the given name a main character.

:IsAltForSource(alt, source) - Is the given name an alternate character.

:RemoveSource(source) - Remove all data for the given source.

GUILD_PREFIX - A constant to prepend to source names for imported guild data.

ADDON_PREFIX - A constant to prepend to source names for addon automated data.