| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- // package applic -- главный тип приложения, содержит бота, интерфейсы и т.п.
- package applic
- import (
- . "gitp78su.ipnodns.ru/svi/kern"
- . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
- . "wartank/app/lev0/types"
- "wartank/app/lev3/farm_bots"
- "wartank/app/lev3/serv_web"
- "wartank/app/lev3/server_stat"
- )
- // Приложение -- главный тип приложения
- type Приложение struct {
- IKernelCtx
- ботоФерма *farm_bots.БотоФерма
- сервСтат ИСерверСтат
- лог ILogBuf
- ядроВеб IKernelServerHttp
- }
- // НовПриложение -- возвращает новый объект приложения
- func НовПриложение() *Приложение {
- лог := NewLogBuf()
- лог.Info("НовПриложение()\n")
- сам := &Приложение{
- IKernelCtx: GetKernelCtx(),
- лог: лог,
- }
- _ = GetKernelStoreKv()
- сам.ядроВеб = GetKernelServerHttp()
- сам.Set("приложение", сам, "Приложение WarTank")
- сам.ботоФерма = farm_bots.НовБотоФерма(сам)
- _ = serv_web.НовСервВеб(сам)
- сам.сервСтат = server_stat.НовСерверСтат(сам)
- _ = ИПриложение(сам)
- return сам
- }
- // Пуск -- запускает сервер бота в работу
- func (сам *Приложение) Пуск() {
- сам.лог.Info("НовПриложение.Пуск()\n")
- сам.ядроВеб.Run()
- <-сам.Ctx().Done()
- }
- // Стат -- возвращает статистику сервера
- func (сам *Приложение) Стат() ИСерверСтат {
- return сам.сервСтат
- }
- // ServBots -- возвращает словарь ботов
- func (сам *Приложение) ServBots() ИБотоФерма {
- return сам.ботоФерма
- }
|