1package run
2
3import (
4	"context"
5
6	"github.com/ooni/probe-cli/v3/internal/engine/experiment/dnscheck"
7	"github.com/ooni/probe-cli/v3/internal/engine/model"
8)
9
10type experimentMain interface {
11	do(ctx context.Context, input StructuredInput,
12		sess model.ExperimentSession, measurement *model.Measurement,
13		callbacks model.ExperimentCallbacks) error
14}
15
16var table = map[string]experimentMain{
17	// TODO(bassosimone): before extending run to support more than
18	// single experiment, we need to handle the case in which we are
19	// including different experiments into the same report ID.
20	// Probably, the right way to implement this functionality is to
21	// use proveservices.Submitter to submit reports.
22	"dnscheck": &dnsCheckMain{
23		Endpoints: &dnscheck.Endpoints{},
24	},
25	"urlgetter": &urlGetterMain{},
26}
27