module Rakka.Storage ( Storage , mkStorage -- private , getPage , putPage , getPageA , putPageA ) where import Control.Arrow.ArrowIO import Rakka.Page import Rakka.Storage.DefaultPage import Subversion.Types data Storage = Storage -- FIXME mkStorage :: IO Storage -- FIXME mkStorage = return Storage getPage :: Storage -> PageName -> IO (Maybe Page) getPage sto name = loadDefaultPage name -- FIXME putPage :: Storage -> Maybe RevNum -> Page -> IO () 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