]> gitweb @ CieloNegro.org - Rakka.git/blob - Rakka/Storage.hs
I'm getting tired so I must have a rest.
[Rakka.git] / Rakka / Storage.hs
1 module Rakka.Storage
2     ( Storage
3
4     , mkStorage -- private
5
6     , getPage
7     , putPage
8
9     , getPageA
10     , putPageA
11     )
12     where
13
14 import           Control.Arrow.ArrowIO
15 import           Rakka.Page
16 import           Rakka.Storage.DefaultPage
17 import           Subversion.Types
18
19
20 data Storage = Storage -- FIXME
21
22
23 mkStorage :: IO Storage -- FIXME
24 mkStorage = return Storage
25
26
27 getPage :: Storage -> PageName -> IO (Maybe Page)
28 getPage sto name
29     = loadDefaultPage name -- FIXME
30
31
32 putPage :: Storage -> Maybe RevNum -> Page -> IO ()
33 putPage sto oldRev page
34     = error "FIXME: not implemented"
35
36
37 getPageA :: ArrowIO a => Storage -> a PageName (Maybe Page)
38 getPageA = arrIO . getPage 
39
40
41 putPageA :: ArrowIO a => Storage -> a (Maybe RevNum, Page) ()
42 putPageA = arrIO2 . putPage