forked from hyperledger-archives/aries-framework-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
protocol.go
53 lines (45 loc) · 1.95 KB
/
protocol.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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
Copyright SecureKey Technologies Inc. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package api
import (
"errors"
"github.com/Universal-Health-Chain/aries-framework-go/pkg/crypto"
"github.com/Universal-Health-Chain/aries-framework-go/pkg/didcomm/common/service"
"github.com/Universal-Health-Chain/aries-framework-go/pkg/didcomm/common/transport"
"github.com/Universal-Health-Chain/aries-framework-go/pkg/didcomm/dispatcher"
didcommtransport "github.com/Universal-Health-Chain/aries-framework-go/pkg/didcomm/transport"
vdrapi "github.com/Universal-Health-Chain/aries-framework-go/pkg/framework/aries/api/vdr"
"github.com/Universal-Health-Chain/aries-framework-go/pkg/kms"
"github.com/Universal-Health-Chain/aries-framework-go/pkg/secretlock"
"github.com/Universal-Health-Chain/aries-framework-go/pkg/storage"
"github.com/Universal-Health-Chain/aries-framework-go/pkg/store/verifiable"
)
// ErrSvcNotFound is returned when service not found.
var ErrSvcNotFound = errors.New("service not found")
// Provider interface for protocol ctx.
type Provider interface {
OutboundDispatcher() dispatcher.Outbound
Messenger() service.Messenger
Service(id string) (interface{}, error)
StorageProvider() storage.Provider
KMS() kms.KeyManager
SecretLock() secretlock.Service
Crypto() crypto.Crypto
Packager() transport.Packager
ServiceEndpoint() string
RouterEndpoint() string
VDRegistry() vdrapi.Registry
ProtocolStateStorageProvider() storage.Provider
InboundMessageHandler() didcommtransport.InboundMessageHandler
OutboundMessageHandler() service.OutboundHandler
VerifiableStore() verifiable.Store
}
// ProtocolSvcCreator method to create new protocol service.
type ProtocolSvcCreator func(prv Provider) (dispatcher.ProtocolService, error)
// MessageServiceProvider is provider of message services.
type MessageServiceProvider interface {
// Services returns list of available message services in this message handler
Services() []dispatcher.MessageService
}