{-# LANGUAGE DeriveDataTypeable #-}
module Database.Cassandra.Thrift.Cassandra_Iface where
import Thrift
import Data.Typeable ( Typeable )
import Control.Exception
import qualified Data.Map as Map
import qualified Data.Set as Set
import Data.Int;
import Prelude ((==), String, Eq, Show, Ord, Maybe(..), (&&), (||), return, IO, Enum, fromEnum, toEnum, Bool(..), (++), ($), Double, (-))
import Database.Cassandra.Thrift.Cassandra_Types

class Cassandra_Iface a where
  login :: a -> Maybe String -> Maybe AuthenticationRequest -> IO ()
  get :: a -> Maybe String -> Maybe String -> Maybe ColumnPath -> Maybe ConsistencyLevel -> IO ColumnOrSuperColumn
  get_slice :: a -> Maybe String -> Maybe String -> Maybe ColumnParent -> Maybe SlicePredicate -> Maybe ConsistencyLevel -> IO [ColumnOrSuperColumn]
  multiget :: a -> Maybe String -> Maybe [String] -> Maybe ColumnPath -> Maybe ConsistencyLevel -> IO (Map.Map String ColumnOrSuperColumn)
  multiget_slice :: a -> Maybe String -> Maybe [String] -> Maybe ColumnParent -> Maybe SlicePredicate -> Maybe ConsistencyLevel -> IO (Map.Map String [ColumnOrSuperColumn])
  get_count :: a -> Maybe String -> Maybe String -> Maybe ColumnParent -> Maybe ConsistencyLevel -> IO Int
  get_range_slice :: a -> Maybe String -> Maybe ColumnParent -> Maybe SlicePredicate -> Maybe String -> Maybe String -> Maybe Int -> Maybe ConsistencyLevel -> IO [KeySlice]
  get_range_slices :: a -> Maybe String -> Maybe ColumnParent -> Maybe SlicePredicate -> Maybe KeyRange -> Maybe ConsistencyLevel -> IO [KeySlice]
  insert :: a -> Maybe String -> Maybe String -> Maybe ColumnPath -> Maybe String -> Maybe Int64 -> Maybe ConsistencyLevel -> IO ()
  batch_insert :: a -> Maybe String -> Maybe String -> Maybe (Map.Map String [ColumnOrSuperColumn]) -> Maybe ConsistencyLevel -> IO ()
  remove :: a -> Maybe String -> Maybe String -> Maybe ColumnPath -> Maybe Int64 -> Maybe ConsistencyLevel -> IO ()
  batch_mutate :: a -> Maybe String -> Maybe (Map.Map String (Map.Map String [Mutation])) -> Maybe ConsistencyLevel -> IO ()
  get_string_property :: a -> Maybe String -> IO String
  get_string_list_property :: a -> Maybe String -> IO [String]
  describe_keyspaces :: a -> IO (Set.Set String)
  describe_cluster_name :: a -> IO String
  describe_version :: a -> IO String
  describe_ring :: a -> Maybe String -> IO [TokenRange]
  describe_partitioner :: a -> IO String
  describe_keyspace :: a -> Maybe String -> IO (Map.Map String (Map.Map String String))
  describe_splits :: a -> Maybe String -> Maybe String -> Maybe Int -> IO [String]