// package applic -- главный тип приложения, содержит бота, интерфейсы и т.п. package applic import ( . "wartank/app/lev0/types" "wartank/app/lev3/farm_bots" "wartank/app/lev3/serv_web" "wartank/app/lev3/server_stat" "wartank/kernel" . "wartank/kernel/kernel_types" ) // Приложение -- главный тип приложения type Приложение struct { ИЯдроКонтекст ботоФерма *farm_bots.БотоФерма сервСтат ИСерверСтат лог ИЯдроЛог ядроВеб ИЯдроСерверВеб } // НовПриложение -- возвращает новый объект приложения func НовПриложение() *Приложение { лог := kernel.НовЛог("Приложение") лог.Инфо("НовПриложение()\n") сам := &Приложение{ ИЯдроКонтекст: kernel.НовКонтекст(), лог: лог, } _ = kernel.НовХранилище(сам) сам.ядроВеб = kernel.НовСервХттп(сам) сам.Уст("приложение", сам) сам.ботоФерма = farm_bots.НовБотоФерма(сам) _ = serv_web.НовСервВеб(сам) сам.сервСтат = server_stat.НовСерверСтат(сам) _ = ИПриложение(сам) return сам } // Пуск -- запускает сервер бота в работу func (сам *Приложение) Пуск() { сам.лог.Инфо("НовПриложение.Пуск()\n") сам.ядроВеб.Run() <-сам.Конт().Done() } // Стат -- возвращает статистику сервера func (сам *Приложение) Стат() ИСерверСтат { return сам.сервСтат } // ServBots -- возвращает словарь ботов func (сам *Приложение) ServBots() ИБотоФерма { return сам.ботоФерма }