packages feed

EtaMOO-0.3.0.0: src/MOO/Database.hs-boot

-- -*- Haskell -*-

module MOO.Database ( Database
                    , ServerOptions
                    , Persistence
                    , serverOptions
                    , getServerOption'
                    , initDatabase
                    , dbObject
                    , modifyObject
                    , loadServerOptions
                    , fgSeconds
                    , bgSeconds
                    , fgTicks
                    , bgTicks
                    , maxStackDepth
                    , queuedTaskLimit
                    , protectProperty
                    , supportNumericVerbnameStrings
                    , persistenceVSpace
                    , persistenceDatabase
                    , persistenceConnected
                    ) where

import Database.VCache (VSpace, PVar, VTx)

import {-# SOURCE #-} MOO.Object (Object)
import {-# SOURCE #-} MOO.Task (MOO)
import MOO.Types

data Database
data ServerOptions
data Persistence

type Connected = [(ObjId, ObjId)]

serverOptions :: Database -> ServerOptions
getServerOption' :: ObjId -> Id -> MOO (Maybe Value)

initDatabase :: Database

dbObject :: ObjId -> Database -> VTx (Maybe Object)
modifyObject :: ObjId -> Database -> (Object -> VTx Object) -> VTx ()

loadServerOptions :: MOO ()

fgSeconds :: ServerOptions -> Int
bgSeconds :: ServerOptions -> Int

fgTicks :: ServerOptions -> Int
bgTicks :: ServerOptions -> Int

maxStackDepth :: ServerOptions -> Int
queuedTaskLimit :: ServerOptions -> Maybe Int

protectProperty :: ServerOptions -> Id -> Bool

supportNumericVerbnameStrings :: ServerOptions -> Bool

persistenceVSpace :: Persistence -> VSpace
persistenceDatabase :: Persistence -> PVar Database
persistenceConnected :: Persistence -> PVar Connected