-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Minimal KISS compliant browser
--   
--   Minimal KISS compliant browser
@package hbro
@version 1.0.0.0

module Hbro.Types
data HError
CannotGoBack :: HError
CannotGoForward :: HError
EmptyCallback :: HError
EmptyDownloadURI :: Download -> HError
EmptyRequestURI :: NetworkRequest -> HError
EmptySuggestedFileName :: Download -> HError
InvalidIconURI :: HError
InvalidPageTitle :: HError
InvalidPageURI :: HError
InvalidURI :: String -> HError
IOE :: IOError -> HError
OtherError :: String -> HError
data Context
Context :: CliOptions -> Config -> GUI -> Context -> Hooks -> IORef String -> Context

-- | Commandline options
__options :: Context -> CliOptions

-- | Custom configuration provided by user
__config :: Context -> Config
__UI :: Context -> GUI
__ZMQContext :: Context -> Context
__hooks :: Context -> Hooks
__keys :: Context -> IORef String

-- | Available commandline options (cf hbro -h).
data CliOptions
CliOptions :: Maybe String -> Bool -> Bool -> Bool -> Bool -> Bool -> Maybe String -> CliOptions
__startURI :: CliOptions -> Maybe String
__vanilla :: CliOptions -> Bool
__recompile :: CliOptions -> Bool
__denyReconf :: CliOptions -> Bool
__forceReconf :: CliOptions -> Bool
__dyreDebug :: CliOptions -> Bool
__masterBinary :: CliOptions -> Maybe String
class HasOptions m
_startURI :: HasOptions m => m -> Maybe String
_vanilla :: HasOptions m => m -> Bool
_recompile :: HasOptions m => m -> Bool

-- | Custom settings provided by the user.
data Config
Config :: IO FilePath -> IO FilePath -> URI -> CommandsList -> Config

-- | Directory where ZeroMQ sockets will be created (<a>/tmp</a> for
--   example)
__socketDir :: Config -> IO FilePath

-- | Path to XML file describing UI (used by GtkBuilder)
__UIFile :: Config -> IO FilePath

-- | Startup page
__homePage :: Config -> URI

-- | Commands recognized through 0MQ sockets
__commands :: Config -> CommandsList
class HasConfig m
_socketDir :: HasConfig m => m -> IO FilePath
_UIFile :: HasConfig m => m -> IO FilePath
_homePage :: HasConfig m => m -> URI
_commands :: HasConfig m => m -> CommandsList
class HasKeys m
_keys :: HasKeys m => m -> IORef String
class HasZMQContext m
_ZMQContext :: HasZMQContext m => m -> Context

-- | UI elements that can be built from GtkBuilder.
class Buildable a
build :: Buildable a => Builder -> (MonadIO m => m a)
data GUI
GUI :: Window -> Window -> ScrolledWindow -> WebView -> PromptBar -> StatusBar -> NotificationBar -> Builder -> GUI
__mainWindow :: GUI -> Window
__inspectorWindow :: GUI -> Window

-- | <a>ScrolledWindow</a> containing the webview
__scrollWindow :: GUI -> ScrolledWindow
__webView :: GUI -> WebView
__promptBar :: GUI -> PromptBar

-- | Status bar's horizontal box
__statusBar :: GUI -> StatusBar
__notificationBar :: GUI -> NotificationBar

-- | Builder object created from XML file
__builder :: GUI -> Builder
newtype StatusBar
StatusBar :: HBox -> StatusBar
class HasGUI m
_mainWindow :: HasGUI m => m -> Window
_inspectorWindow :: HasGUI m => m -> Window
_scrollWindow :: HasGUI m => m -> ScrolledWindow
_webView :: HasGUI m => m -> WebView
_promptBar :: HasGUI m => m -> PromptBar
_statusBar :: HasGUI m => m -> StatusBar
_notificationBar :: HasGUI m => m -> NotificationBar
_builder :: HasGUI m => m -> Builder
class HasWebView m
_webview :: HasWebView m => m -> WebView
class HasScrollWindow m
_scrollwindow :: HasScrollWindow m => m -> ScrolledWindow
data PromptBar
PromptBar :: HBox -> Label -> Entry -> PromptBar
_box :: PromptBar -> HBox
_description :: PromptBar -> Label
_entry :: PromptBar -> Entry
class HasPromptBar m
_promptBox :: HasPromptBar m => m -> HBox
_promptDescription :: HasPromptBar m => m -> Label
_promptEntry :: HasPromptBar m => m -> Entry
data NotificationBar
NotificationBar :: Label -> NotificationBar

-- | Content
_label :: NotificationBar -> Label
class HasNotificationBar m
_notificationbar :: HasNotificationBar m => m -> NotificationBar
data Hooks
Hooks :: IORef (Maybe HandlerId) -> IORef (Maybe (ConnectId Entry)) -> IORef (Maybe (ConnectId Entry)) -> Hooks
__notificationTimer :: Hooks -> IORef (Maybe HandlerId)
__promptChanged :: Hooks -> IORef (Maybe (ConnectId Entry))
__promptValidated :: Hooks -> IORef (Maybe (ConnectId Entry))
class HasHooks m
_notificationTimer :: HasHooks m => m -> IORef (Maybe HandlerId)
_promptChanged :: HasHooks m => m -> IORef (Maybe (ConnectId Entry))
_promptValidated :: HasHooks m => m -> IORef (Maybe (ConnectId Entry))
newtype Setup
Setup :: (forall r m. (MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, HasKeys r, MonadError HError m, MonadBaseControl IO m) => m ()) -> Setup
type ClipboardHook = String -> (forall m. (MonadIO m, MonadError HError m, MonadBaseControl IO m) => m ())
type EntryHook = String -> (forall r m. (MonadIO m, MonadBaseControl IO m, MonadError HError m, MonadReader r m, HasConfig r, HasGUI r, HasPromptBar r, HasOptions r, HasZMQContext r, HasHooks r) => m ())
type EntryURIHook = URI -> (forall r m. (MonadIO m, MonadError HError m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasGUI r, HasPromptBar r, HasOptions r, HasZMQContext r, HasHooks r) => m ())
newtype DownloadHook
DownloadHook :: (URI -> String -> Int -> forall r m. (MonadIO m, Functor m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m, MonadBaseControl IO m) => m ()) -> DownloadHook
type KeyHook = String -> forall r m. (MonadIO m, MonadBaseControl IO m, MonadError HError m, MonadReader r m, HasConfig r, HasGUI r, HasPromptBar r, HasOptions r, HasZMQContext r, HasHooks r, HasKeys r) => m ()
newtype LoadFinishedHook
LoadFinishedHook :: (forall r m. (MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m, MonadBaseControl IO m) => m ()) -> LoadFinishedHook
newtype NavigationHook
NavigationHook :: (NavigationReason -> Maybe MouseButton -> URI -> WebPolicyDecision -> forall r m. (MonadIO m, Functor m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, MonadError HError m, MonadBaseControl IO m) => m ()) -> NavigationHook
newtype NewWebViewHook
NewWebViewHook :: (WebFrame -> forall r m. (MonadIO m, Functor m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, MonadError HError m, MonadBaseControl IO m) => m WebView) -> NewWebViewHook
newtype NewWindowHook
NewWindowHook :: (WebFrame -> NetworkRequest -> WebNavigationAction -> WebPolicyDecision -> forall r m. (MonadIO m, Functor m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, MonadError HError m, MonadBaseControl IO m) => m ()) -> NewWindowHook
newtype ResourceOpenedHook
ResourceOpenedHook :: (URI -> String -> WebPolicyDecision -> forall r m. (MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, MonadError HError m, MonadBaseControl IO m) => m ()) -> ResourceOpenedHook
newtype TitleChangedHook
TitleChangedHook :: (String -> forall r m. (MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, MonadError HError m, MonadBaseControl IO m) => m ()) -> TitleChangedHook

-- | List of bound keys. All callbacks are fed with the Context instance.
newtype KeysList
KeysList :: (forall r m. (MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, MonadError HError m, MonadBaseControl IO m) => [(String, m ())]) -> KeysList
newtype CommandsList
CommandsList :: ((Functor m, MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, MonadError HError m) => [(String, [String] -> m String)]) -> CommandsList
type CommandsMap = (MonadIO m, MonadReader Context m) => Map String ([String] -> m String)
data CaseSensitivity
CaseSensitive :: CaseSensitivity
CaseInsensitive :: CaseSensitivity
data Direction
Forward :: Direction
Backward :: Direction
data Wrap
Wrap :: Wrap
NoWrap :: Wrap
data Axis
Horizontal :: Axis
Vertical :: Axis
data Position
Absolute :: Double -> Position
Relative :: Double -> Position
instance Typeable CliOptions
instance Data CliOptions
instance Show CliOptions
instance Eq CliOptions
instance Monoid KeysList
instance Show NavigationReason
instance Eq NavigationReason
instance HasHooks Context
instance HasHooks (a, Hooks)
instance HasGUI m => HasNotificationBar m
instance HasPromptBar Context
instance HasPromptBar GUI
instance HasPromptBar PromptBar
instance HasGUI m => HasScrollWindow m
instance HasGUI m => HasWebView m
instance HasGUI Context
instance HasGUI GUI
instance WidgetClass StatusBar
instance ObjectClass StatusBar
instance GObjectClass StatusBar
instance HasZMQContext Context
instance HasKeys Context
instance HasConfig Context
instance HasConfig Config
instance HasOptions Context
instance HasOptions CliOptions
instance Show HError
instance Error HError

module Hbro.Util

-- | Alias for <a>liftIO</a>
io :: MonadIO m => IO a -> m a

-- | Like <a>forkIO</a> using <a>MVar</a> as thread control
fork :: (MonadIO m, MonadBaseControl IO m) => m () -> m (MVar ())

-- | Like <a>&lt;/&gt;</a> with first argument in IO to build
--   platform-dependent paths.
(>/>) :: MonadIO m => IO FilePath -> FilePath -> m FilePath
logNormal :: MonadIO m => String -> m ()
logVerbose :: MonadIO m => String -> m ()

-- | Run external command and won't kill when parent process exit.
spawn :: MonadIO m => String -> [String] -> m ()

-- | Return the list of process IDs corresponding to all running instances
--   of the browser.
getAllProcessIDs :: MonadIO m => m [ProcessID]

-- | Set a temporary markup text to a label that disappears after some
--   delay.
labelSetMarkupTemporary :: Label -> String -> Int -> IO ()
errorHandler :: FilePath -> IOError -> IO ()
parseURIReference :: MonadError HError m => String -> m URI
parseURI :: MonadError HError m => String -> m URI
networkRequestGetUri :: (MonadIO m, MonadError HError m) => NetworkRequest -> m URI
downloadGetUri :: (MonadIO m, MonadError HError m) => Download -> m URI
downloadGetSuggestedFilename :: (MonadIO m, MonadError HError m) => Download -> m String
isCaseSensitive :: CaseSensitivity -> Bool
isForward :: Direction -> Bool
isWrapped :: Wrap -> Bool
allItalic :: PangoAttribute
allBold :: PangoAttribute
notify :: (Functor m, MonadIO m, MonadReader r m, HasNotificationBar r, HasHooks r, MonadError HError m) => Int -> String -> m ()

-- | Convert a Modifier to a String.
stringify :: Modifier -> String


-- | Designed to be imported as <tt>qualified</tt>.
module Hbro.Clipboard
requestText :: (ClipboardClass self, MonadBaseControl IO m, MonadError HError m) => self -> (String -> m a) -> m ()

-- | Write given String to primary clipboard.
insert :: MonadIO m => String -> m ()
with :: (MonadIO m, MonadBaseControl IO m, MonadError HError m) => (String -> m ()) -> m ()

module Hbro.Gtk.ScrolledWindow
getAdjustment :: MonadIO m => Axis -> ScrolledWindow -> m Adjustment

-- | General scrolling command.
scroll' :: MonadIO m => Axis -> Position -> ScrolledWindow -> m ()
scroll :: (MonadIO m, MonadReader r m, HasScrollWindow r) => Axis -> Position -> m ()

module Hbro.Gtk.Entry
onEntryValidated :: (MonadIO m, MonadBaseControl IO m, MonadError HError m, MonadReader r m, HasConfig r, HasGUI r, HasPromptBar r, HasOptions r, HasZMQContext r, HasHooks r, EntryClass t) => t -> EntryHook -> m (ConnectId t)
onEntryChanged :: (MonadIO m, MonadBaseControl IO m, MonadError HError m, MonadReader r m, HasConfig r, HasGUI r, HasPromptBar r, HasOptions r, HasZMQContext r, HasHooks r, EditableClass t, EntryClass t) => t -> EntryHook -> m (ConnectId t)


-- | Designed to be imported as <tt>qualified</tt>.
module Hbro.Prompt
setup :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasPromptBar r, HasHooks r, HasWebView r, MonadError HError m) => m ()
open :: (MonadIO m, MonadReader r m, HasPromptBar r) => String -> String -> m ()

-- | Close prompt, clean its content and callbacks
clean :: (MonadIO m, MonadReader r m, HasHooks r, HasPromptBar r, MonadBaseControl IO m) => m ()

-- | Open prompt bar with given description and default value, and register
--   a callback to trigger at validation.
read :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasPromptBar r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => String -> String -> EntryHook -> m ()

-- | Same as <a>read</a>, but callback is triggered for each change in
--   prompt's entry.
incrementalRead :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, MonadError HError m) => String -> String -> EntryHook -> m ()

-- | Alias for incrementalRead.
--   
--   Same as <a>read</a>, but callback is triggered for each change in
--   prompt's entry.
iread :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, MonadError HError m) => String -> String -> EntryHook -> m ()
read' :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, MonadError HError m) => Bool -> String -> String -> EntryHook -> m ()

-- | Same as <a>read</a> for URI values
readURI :: (MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, MonadBaseControl IO m, MonadIO m, MonadError HError m) => String -> String -> EntryURIHook -> m ()
instance Buildable PromptBar


-- | Designed to be imported as <tt>qualified</tt>.
module Hbro.Webkit.WebSettings
modify :: (MonadIO m, MonadReader r m, HasWebView r) => Attr WebSettings a -> (a -> a) -> m a
toggle :: (MonadIO m, MonadReader r m, HasWebView r) => Attr WebSettings Bool -> m Bool


-- | Designed to be imported as <tt>qualified</tt>.
module Hbro.Socket

-- | Open a response-socket at configured location, named hbro.<a>pid</a>,
--   and start listening for commands.
open :: (MonadBaseControl IO m, MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => m ()

-- | Close the response socket by sending it the command <a>QUIT</a>.
--   Typically called when exiting application.
close :: (Functor m, MonadIO m, MonadReader r m, HasConfig r, HasZMQContext r) => m ()

-- | Listen for incoming requests from response socket. Parse received
--   commands and feed the corresponding callback, if any.
readCommands :: (Functor m, MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => Socket Rep -> m ()
postGUISync' :: MonadBaseControl IO m => m a -> m a

-- | Return socket URI used for the current process.
getPath :: (Functor m, MonadIO m, MonadReader r m, HasConfig r) => m String

-- | Return the socket path to use for the given browser's process ID.
socketPath :: ProcessID -> FilePath -> String
send :: MonadIO m => Socket a -> String -> m ()
read :: MonadIO m => Socket a -> m String

-- | Send a single command (through a Request socket) to the given Response
--   socket, and return the answer.
sendCommand :: (MonadIO m, MonadReader r m, HasZMQContext r) => String -> String -> m String

-- | Same as <a>sendCommand</a>, but for all running instances of the
--   browser.
sendCommandToAll :: (MonadIO m, MonadReader r m, HasConfig r, HasZMQContext r) => String -> m [String]

module Hbro.Keys
keyToString :: KeyVal -> Maybe String

-- | Look for a callback associated to the given keystrokes and trigger it,
--   if any.
defaultKeyHandler :: KeysList -> KeyHook

-- | Emacs-like key handler.
emacsKeyHandler :: (MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, HasKeys r, MonadError HError m, MonadBaseControl IO m) => KeysList -> [String] -> String -> m ()


-- | Rewrite many <a>WebView</a> functions in a monadic way.
module Hbro.Webkit.WebView
setup :: (MonadIO m, MonadReader r m, HasWebView r) => m ()
webViewGetUri :: (MonadIO m, MonadError HError m) => WebView -> m URI
webViewGetTitle :: (MonadIO m, MonadError HError m) => WebView -> m String
webViewGetIconUri :: (MonadIO m, MonadError HError m) => WebView -> m URI
getFaviconURI :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => m URI
getLoadProgress :: (MonadIO m, MonadReader r m, HasWebView r) => m Double
getURI :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => m URI
getTitle :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => m String
loadURI :: (MonadIO m, MonadReader r m, HasWebView r) => URI -> m ()
reload :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => m ()
reloadBypassCache :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => m ()
stopLoading :: (MonadIO m, MonadReader r m, HasWebView r) => m ()
goBack :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => m ()
goForward :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => m ()

-- | Toggle source display. Current implementation forces a refresh of
--   current web page, which may be undesired.
toggleSourceMode :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => m ()
zoomIn :: (MonadIO m, MonadReader r m, HasWebView r) => m ()
zoomOut :: (MonadIO m, MonadReader r m, HasWebView r) => m ()

-- | Show web inspector for current webpage.
showWebInspector :: (MonadIO m, MonadReader r m, HasWebView r) => m ()
afterKeyPressed :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, MonadError HError m, HasKeys r) => KeyHook -> m (ConnectId WebView)

-- | Triggered in 2 cases: 1/ Javascript window.open() 2/ Context menu
--   <a>Open in new window</a>
onNewWebView :: (MonadIO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasPromptBar r, HasZMQContext r, HasHooks r, HasKeys r, MonadError HError m) => NewWebViewHook -> m (ConnectId WebView)
onDownload :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => DownloadHook -> m (ConnectId WebView)
onLoadFinished :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => LoadFinishedHook -> m (ConnectId WebView)
onNavigationRequest :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => NavigationHook -> m (ConnectId WebView)
onNewWindow :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => NewWindowHook -> m (ConnectId WebView)
onResourceOpened :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => ResourceOpenedHook -> m (ConnectId WebView)
onTitleChanged :: (MonadIO m, MonadBaseControl IO m, MonadReader r m, HasConfig r, HasOptions r, HasGUI r, HasZMQContext r, HasHooks r, MonadError HError m) => TitleChangedHook -> m (ConnectId WebView)

-- | Wrapper around <tt>webViewSearchText</tt>, provided for convenience
searchText :: (MonadIO m, MonadReader r m, HasWebView r) => CaseSensitivity -> Direction -> Wrap -> String -> m Bool
searchText_ :: (MonadIO m, MonadReader r m, HasWebView r) => CaseSensitivity -> Direction -> Wrap -> String -> m ()

-- | Wrapper around <tt>webFramePrint</tt> function, provided for
--   convenience.
printPage :: (MonadIO m, MonadReader r m, HasWebView r) => m ()
instance Default NewWebViewHook
instance Buildable (WebView, ScrolledWindow)

module Hbro.Gui

-- | Return the casted GObject corresponding to the given name (set in the
--   builder's XML file)
getObject :: (MonadIO m, MonadReader r m, HasGUI r, GObjectClass a) => (GObject -> a) -> String -> m a
build' :: (MonadIO m, MonadReader r m, HasConfig r) => m GUI
setupScrollWindow :: (MonadIO m, MonadReader r m, HasGUI r) => m ()
setupWindow :: (MonadIO m, MonadReader r m, HasGUI r) => m ()
initWebInspector :: MonadIO m => WebView -> VBox -> m (Window)

-- | Toggle a widget's visibility (provided for convenience).
toggleVisibility :: (MonadIO m, WidgetClass a) => a -> m ()
instance Buildable NotificationBar
instance Buildable StatusBar
instance Buildable (Window, VBox)

module Hbro.Core
goHome :: (MonadIO m, MonadReader r m, HasConfig r, HasWebView r, MonadError HError m) => m ()
quit :: MonadIO m => m ()

-- | Execute a javascript file on current webpage.
executeJSFile :: MonadIO m => FilePath -> WebView -> m ()

-- | Save current web page to a file, along with all its resources in a
--   separated directory. Doesn't work for now, because
--   web_resource_get_data's binding is missing...
_savePage :: String -> WebView -> IO ()

module Hbro.Default
instance Default CommandsList
instance Default KeysList
instance Default TitleChangedHook
instance Default ResourceOpenedHook
instance Default NavigationHook
instance Default NewWindowHook
instance Default Setup
instance Default Config

module Hbro.Boot
baseOptions :: CliOptions

-- | Available commandline options (cf hbro -h).
cliOptions :: Mode (CmdArgs CliOptions)

-- | Print various paths used for dynamic reconfiguration
printDyrePaths :: IO ()

-- | Dynamic reconfiguration settings
dyreParameters :: Params (Either String (Config, Setup, CliOptions))

-- | Launch a recompilation of the configuration file
recompile :: IO (Maybe String)

-- | Main function to call in the configuration file (cf <a>Main</a>) First
--   parse commandline options, then perform dynamic reconfiguration
--   process
hbro :: Config -> Setup -> IO ()

-- | Entry point called after dynamic recompilation.
realMain :: Either String (Config, Setup, CliOptions) -> IO ()
getStartURI :: CliOptions -> IO (Maybe URI)
interruptHandler :: IO ()

module Hbro
