// 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 }