sednaDBXML-0.1.2.4: src/Database/Internal/SednaResponseCodes.hsc
module Database.Internal.SednaResponseCodes where
--------------------------------------------------------------------------------
import Foreign.C.Types
--------------------------------------------------------------------------------
#include <libsedna.h>
--------------------------------------------------------------------------------
data SednaResponseCode = OperationSucceeded
| SessionOpen
| SessionClosed
| AuthenticationFailed
| OpenSessionFailed
| CloseSessionFailed
| QuerySucceeded
| QueryFailed
| UpdateSucceeded
| UpdateFailed
| BulkLoadSucceeded
| BulkLoadFailed
| BeginTransactionSucceeded
| BeginTransactionFailed
| RollBackTansactionSucceeded
| RollBackTransactionFailed
| CommitTransactionSucceeded
| CommitTransactionFailed
| NextItemSucceeded
| NextItemFailed
| NoItem
| ResultEnd
| DataChunkLoaded
| SednaError
| TransactionActive
| NoTransaction
| ConnectionOK
| ConnectionClosed
| ConnectionFailed
| SetAttributeSucceeded
| GetAttributeSucceeded
| ResetAttributeSucceeded
deriving ( Eq, Show )
--------------------------------------------------------------------------------
fromCConstant :: CInt -> SednaResponseCode
fromCConstant x = case x of
#{const SEDNA_OPERATION_SUCCEEDED} -> OperationSucceeded
#{const SEDNA_SESSION_OPEN} -> SessionOpen
#{const SEDNA_SESSION_CLOSED} -> SessionClosed
#{const SEDNA_AUTHENTICATION_FAILED} -> AuthenticationFailed
#{const SEDNA_OPEN_SESSION_FAILED} -> OpenSessionFailed
#{const SEDNA_CLOSE_SESSION_FAILED} -> CloseSessionFailed
#{const SEDNA_QUERY_SUCCEEDED} -> QuerySucceeded
#{const SEDNA_QUERY_FAILED} -> QueryFailed
#{const SEDNA_UPDATE_SUCCEEDED} -> UpdateSucceeded
#{const SEDNA_UPDATE_FAILED} -> UpdateFailed
#{const SEDNA_BULK_LOAD_SUCCEEDED} -> BulkLoadSucceeded
#{const SEDNA_BULK_LOAD_FAILED} -> BulkLoadFailed
#{const SEDNA_BEGIN_TRANSACTION_SUCCEEDED} -> BeginTransactionSucceeded
#{const SEDNA_BEGIN_TRANSACTION_FAILED} -> BeginTransactionFailed
#{const SEDNA_ROLLBACK_TRANSACTION_SUCCEEDED} -> RollBackTansactionSucceeded
#{const SEDNA_ROLLBACK_TRANSACTION_FAILED} -> RollBackTransactionFailed
#{const SEDNA_COMMIT_TRANSACTION_SUCCEEDED} -> CommitTransactionSucceeded
#{const SEDNA_COMMIT_TRANSACTION_FAILED} -> CommitTransactionFailed
#{const SEDNA_NEXT_ITEM_SUCCEEDED} -> NextItemSucceeded
#{const SEDNA_NEXT_ITEM_FAILED} -> NextItemFailed
#{const SEDNA_NO_ITEM} -> NoItem
#{const SEDNA_RESULT_END} -> ResultEnd
#{const SEDNA_DATA_CHUNK_LOADED} -> DataChunkLoaded
#{const SEDNA_ERROR} -> SednaError
#{const SEDNA_TRANSACTION_ACTIVE} -> TransactionActive
#{const SEDNA_NO_TRANSACTION} -> NoTransaction
#{const SEDNA_CONNECTION_OK} -> ConnectionOK
#{const SEDNA_CONNECTION_CLOSED} -> ConnectionClosed
#{const SEDNA_CONNECTION_FAILED} -> ConnectionFailed
#{const SEDNA_SET_ATTRIBUTE_SUCCEEDED} -> SetAttributeSucceeded
#{const SEDNA_GET_ATTRIBUTE_SUCCEEDED} -> GetAttributeSucceeded
#{const SEDNA_RESET_ATTRIBUTES_SUCCEEDED} -> ResetAttributeSucceeded
_ -> error "Undefined Constant"
--------------------------------------------------------------------------------
toCConstant :: (Integral a) => SednaResponseCode -> a
toCConstant x = case x of
OperationSucceeded -> #{const SEDNA_OPERATION_SUCCEEDED}
SessionOpen -> #{const SEDNA_SESSION_OPEN}
SessionClosed -> #{const SEDNA_SESSION_CLOSED}
AuthenticationFailed -> #{const SEDNA_AUTHENTICATION_FAILED}
OpenSessionFailed -> #{const SEDNA_OPEN_SESSION_FAILED}
CloseSessionFailed -> #{const SEDNA_CLOSE_SESSION_FAILED}
QuerySucceeded -> #{const SEDNA_QUERY_SUCCEEDED}
QueryFailed -> #{const SEDNA_QUERY_FAILED}
UpdateSucceeded -> #{const SEDNA_UPDATE_SUCCEEDED}
UpdateFailed -> #{const SEDNA_UPDATE_FAILED}
BulkLoadSucceeded -> #{const SEDNA_BULK_LOAD_SUCCEEDED}
BulkLoadFailed -> #{const SEDNA_BULK_LOAD_FAILED}
BeginTransactionSucceeded -> #{const SEDNA_BEGIN_TRANSACTION_SUCCEEDED}
BeginTransactionFailed -> #{const SEDNA_BEGIN_TRANSACTION_FAILED}
RollBackTansactionSucceeded -> #{const SEDNA_ROLLBACK_TRANSACTION_SUCCEEDED}
RollBackTransactionFailed -> #{const SEDNA_ROLLBACK_TRANSACTION_FAILED}
CommitTransactionSucceeded -> #{const SEDNA_COMMIT_TRANSACTION_SUCCEEDED}
CommitTransactionFailed -> #{const SEDNA_COMMIT_TRANSACTION_FAILED}
NextItemSucceeded -> #{const SEDNA_NEXT_ITEM_SUCCEEDED}
NextItemFailed -> #{const SEDNA_NEXT_ITEM_FAILED}
NoItem -> #{const SEDNA_NO_ITEM}
ResultEnd -> #{const SEDNA_RESULT_END}
DataChunkLoaded -> #{const SEDNA_DATA_CHUNK_LOADED}
SednaError -> #{const SEDNA_ERROR}
TransactionActive -> #{const SEDNA_TRANSACTION_ACTIVE}
NoTransaction -> #{const SEDNA_NO_TRANSACTION}
ConnectionOK -> #{const SEDNA_CONNECTION_OK}
ConnectionClosed -> #{const SEDNA_CONNECTION_CLOSED}
ConnectionFailed -> #{const SEDNA_CONNECTION_FAILED}
SetAttributeSucceeded -> #{const SEDNA_SET_ATTRIBUTE_SUCCEEDED}
GetAttributeSucceeded -> #{const SEDNA_GET_ATTRIBUTE_SUCCEEDED}
ResetAttributeSucceeded -> #{const SEDNA_RESET_ATTRIBUTES_SUCCEEDED}