module Holumbus.FileSystem.Node
(
NodeClass(..)
)
where
import qualified Holumbus.FileSystem.Storage as S
import Holumbus.Network.Communication
class NodeClass n where
closeNode :: n -> IO ()
createFile :: S.FileId -> S.FileContent -> n -> IO ()
createFiles :: [(S.FileId,S.FileContent)] -> n -> IO ()
appendFile :: S.FileId -> S.FileContent -> n -> IO ()
deleteFile :: S.FileId -> Bool -> n -> IO ()
copyFile :: S.FileId -> ClientPort -> n -> IO ()
containsFile :: S.FileId -> n -> IO Bool
getFileContent :: S.FileId -> n -> IO (Maybe S.FileContent)
getMultiFileContent :: [S.FileId] -> n -> IO [(S.FileId,S.FileContent)]
getFileData :: S.FileId -> n -> IO (Maybe S.FileData)
getFileIds :: n -> IO [S.FileId]