view DependencyLoader/frontend.lua @ 18:e7995d599184 tip

updated pkgmeta fix the inversion in addon:Enable added support for late-loading
author mckenziemc
date Tue, 21 Dec 2010 00:23:57 -0800
parents f825ccf94a89
children
line wrap: on
line source
--	frontend.lua
--	Implements the frontend of DependenyLoader


local addonName, addonTable = ...


local print = addonTable.print
local debug = addonTable.debug

local Core = addonTable.classes.Core


local frontend = LibStub("AceAddon-3.0"):NewAddon(addonName, "AceEvent-3.0")
addonTable.frontend = frontend
_G[addonName] = frontend

frontend.addonTable = addonTable


function frontend:OnInitialize()
	debug("Initializing", addonName)
	self:Enable()
end


function frontend:OnEnable()
	--	this may get called early so don't rely on 
	--	it as an indicator for PLAYER_LOGIN
	
	if not IsLoggedIn() then
		self:RegisterEvent("PLAYER_LOGIN")
	end
	
	Core:SetHooks()
	Core:PrepareAllAddons()
	
	print("Enabled", addonName)
end


function frontend:OnDisable()
	Core:UnhookAll()
	
	print("Disabled", addonName)
end

function frontend:PLAYER_LOGIN(...)
	Core:ProcessEnableQueue()
end