aboutsummaryrefslogtreecommitdiff
path: root/desire.go
blob: 4918a065e36a5ceddfef746a45a8cf4c40f0ad2a (plain)
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
package acme

import "crypto"

type Desire struct {
	key    crypto.PrivateKey
	solver map[ChalType]Solver
}

func NewDesire(key crypto.PrivateKey) *Desire {
	return &Desire{
		key:    key,
		solver: make(map[ChalType]Solver),
	}
}

func (d *Desire) RegisterSolver(s Solver) {
	if s != nil {
		d.solver[s.Type()] = s
	}
}

func (d *Desire) HasSolver() bool {
	return len(d.solver) > 0
}