package main

import (
	"datasync/kpt"
	"github.com/kardianos/service"
	"os"
	"time"
)

type program struct{}
func (p *program) Start(s service.Service) error {
	go p.run()
	return nil
}

func (p *program) run() {
	// 代码写在这儿
	kpt.RunService()

}

func (p *program) Stop(s service.Service) error {
	kpt.Ch<-1
	<-time.After(time.Second * 1)
	return nil
}

/**
* MAIN函数，程序入口
 */

func main() {
	kpt.Readini()
	svcConfig := &service.Config{
		Name:        kpt.ServiceName, //服务显示名称
		DisplayName: kpt.ServiceDisplayName, //服务名称
		Description: kpt.ServiceDescription, //服务描述
		Dependencies: []string{"TMRWatchDB"},
	}

	prg := &program{}
	s, _ := service.New(prg, svcConfig)

	if len(os.Args) > 1 {
		if os.Args[1] == "install" {
			s.Install()
			return
		}

		if os.Args[1] == "remove" {
			s.Uninstall()
			return
		}
	}

	_ = s.Run()
}
