| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Simplex.Chat.Mobile
Synopsis
- data DBMigrationResult
- = DBMOk
- | DBMInvalidConfirmation
- | DBMErrorNotADatabase {
- dbFile :: String
- | DBMErrorMigration {
- dbFile :: String
- migrationError :: MigrationError
- | DBMErrorSQL {
- dbFile :: String
- migrationSQLError :: String
- data APIResult r
- = APIResult {
- remoteHostId :: Maybe RemoteHostId
- result :: r
- | APIError {
- remoteHostId :: Maybe RemoteHostId
- error :: ChatError
- = APIResult {
- eitherToResult :: Maybe RemoteHostId -> Either ChatError r -> APIResult r
- data ParsedUri = ParsedUri {
- uriInfo :: Maybe UriInfo
- parseError :: Text
- data UriInfo = UriInfo {}
- cChatMigrateInit :: CString -> CString -> CString -> Ptr (StablePtr ChatController) -> IO CJSONString
- cChatMigrateInitKey :: CString -> CString -> CInt -> CString -> CInt -> Ptr (StablePtr ChatController) -> IO CJSONString
- cChatCloseStore :: StablePtr ChatController -> IO CString
- cChatReopenStore :: StablePtr ChatController -> IO CString
- cChatSendCmd :: StablePtr ChatController -> CString -> IO CJSONString
- cChatSendCmdRetry :: StablePtr ChatController -> CString -> CInt -> IO CJSONString
- cChatSendRemoteCmd :: StablePtr ChatController -> CInt -> CString -> IO CJSONString
- cChatSendRemoteCmdRetry :: StablePtr ChatController -> CInt -> CString -> CInt -> IO CJSONString
- cChatRecvMsg :: StablePtr ChatController -> IO CJSONString
- cChatRecvMsgWait :: StablePtr ChatController -> CInt -> IO CJSONString
- cChatParseMarkdown :: CString -> IO CJSONString
- cChatParseServer :: CString -> IO CJSONString
- cChatParseUri :: CString -> CInt -> IO CJSONString
- cChatPasswordHash :: CString -> CString -> IO CString
- cChatValidName :: CString -> IO CString
- cChatJsonLength :: CString -> IO CInt
- mobileChatOpts :: ChatDbOpts -> ChatOpts
- defaultMobileConfig :: ChatConfig
- getActiveUser_ :: DBStore -> IO (Maybe User)
- chatMigrateInit :: String -> ScrubbedBytes -> String -> IO (Either DBMigrationResult ChatController)
- chatMigrateInitKey :: ChatDbOpts -> Bool -> String -> Bool -> IO (Either DBMigrationResult ChatController)
- chatCloseStore :: ChatController -> IO String
- chatReopenStore :: ChatController -> IO String
- handleErr :: IO () -> IO String
- chatSendCmd :: ChatController -> ByteString -> IO JSONByteString
- chatSendRemoteCmdRetry :: ChatController -> Maybe RemoteHostId -> ByteString -> Int -> IO JSONByteString
- chatRecvMsg :: ChatController -> IO JSONByteString
- chatRecvMsgWait :: ChatController -> Int -> IO JSONByteString
- chatParseMarkdown :: ByteString -> JSONByteString
- chatParseServer :: ByteString -> JSONByteString
- chatParseUri :: Bool -> ByteString -> JSONByteString
- chatPasswordHash :: ByteString -> ByteString -> ByteString
Documentation
data DBMigrationResult Source #
Constructors
| DBMOk | |
| DBMInvalidConfirmation | |
| DBMErrorNotADatabase | |
Fields
| |
| DBMErrorMigration | |
Fields
| |
| DBMErrorSQL | |
Fields
| |
Instances
| ToJSON DBMigrationResult Source # | |
Defined in Simplex.Chat.Mobile Methods toJSON :: DBMigrationResult -> Value toEncoding :: DBMigrationResult -> Encoding toJSONList :: [DBMigrationResult] -> Value toEncodingList :: [DBMigrationResult] -> Encoding omitField :: DBMigrationResult -> Bool | |
| Show DBMigrationResult Source # | |
Defined in Simplex.Chat.Mobile Methods showsPrec :: Int -> DBMigrationResult -> ShowS show :: DBMigrationResult -> String showList :: [DBMigrationResult] -> ShowS | |
Constructors
| APIResult | |
Fields
| |
| APIError | |
Fields
| |
Instances
| ToJSON r => ToJSON (APIResult r) Source # | |
Defined in Simplex.Chat.Mobile Methods toJSON :: APIResult r -> Value toEncoding :: APIResult r -> Encoding toJSONList :: [APIResult r] -> Value toEncodingList :: [APIResult r] -> Encoding | |
eitherToResult :: Maybe RemoteHostId -> Either ChatError r -> APIResult r Source #
Constructors
| ParsedUri | |
Fields
| |
Instances
| FromJSON ParsedUri Source # | |
Defined in Simplex.Chat.Mobile Methods parseJSON :: Value -> Parser ParsedUri parseJSONList :: Value -> Parser [ParsedUri] omittedField :: Maybe ParsedUri | |
| ToJSON ParsedUri Source # | |
Defined in Simplex.Chat.Mobile Methods toEncoding :: ParsedUri -> Encoding toJSONList :: [ParsedUri] -> Value toEncodingList :: [ParsedUri] -> Encoding | |
Instances
| FromJSON UriInfo Source # | |
Defined in Simplex.Chat.Mobile Methods parseJSON :: Value -> Parser UriInfo parseJSONList :: Value -> Parser [UriInfo] omittedField :: Maybe UriInfo | |
| ToJSON UriInfo Source # | |
Defined in Simplex.Chat.Mobile Methods toEncoding :: UriInfo -> Encoding toJSONList :: [UriInfo] -> Value toEncodingList :: [UriInfo] -> Encoding | |
cChatMigrateInit :: CString -> CString -> CString -> Ptr (StablePtr ChatController) -> IO CJSONString Source #
check / migrate database and initialize chat controller on success For postgres first param is schema prefix, second param is database connection string.
cChatMigrateInitKey :: CString -> CString -> CInt -> CString -> CInt -> Ptr (StablePtr ChatController) -> IO CJSONString Source #
cChatCloseStore :: StablePtr ChatController -> IO CString Source #
cChatReopenStore :: StablePtr ChatController -> IO CString Source #
cChatSendCmd :: StablePtr ChatController -> CString -> IO CJSONString Source #
send command to chat
cChatSendCmdRetry :: StablePtr ChatController -> CString -> CInt -> IO CJSONString Source #
send command to chat with retry count
cChatSendRemoteCmd :: StablePtr ChatController -> CInt -> CString -> IO CJSONString Source #
send remote command to chat
cChatSendRemoteCmdRetry :: StablePtr ChatController -> CInt -> CString -> CInt -> IO CJSONString Source #
send remote command to chat with retry count
cChatRecvMsg :: StablePtr ChatController -> IO CJSONString Source #
receive message from chat (blocking)
cChatRecvMsgWait :: StablePtr ChatController -> CInt -> IO CJSONString Source #
receive message from chat (blocking up to t microseconds (1/10^6 sec), returns empty string if times out)
cChatParseMarkdown :: CString -> IO CJSONString Source #
parse markdown - returns ParsedMarkdown type JSON
cChatParseServer :: CString -> IO CJSONString Source #
parse server address - returns ParsedServerAddress JSON
cChatParseUri :: CString -> CInt -> IO CJSONString Source #
parse web URI - returns ParsedUri JSON
cChatPasswordHash :: CString -> CString -> IO CString Source #
cChatValidName :: CString -> IO CString Source #
cChatJsonLength :: CString -> IO CInt Source #
returns length of JSON encoded string
mobileChatOpts :: ChatDbOpts -> ChatOpts Source #
getActiveUser_ :: DBStore -> IO (Maybe User) Source #
chatMigrateInit :: String -> ScrubbedBytes -> String -> IO (Either DBMigrationResult ChatController) Source #
chatMigrateInitKey :: ChatDbOpts -> Bool -> String -> Bool -> IO (Either DBMigrationResult ChatController) Source #
chatCloseStore :: ChatController -> IO String Source #
chatReopenStore :: ChatController -> IO String Source #
chatSendCmd :: ChatController -> ByteString -> IO JSONByteString Source #
chatSendRemoteCmdRetry :: ChatController -> Maybe RemoteHostId -> ByteString -> Int -> IO JSONByteString Source #
chatRecvMsg :: ChatController -> IO JSONByteString Source #
chatRecvMsgWait :: ChatController -> Int -> IO JSONByteString Source #
chatParseMarkdown :: ByteString -> JSONByteString Source #
chatParseServer :: ByteString -> JSONByteString Source #
chatParseUri :: Bool -> ByteString -> JSONByteString Source #
chatPasswordHash :: ByteString -> ByteString -> ByteString Source #