Interface Observer

Version 0.2

Observer

Exposes World of Warcraft's current in-game activity and location.

Exposed at

Methods

Pause ()
Resume ()
StartManualRecording ()
StopManualRecording ()
ReloadConfig ()
ListRecordings (a{sv} filter) as recordings
DeleteRecording (s id)
GetConfig () a{sv} config
SetConfig (a{sv} config)

Signals

ActivityEnded (o path, a{sv} activity)
Error (s code, s message)

Properties

Activity a{sv} read
Location a{sv} read

Types

Activitya{sv}
Locationa{sv}
kTypes enum
kDifficultys enum
kOutcomes enum
kZoneCategorys enum
Error codess enum

Methods

#

Pause ()

Pause activity detection and recording.

#

Resume ()

Resume activity detection and recording.

#

StartManualRecording ()

Start a manual recording outside activity detection.

#

StopManualRecording ()

Stop a manual recording started with StartManualRecording.

#

ReloadConfig ()

Reload the on-disk configuration.

#

ListRecordings (a{sv} filter) as recordings experimental

Parameters

  • a{sv} filter

Returns

  • as recordings

List recordings, optionally filtered.

#

DeleteRecording (s id) experimental

Parameters

  • s id

Delete a recording by id.

#

GetConfig () a{sv} config experimental

Returns

  • a{sv} config

Fetch the current configuration as an a{sv} bag.

#

SetConfig (a{sv} config) experimental

Parameters

  • a{sv} config

Replace the current configuration from an a{sv} bag.

Signals

#

ActivityEnded (o path, a{sv} activity)

Parameters

  • o path
  • a{sv} activity

Fires when an Activity concludes

#

Error (s code, s message) experimental

Parameters

  • s code
  • s message

Reports an asynchronous daemon-side error condition

Properties

#

Activity — a{sv}

read

The player's current instanced activity. Empty when idle.

#

Location — a{sv}

read

Where the player is in the world.

Types

#

Activity — a{sv}

The player's current instanced activity. Empty when idle.

KeyTypeApplies toRequiredStabilityDescription
type (kType) s encounter, dungeon yes stable Activity kind. A value outside this list must be treated as "unknown".
encounterId (kEncounterId) u encounter yes stable Encounter ID (encounter only).
encounterName (kEncounterName) s encounter yes stable Encounter name (encounter only).
difficulty (kDifficulty) s encounter yes stable Human-readable difficulty of the zone
difficultyId (kDifficultyId) u encounter yes stable Raw WoW difficultyID (encounter only).
zoneId (kZoneId) u dungeon yes stable Dungeon instance zone ID (dungeon only).
keystoneLevel (kKeystoneLevel) u dungeon yes stable Mythic+ keystone level (dungeon only).
startTime (kStartTime) x encounter, dungeon yes stable Unix epoch milliseconds.
challengeMapId (kChallengeMapId) u dungeon yes stable Mythic+ challenge-mode map ID (dungeon only).
outcome (kOutcome) s encounter, dungeon — ended only yes stable Terminal result of the activity. Encounters report "success", "failure", or "abandoned". Dungeons report "success" or "abandoned".
durationMs (kDurationMs) x encounter, dungeon — ended only yes stable Run duration in milliseconds.
stopTime (kStopTime) x encounter, dungeon — ended only yes stable Unix epoch milliseconds.
#

Location — a{sv}

Where the player is in the world.

KeyTypeRequiredStabilityDescription
zoneName (kZoneName) s yes stable Resolved zone or instance name (e.g., Silvermoon City).
zoneCategory (kZoneCategory) s yes stable Coarse location kind
uiMapId (kUiMapId) u yes stable Stable ID for the player's current map
#

kType — s enum

  • kTypeEncounter = "encounter"
  • kTypeDungeon = "dungeon"
  • kTypeUnknown = "unknown"
#

kDifficulty — s enum

  • kDifficultyLFR = "LFR"
  • kDifficultyNormal = "Normal"
  • kDifficultyHeroic = "Heroic"
  • kDifficultyMythic = "Mythic"
  • kDifficultyUnknown = "Unknown"
#

kOutcome — s enum

  • kOutcomeUnknown = "unknown"
  • kOutcomeSuccess = "success"
  • kOutcomeFailure = "failure"
  • kOutcomeAbandoned = "abandoned"
#

kZoneCategory — s enum

  • kZoneCategoryOpen-world = "open-world"
  • kZoneCategoryDungeon = "dungeon"
  • kZoneCategoryRaid = "raid"
  • kZoneCategoryDelve = "delve"
  • kZoneCategoryUnknown = "unknown"
#

Error codes — s enum

CodeStabilityDescription
dev.ulduar.Constellar1.Error.Internal experimental experimental Generic, unclassified asynchronous daemon-side failure.
dev.ulduar.Constellar1.Error.RecordingAborted experimental experimental A recording failed mid-capture (e.g. the encoder crashed or the disk filled).
dev.ulduar.Constellar1.Error.RecordingFailed experimental experimental Method error reply from a recording operation (StartManualRecording / StopManualRecording / DeleteRecording) that fails synchronously.