func (p *Provider) PrimaryPacker() packer.Packer {
	return p.PackerValue
}
PrimaryPacker returns the main Packer service.
package provider
import (
	jsonld "github.com/piprate/json-gold/ld"
	"github.com/hyperledger/aries-framework-go/pkg/crypto"
	"github.com/hyperledger/aries-framework-go/pkg/didcomm/dispatcher"
	"github.com/hyperledger/aries-framework-go/pkg/didcomm/packer"
	vdrapi "github.com/hyperledger/aries-framework-go/pkg/framework/aries/api/vdr"
	"github.com/hyperledger/aries-framework-go/pkg/kms"
	"github.com/hyperledger/aries-framework-go/pkg/store/did"
	"github.com/hyperledger/aries-framework-go/pkg/store/ld"
	"github.com/hyperledger/aries-framework-go/spi/storage"
)
type Provider struct {
	ServiceValue                      interface{}
	ServiceErr                        error
	ServiceMap                        map[string]interface{}
	KMSValue                          kms.KeyManager
	ServiceEndpointValue              string
	StorageProviderValue              storage.Provider
	ProtocolStateStorageProviderValue storage.Provider
	DIDConnectionStoreValue           did.ConnectionStore
	PackerList                        []packer.Packer
	PackerValue                       packer.Packer
	OutboundDispatcherValue           dispatcher.Outbound
	VDRegistryValue                   vdrapi.Registry
	CryptoValue                       crypto.Crypto
	ContextStoreValue                 ld.ContextStore
	RemoteProviderStoreValue          ld.RemoteProviderStore
	DocumentLoaderValue               jsonld.DocumentLoader
	KeyTypeValue                      kms.KeyType
	KeyAgreementTypeValue             kms.KeyType
	MediaTypeProfilesValue            []string
}
func (p *Provider) Service(id string) (interface{}, error) {
	if p.ServiceErr != nil {
		return nil, p.ServiceErr
	}
	if p.ServiceMap[id] != nil {
		return p.ServiceMap[id], nil
	}
	return p.ServiceValue, nil
}
func (p *Provider) KMS() kms.KeyManager {
	return p.KMSValue
}
func (p *Provider) Crypto() crypto.Crypto {
	return p.CryptoValue
}
func (p *Provider) ServiceEndpoint() string {
	return p.ServiceEndpointValue
}
func (p *Provider) RouterEndpoint() string {
	return p.ServiceEndpointValue
}
func (p *Provider) StorageProvider() storage.Provider {
	return p.StorageProviderValue
}
func (p *Provider) ProtocolStateStorageProvider() storage.Provider {
	return p.ProtocolStateStorageProviderValue
}
func (p *Provider) DIDConnectionStore() did.ConnectionStore {
	return p.DIDConnectionStoreValue
}
func (p *Provider) Packers() []packer.Packer {
	return p.PackerList
}