hen-0.1.0.1: Haskell bindings to Xen hypervisor interface

Safe HaskellNone

System.Xen.High.Internal

Synopsis

Documentation

newtype XenT m a Source

Constructors

XenT 

Fields

unXenT :: ReaderT XcHandle m a
 

Instances

MonadTrans XenT 
MonadRWS r w s m => MonadRWS r w s (XenT m) 
MonadReader r m => MonadReader r (XenT m) 
MonadState s m => MonadState s (XenT m) 
MonadWriter w m => MonadWriter w (XenT m) 
Monad m => Monad (XenT m) 
Functor m => Functor (XenT m) 
Applicative m => Applicative (XenT m) 
MonadCatch m => MonadCatch (XenT m) 
MonadIO m => MonadIO (XenT m) 
(Functor m, MonadIO m, MonadCatch m) => MonadXen (XenT m) 

class (Functor m, MonadIO m) => MonadXen m whereSource

Methods

withXenHandle :: (XcHandle -> m a) -> m aSource

Helper function for creating high-level interface functions from mid-level. Generally high-level function is just highLevel = withXenHandle midLevel.

Instances

MonadXen m => MonadXen (IdentityT m) 
(Functor m, MonadIO m, MonadCatch m) => MonadXen (XenT m) 
MonadXen m => MonadXen (ContT r m) 
(MonadXen m, Error e) => MonadXen (ErrorT e m) 
MonadXen m => MonadXen (ReaderT r m) 
MonadXen m => MonadXen (StateT s m) 
MonadXen m => MonadXen (StateT s m) 
(MonadXen m, Monoid w) => MonadXen (WriterT w m) 
(MonadXen m, Monoid w) => MonadXen (WriterT w m) 
(MonadXen m, Monoid w) => MonadXen (RWST r w s m) 
(MonadXen m, Monoid w) => MonadXen (RWST r w s m) 

runXenT :: (Functor m, MonadIO m, MonadCatch m) => XenT m a -> m (Either SomeException a)Source

Open new connection to the hypervisor, run any Xen action and close connection if nessesary. This function can fail with Either SomeException with XcHandleOpenError and any error of providing Xen action.