Mercurial > wow > libmoduledbshare-1-0
changeset 3:e56e38558864
Initial file structure.
| author | Thnan <> |
|---|---|
| date | Fri, 08 Mar 2013 03:51:05 -0500 |
| parents | 73380bca0ec6 |
| children | 6ea3069a629f |
| files | .pkgmeta Changelog.txt LibModuleDBShare-1.0.toc LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua LibModuleDBShare-1.0/LibModuleDBShare-1.0.xml LibStub.lua |
| diffstat | 6 files changed, 84 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/.pkgmeta Fri Mar 08 03:21:41 2013 -0500 +++ b/.pkgmeta Fri Mar 08 03:51:05 2013 -0500 @@ -3,12 +3,9 @@ license-output: License.txt +manual-changelog: Changelog.txt + enable-nolib-creation: no -externals: - LibStub: - url: svn://svn.wowace.com/wow/libstub/mainline/trunk/ - tag: latest - AceDB-3.0: - url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceDB-3.0 - tag: latest +tools-used: + - libstub
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Changelog.txt Fri Mar 08 03:51:05 2013 -0500 @@ -0,0 +1,19 @@ +LibModuleDBShare-1.0 Changelog: + + +r3: + +- I know what I'm doing now... mostly. Initial .pkgmeta complete. +- Initial file structure complete. + +r2: + +- More mucking around. + +r1: + +- Mucked around with .pkgmeta and toc files. + +r0: + +- Added .pkgmeta and toc files.
--- a/LibModuleDBShare-1.0.toc Fri Mar 08 03:21:41 2013 -0500 +++ b/LibModuleDBShare-1.0.toc Fri Mar 08 03:51:05 2013 -0500 @@ -4,4 +4,5 @@ ## Author: Thnan (Jaedenar US-A) ## Version: @project-version@ -LibStub.lua \ No newline at end of file +LibStub.lua +LibModuleDBShare-1.0\LibModuleDBShare-1.0.xml \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua Fri Mar 08 03:51:05 2013 -0500 @@ -0,0 +1,4 @@ +local MAJOR, MINOR = "LibModuleDBShare-1.0", 1 +local LibModuleDBShare, oldminor = LibStub:NewLibrary(MAJOR, MINOR) + +if not LibModuleDBShare then return end -- No upgrade needed \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LibModuleDBShare-1.0/LibModuleDBShare-1.0.xml Fri Mar 08 03:51:05 2013 -0500 @@ -0,0 +1,4 @@ +<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ +..\FrameXML\UI.xsd"> + <Script file="LibModuleDBShare-1.0.lua"/> +</Ui> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LibStub.lua Fri Mar 08 03:51:05 2013 -0500 @@ -0,0 +1,51 @@ +-- $Id: LibStub.lua 76 2007-09-03 01:50:17Z mikk $ +-- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info +-- LibStub is hereby placed in the Public Domain +-- Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke +local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS! +local LibStub = _G[LIBSTUB_MAJOR] + +-- Check to see is this version of the stub is obsolete +if not LibStub or LibStub.minor < LIBSTUB_MINOR then + LibStub = LibStub or {libs = {}, minors = {} } + _G[LIBSTUB_MAJOR] = LibStub + LibStub.minor = LIBSTUB_MINOR + + -- LibStub:NewLibrary(major, minor) + -- major (string) - the major version of the library + -- minor (string or number ) - the minor version of the library + -- + -- returns nil if a newer or same version of the lib is already present + -- returns empty library object or old library object if upgrade is needed + function LibStub:NewLibrary(major, minor) + assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)") + minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.") + + local oldminor = self.minors[major] + if oldminor and oldminor >= minor then return nil end + self.minors[major], self.libs[major] = minor, self.libs[major] or {} + return self.libs[major], oldminor + end + + -- LibStub:GetLibrary(major, [silent]) + -- major (string) - the major version of the library + -- silent (boolean) - if true, library is optional, silently return nil if its not found + -- + -- throws an error if the library can not be found (except silent is set) + -- returns the library object if found + function LibStub:GetLibrary(major, silent) + if not self.libs[major] and not silent then + error(("Cannot find a library instance of %q."):format(tostring(major)), 2) + end + return self.libs[major], self.minors[major] + end + + -- LibStub:IterateLibraries() + -- + -- Returns an iterator for the currently registered libraries + function LibStub:IterateLibraries() + return pairs(self.libs) + end + + setmetatable(LibStub, { __call = LibStub.GetLibrary }) +end
