module Data.Capnp
(
Classes.ListElem(..)
, Classes.MutListElem(..)
, Basics.Data
, Basics.dataBytes
, Basics.Text
, Basics.textBytes
, Message.ConstMsg
, Message.Message(..)
, Message.MutMsg
, Message.newMessage
, decodeMessage
, encodeMessage
, Message.hPutMsg
, Message.putMsg
, Message.hGetMsg
, Message.getMsg
, Codec.getRoot
, Codec.newRoot
, Codec.setRoot
, hGetValue
, getValue
, Message.WriteCtx
, Untyped.ReadCtx
, Untyped.RWCtx
, module Data.Capnp.TraversalLimit
, module Data.Mutable
, PureBuilder
, createPure
) where
import Control.Monad.Catch (MonadThrow)
import qualified Data.ByteString as BS
import qualified Data.ByteString.Builder as BB
import Data.Capnp.TraversalLimit
import Data.Mutable
import Data.Capnp.IO (getValue, hGetValue)
import Internal.BuildPure (PureBuilder, createPure)
import qualified Codec.Capnp as Codec
import qualified Data.Capnp.Basics as Basics
import qualified Data.Capnp.Classes as Classes
import qualified Data.Capnp.Message as Message
import qualified Data.Capnp.Untyped as Untyped
encodeMessage :: MonadThrow m => Message.ConstMsg -> m BB.Builder
encodeMessage = Message.encode
decodeMessage :: MonadThrow m => BS.ByteString -> m Message.ConstMsg
decodeMessage = Message.decode