68 lines
1.1 KiB
Go
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()
|
|
}
|
|
}
|