forked from hyperledger/fabric-sdk-go
/
svcfactory.go
34 lines (27 loc) · 1.24 KB
/
svcfactory.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
Copyright SecureKey Technologies Inc. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package defsvc
import (
discovery "github.com/hyperledger/fabric-sdk-go/pkg/client/common/discovery/staticdiscovery"
"github.com/hyperledger/fabric-sdk-go/pkg/common/options"
"github.com/hyperledger/fabric-sdk-go/pkg/common/providers/fab"
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/provider/chpvdr"
)
// ProviderFactory represents the default SDK provider factory for services.
type ProviderFactory struct{}
// NewProviderFactory returns the default SDK provider factory for services.
func NewProviderFactory() *ProviderFactory {
f := ProviderFactory{}
return &f
}
// CreateLocalDiscoveryProvider returns a static local discovery provider. This should be changed
// to use the dynamic provider when Fabric 1.1 is no longer supported
func (f *ProviderFactory) CreateLocalDiscoveryProvider(config fab.EndpointConfig) (fab.LocalDiscoveryProvider, error) {
return discovery.NewLocalProvider(config)
}
// CreateChannelProvider returns a new default implementation of channel provider
func (f *ProviderFactory) CreateChannelProvider(config fab.EndpointConfig, opts ...options.Opt) (fab.ChannelProvider, error) {
return chpvdr.New(config, opts...)
}