{-# 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)