module Rakka.Storage ( Storage , mkStorage -- private , getPage , putPage , getPageA , putPageA ) where import Control.Arrow.ArrowIO import Control.Monad.Trans import Rakka.Page import Rakka.Storage.DefaultPage import Subversion.Types data Storage = Storage -- FIXME mkStorage :: Storage -- FIXME mkStorage = Storage getPage :: MonadIO m => Storage -> PageName -> m (Maybe Page) getPage sto name = liftIO $ loadDefaultPage name -- FIXME putPage :: MonadIO m => Storage -> Maybe RevNum -> Page -> m () putPage sto oldRev page = error "FIXME: not implemented" getPageA :: ArrowIO a => Storage -> a PageName (Maybe Page) getPageA = arrIO . getPage putPageA :: ArrowIO a => Storage -> a (Maybe RevNum, Page) () putPageA = arrIO2 . putPage