aboutsummaryrefslogtreecommitdiffstats
path: root/bridge/core/interfaces.go
diff options
context:
space:
mode:
Diffstat (limited to 'bridge/core/interfaces.go')
-rw-r--r--bridge/core/interfaces.go26
1 files changed, 15 insertions, 11 deletions
diff --git a/bridge/core/interfaces.go b/bridge/core/interfaces.go
index 5336e7a8..5ead3c8f 100644
--- a/bridge/core/interfaces.go
+++ b/bridge/core/interfaces.go
@@ -7,23 +7,27 @@ import (
type Configuration map[string]string
-type Importer interface {
- ImportAll(repo *cache.RepoCache, conf Configuration) error
- Import(repo *cache.RepoCache, conf Configuration, id string) error
-}
-
-type Exporter interface {
- ExportAll(repo *cache.RepoCache, conf Configuration) error
- Export(repo *cache.RepoCache, conf Configuration, id string) error
-}
-
type BridgeImpl interface {
- Name() string
+ // Target return the target of the bridge (e.g.: "github")
+ Target() string
// Configure handle the user interaction and return a key/value configuration
// for future use
Configure(repo repository.RepoCommon) (Configuration, error)
+ // Importer return an Importer implementation if the import is supported
Importer() Importer
+
+ // Exporter return an Exporter implementation if the export is supported
Exporter() Exporter
}
+
+type Importer interface {
+ ImportAll(repo *cache.RepoCache, conf Configuration) error
+ Import(repo *cache.RepoCache, conf Configuration, id string) error
+}
+
+type Exporter interface {
+ ExportAll(repo *cache.RepoCache, conf Configuration) error
+ Export(repo *cache.RepoCache, conf Configuration, id string) error
+}