aozhiwei cfdf663d3d 1
2024-05-26 13:14:33 +08:00

68 lines
1.1 KiB
Go

package global
import (
"fmt"
"main/common"
"main/constant"
"q5"
)
var modules [constant.MAX_MODULE_IDX]q5.Module
var initOrders = []int32{
constant.ROUTER_MGR_MODULE_IDX,
constant.SESSION_MGR_MODULE_IDX,
}
var app common.App
var routerMgr common.RouterMgr
var sessionMgr common.SessionMgr
func GetApp() common.App {
return app
}
func GetRouterMgr() common.RouterMgr {
return routerMgr
}
func GetSessionMgr() common.SessionMgr {
return sessionMgr
}
func RegModule(idx int32, m q5.Module) {
fmt.Printf("RegModule module %d\n", idx)
modules[idx] = m
switch idx {
case constant.APP_MODULE_IDX:
{
app = m.(common.App)
}
case constant.ROUTER_MGR_MODULE_IDX:
{
routerMgr = m.(common.RouterMgr)
}
case constant.SESSION_MGR_MODULE_IDX:
{
sessionMgr = m.(common.SessionMgr)
}
default:
{
panic("unknow module")
}
}
}
func InitModules() {
for _, val := range initOrders {
fmt.Printf("init module %d\n", val)
modules[val].Init()
}
}
func UnInitModules() {
for _, val := range initOrders {
fmt.Printf("unInit module %d", val)
modules[val].UnInit()
}
}