summaryrefslogtreecommitdiffhomepage
path: root/UI.hs
diff options
context:
space:
mode:
Diffstat (limited to 'UI.hs')
-rw-r--r--UI.hs20
1 files changed, 20 insertions, 0 deletions
diff --git a/UI.hs b/UI.hs
new file mode 100644
index 0000000..7e583cf
--- /dev/null
+++ b/UI.hs
@@ -0,0 +1,20 @@
+{- Copyright 2016 Joey Hess <id@joeyh.name>
+ -
+ - Licensed under the GNU AGPL version 3 or higher.
+ -}
+
+module UI where
+
+import Types
+
+data UI = UI
+ { isAvailable :: IO Bool
+ , promptName :: Title -> Desc -> (Name -> Maybe Problem) -> IO (Maybe Name)
+ , promptPassword :: Title -> Desc -> (Password -> Maybe Problem) -> IO (Maybe Password)
+ , withProgress :: Title -> Desc -> ((Percent -> IO ()) -> IO ()) -> IO ()
+ }
+
+type Title = String
+type Desc = String
+type Percent = Int
+type Problem = String