func (sm *SMMgrImpl) SetLocalServiceExecutor(s executor.ServiceExecutor) {
	s.SetClient(sm.Clienter)
	sm.serviceExecutor = s
}
SetLocalServiceExecutor sets executor and client
package servicemgr
import (
	"strings"
	"github.com/lf-edge/edge-home-orchestration-go/internal/common/logmgr"
	"github.com/lf-edge/edge-home-orchestration-go/internal/common/networkhelper"
	"github.com/lf-edge/edge-home-orchestration-go/internal/controller/configuremgr"
	"github.com/lf-edge/edge-home-orchestration-go/internal/controller/servicemgr/executor"
	"github.com/lf-edge/edge-home-orchestration-go/internal/controller/servicemgr/notification"
	"github.com/lf-edge/edge-home-orchestration-go/internal/restinterface/client"
)
type ServiceMgr interface {
	Execute(target, name, requester string, args []interface{}, notiChan chan string) (err error)
	SetLocalServiceExecutor(s executor.ServiceExecutor)
	ExecuteAppOnLocal(appInfo map[string]interface{})
	client.Setter
}
type SMMgrImpl struct {
	serviceExecutor executor.ServiceExecutor
	client.HasClient
}
var (
	serviceMgr *SMMgrImpl
	log        = logmgr.GetInstance()
)
func init() {
	ServiceMap = ConcurrentMap{items: make(map[uint64]interface{})}
	serviceMgr = &SMMgrImpl{}
}
func GetInstance() *SMMgrImpl {
	return serviceMgr
}