concrete-haskell-0.1.0.5: src/AnnotateCommunicationService_Client.hs
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-missing-fields #-}
{-# OPTIONS_GHC -fno-warn-missing-signatures #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-----------------------------------------------------------------
-- Autogenerated by Thrift Compiler (0.10.0) --
-- --
-- DO NOT EDIT UNLESS YOU ARE SURE YOU KNOW WHAT YOU ARE DOING --
-----------------------------------------------------------------
module AnnotateCommunicationService_Client(annotate,getMetadata,getDocumentation,shutdown) where
import qualified Data.IORef as R
import Prelude (($), (.), (>>=), (==), (++))
import qualified Prelude as P
import qualified Control.Exception as X
import qualified Control.Monad as M ( liftM, ap, when )
import Data.Functor ( (<$>) )
import qualified Data.ByteString.Lazy as LBS
import qualified Data.Hashable as H
import qualified Data.Int as I
import qualified Data.Maybe as M (catMaybes)
import qualified Data.Text.Lazy.Encoding as E ( decodeUtf8, encodeUtf8 )
import qualified Data.Text.Lazy as LT
import qualified GHC.Generics as G (Generic)
import qualified Data.Typeable as TY ( Typeable )
import qualified Data.HashMap.Strict as Map
import qualified Data.HashSet as Set
import qualified Data.Vector as Vector
import qualified Test.QuickCheck.Arbitrary as QC ( Arbitrary(..) )
import qualified Test.QuickCheck as QC ( elements )
import qualified Thrift as T
import qualified Thrift.Types as T
import qualified Thrift.Arbitraries as T
import qualified Metadata_Types
import qualified Language_Types
import qualified Structure_Types
import qualified Entities_Types
import qualified Situations_Types
import qualified Ex_Types
import qualified Email_Types
import qualified Twitter_Types
import qualified Audio_Types
import qualified Communication_Types
import Annotate_Types
import AnnotateCommunicationService
seqid = R.newIORef 0
annotate (ip,op) arg_original = do
send_annotate op arg_original
recv_annotate ip
send_annotate op arg_original = do
seq <- seqid
seqn <- R.readIORef seq
T.writeMessageBegin op ("annotate", T.M_CALL, seqn)
write_Annotate_args op (Annotate_args{annotate_args_original=arg_original})
T.writeMessageEnd op
T.tFlush (T.getTransport op)
recv_annotate ip = do
(fname, mtype, rseqid) <- T.readMessageBegin ip
M.when (mtype == T.M_EXCEPTION) $ do { exn <- T.readAppExn ip ; T.readMessageEnd ip ; X.throw exn }
res <- read_Annotate_result ip
T.readMessageEnd ip
P.maybe (P.return ()) X.throw (annotate_result_ex res)
P.return $ annotate_result_success res
getMetadata (ip,op) = do
send_getMetadata op
recv_getMetadata ip
send_getMetadata op = do
seq <- seqid
seqn <- R.readIORef seq
T.writeMessageBegin op ("getMetadata", T.M_CALL, seqn)
write_GetMetadata_args op (GetMetadata_args{})
T.writeMessageEnd op
T.tFlush (T.getTransport op)
recv_getMetadata ip = do
(fname, mtype, rseqid) <- T.readMessageBegin ip
M.when (mtype == T.M_EXCEPTION) $ do { exn <- T.readAppExn ip ; T.readMessageEnd ip ; X.throw exn }
res <- read_GetMetadata_result ip
T.readMessageEnd ip
P.return $ getMetadata_result_success res
getDocumentation (ip,op) = do
send_getDocumentation op
recv_getDocumentation ip
send_getDocumentation op = do
seq <- seqid
seqn <- R.readIORef seq
T.writeMessageBegin op ("getDocumentation", T.M_CALL, seqn)
write_GetDocumentation_args op (GetDocumentation_args{})
T.writeMessageEnd op
T.tFlush (T.getTransport op)
recv_getDocumentation ip = do
(fname, mtype, rseqid) <- T.readMessageBegin ip
M.when (mtype == T.M_EXCEPTION) $ do { exn <- T.readAppExn ip ; T.readMessageEnd ip ; X.throw exn }
res <- read_GetDocumentation_result ip
T.readMessageEnd ip
P.return $ getDocumentation_result_success res
shutdown (ip,op) = do
send_shutdown op
send_shutdown op = do
seq <- seqid
seqn <- R.readIORef seq
T.writeMessageBegin op ("shutdown", T.M_ONEWAY, seqn)
write_Shutdown_args op (Shutdown_args{})
T.writeMessageEnd op
T.tFlush (T.getTransport op)