concrete-haskell-0.1.0.5: src/FetchCommunicationService_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 FetchCommunicationService_Client(fetch,getCommunicationIDs,getCommunicationCount) where
import Service_Client
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 Communication_Types
import qualified Services_Types
import Access_Types
import FetchCommunicationService
seqid = R.newIORef 0
fetch (ip,op) arg_request = do
send_fetch op arg_request
recv_fetch ip
send_fetch op arg_request = do
seq <- seqid
seqn <- R.readIORef seq
T.writeMessageBegin op ("fetch", T.M_CALL, seqn)
write_Fetch_args op (Fetch_args{fetch_args_request=arg_request})
T.writeMessageEnd op
T.tFlush (T.getTransport op)
recv_fetch 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_Fetch_result ip
T.readMessageEnd ip
P.maybe (P.return ()) X.throw (fetch_result_ex res)
P.return $ fetch_result_success res
getCommunicationIDs (ip,op) arg_offset arg_count = do
send_getCommunicationIDs op arg_offset arg_count
recv_getCommunicationIDs ip
send_getCommunicationIDs op arg_offset arg_count = do
seq <- seqid
seqn <- R.readIORef seq
T.writeMessageBegin op ("getCommunicationIDs", T.M_CALL, seqn)
write_GetCommunicationIDs_args op (GetCommunicationIDs_args{getCommunicationIDs_args_offset=arg_offset,getCommunicationIDs_args_count=arg_count})
T.writeMessageEnd op
T.tFlush (T.getTransport op)
recv_getCommunicationIDs 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_GetCommunicationIDs_result ip
T.readMessageEnd ip
P.maybe (P.return ()) X.throw (getCommunicationIDs_result_ex res)
P.return $ getCommunicationIDs_result_success res
getCommunicationCount (ip,op) = do
send_getCommunicationCount op
recv_getCommunicationCount ip
send_getCommunicationCount op = do
seq <- seqid
seqn <- R.readIORef seq
T.writeMessageBegin op ("getCommunicationCount", T.M_CALL, seqn)
write_GetCommunicationCount_args op (GetCommunicationCount_args{})
T.writeMessageEnd op
T.tFlush (T.getTransport op)
recv_getCommunicationCount 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_GetCommunicationCount_result ip
T.readMessageEnd ip
P.maybe (P.return ()) X.throw (getCommunicationCount_result_ex res)
P.return $ getCommunicationCount_result_success res