| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- // package desc_lorca -- главный тип десктопного приложения для lorca
- package desc_lorca
- import (
- "fmt"
- "log"
- "wartank/desc_lorca/lorca_gui"
- "wartank/server"
- )
- // ДесктопЛорка -- главный тип десктопного приложения для lorca
- type ДесктопЛорка struct {
- сервер *server.Сервер // Сервер для взаимодействия с лоркой
- гипЛорка *lorca_gui.ЛоркаГуи // ГИП десктопа на Лорке
- }
- // НовДесктопЛорка -- возвращает новый десктоп на Лорке
- func НовДесктопЛорка() (*ДесктопЛорка, error) {
- гип, ош := lorca_gui.НовЛоркаГуи()
- if ош != nil {
- return nil, fmt.Errorf("НовДесктопЛорка(): при создании ЛоркаГуи, ош=\n\t%w", ош)
- }
- сам := &ДесктопЛорка{
- гипЛорка: гип,
- }
- сам.сервер, ош = server.НовСервер()
- if ош != nil {
- return nil, fmt.Errorf("НовДесктопЛорка(): при создании ИСервер, ош=\n\t%w", ош)
- }
- return сам, nil
- }
- // Отменить -- отменяет работу десктопа
- func (сам *ДесктопЛорка) Отменить() {
- сам.сервер.Отменить()
- }
- // Пуск -- запускает работу десктопа
- func (сам *ДесктопЛорка) Пуск() error {
- go func() {
- ош := сам.сервер.Пуск()
- if ош != nil {
- log.Printf("ДесктопЛорка.Пуск(): ош=\n\t%v\n", ош)
- }
- }()
- сам.сервер.Wg().Wait()
- return nil
- }
|