You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.3 KiB
67 lines
2.3 KiB
-- ------------------------------------------------------------------------------ --
|
|
-- TradeSkillMaster --
|
|
-- https://tradeskillmaster.com --
|
|
-- All Rights Reserved - Detailed license information included with addon. --
|
|
-- ------------------------------------------------------------------------------ --
|
|
|
|
local TSM = select(2, ...) ---@type TSM
|
|
local Sync = TSM.Init("Service.Sync") ---@class Service.Sync
|
|
local Connection = TSM.Include("Service.SyncClasses.Connection")
|
|
local RPC = TSM.Include("Service.SyncClasses.RPC")
|
|
local Mirror = TSM.Include("Service.SyncClasses.Mirror")
|
|
|
|
|
|
|
|
-- ============================================================================
|
|
-- Module Functions
|
|
-- ============================================================================
|
|
|
|
function Sync.RegisterConnectionChangedCallback(callback)
|
|
Connection.RegisterConnectionChangedCallback(callback)
|
|
end
|
|
|
|
---Registers an RPC.
|
|
---@param name string The name of the RPC (must be globally-unique)
|
|
---@param func function The function which implements the RPC
|
|
function Sync.RegisterRPC(name, func)
|
|
RPC.Register(name, func)
|
|
end
|
|
|
|
---Calls an RPC.
|
|
---@param name string The name of the RPC
|
|
---@param targetPlayer string The player to send the RPC to
|
|
---@param handler fun(success: boolean, targetPlayer: string, ...: any) A callback function which handles the result
|
|
---@param ... any Arguments to pass to the RPC
|
|
---@return boolean @Whether or not the RPC was sent successfully
|
|
---@return number? @The estimated time the RPC will take to send (if successful)
|
|
function Sync.CallRPC(name, targetPlayer, handler, ...)
|
|
return RPC.Call(name, targetPlayer, handler, ...)
|
|
end
|
|
|
|
function Sync.GetConnectionStatus(account)
|
|
return Connection.GetStatus(account)
|
|
end
|
|
|
|
function Sync.GetConnectedCharacterByAccount(account)
|
|
return Connection.GetConnectedCharacterByAccount(account)
|
|
end
|
|
|
|
function Sync.GetMirrorStatus(account)
|
|
return Mirror.GetStatus(account)
|
|
end
|
|
|
|
function Sync.RegisterMirrorCallback(callback)
|
|
Mirror.RegisterCallback(callback)
|
|
end
|
|
|
|
function Sync.EstablishConnection(character)
|
|
return Connection.Establish(character)
|
|
end
|
|
|
|
function Sync.GetNewAccountStatus()
|
|
return Connection.GetNewAccountStatus()
|
|
end
|
|
|
|
function Sync.RemoveAccount(account)
|
|
Connection.Remove(account)
|
|
end
|
|
|