//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// Code generated by iocli, run 'iocli gen' to re-generate

package dynamic_plugin

import (
	"github.com/alibaba/ioc-golang/autowire"
	"github.com/alibaba/ioc-golang/autowire/singleton"
	util "github.com/alibaba/ioc-golang/autowire/util"
)

func init() {
	dynamicPluginServiceImplStructDescriptor := &autowire.StructDescriptor{
		Factory: func() interface{} {
			return &dynamicPluginServiceImpl{}
		},
		Metadata: map[string]interface{}{
			"aop":      map[string]interface{}{},
			"autowire": map[string]interface{}{},
		},
		DisableProxy: true,
	}
	singleton.RegisterStructDescriptor(dynamicPluginServiceImplStructDescriptor)
}

var _dynamicPluginServiceImplSDID string

func GetdynamicPluginServiceImplSingleton() (*dynamicPluginServiceImpl, error) {
	if _dynamicPluginServiceImplSDID == "" {
		_dynamicPluginServiceImplSDID = util.GetSDIDByStructPtr(new(dynamicPluginServiceImpl))
	}
	i, err := singleton.GetImpl(_dynamicPluginServiceImplSDID, nil)
	if err != nil {
		return nil, err
	}
	impl := i.(*dynamicPluginServiceImpl)
	return impl, nil
}
