Dmitry Bogatov
a9dd78f622
Narrow return type of location::set: cint -> bool
2019-10-19 22:38:43 +02:00
B. Petersen
4f126c5292
show forwarded-state in repl-tool
2019-10-19 22:34:14 +02:00
holger krekel
24c0a833bd
address @flub comments
2019-10-09 15:59:31 +02:00
holger krekel
1df6229e99
remove/push down some unsafe-fn
2019-10-08 17:37:37 +02:00
holger krekel
b775ecca08
fix tests
2019-10-07 00:55:33 +02:00
B. Petersen
735bdd1c20
always use to_string_lossy() for converting c-strings to String
...
the function to_string() is removed;
c-strings may always be badly formatted and this should never lead to a panic.
2019-10-05 00:12:32 +02:00
B. Petersen
93f0f5ccae
rename sql-config-setters to set_raw_config*()
...
the rename is reasonable as the getter is called get_raw_config*()
and to make the functional difference to context.set|get_config() clearer.
2019-10-04 11:18:26 +02:00
B. Petersen
dca9afa10b
rename sql.get_config() to sql.get_raw_config() to make clearer that there is not default handling
2019-10-03 17:35:43 +02:00
holger krekel
3f7995a7ea
start with some refactoring of the outgoing pipeline
2019-10-02 22:51:09 +02:00
dignifiedquire
fb9369f333
refactor(imex): almost all unsafe gone here
2019-09-28 02:55:42 +02:00
Alexander Krotov
bb57c6e7b7
Merge pull request #627 from deltachat/dc_receive_imf-slice
...
Pass slice to dc_receive_imf
2019-09-27 16:27:14 +00:00
Alexander Krotov
f346a052c1
Return Result from dc_initiate_key_transfer
2019-09-27 17:57:45 +02:00
Alexander Krotov
3933353b5f
Pass slice to dc_receive_imf
...
instead of pointer and length
2019-09-27 17:53:41 +03:00
holger krekel
6cd3580263
rustifying dc_continue_key_transfer and fix master-conflict
2019-09-25 23:46:44 +02:00
holger krekel
d5383aecc9
finish dc_imex refactoring, fix linting, rustify some things
2019-09-25 23:46:44 +02:00
Alexander Krotov
60bd053095
Pass setup_code to dc_continue_key_transfer as &str
2019-09-25 03:29:37 +02:00
holger krekel
9689df601f
streamline mimetype guessing and build_body_file
2019-09-22 23:39:16 +02:00
dignifiedquire
05f9f454c3
refactor: remove x module and delete deadcode
2019-09-21 17:56:49 +02:00
dignifiedquire
e80345a05b
refactor(chat): remove c types and unsafe
2019-09-21 16:59:59 +02:00
dignifiedquire
0bdcc3d616
refactor(message): remove remaining unsafe and c types
2019-09-21 16:37:19 +02:00
dignifiedquire
987f12740e
refactor(message): remove unsafe and c types from the Message api
2019-09-21 16:37:19 +02:00
dignifiedquire
1265016a55
refactor(message): rustiy api
2019-09-21 16:37:19 +02:00
dignifiedquire
ecaae42b80
refactor(examples): remove dc_mprintf
2019-09-16 07:58:08 +02:00
dignifiedquire
0bf3d20e07
fix and implement ffi tranlation
2019-09-15 23:40:08 +02:00
dignifiedquire
5486ac5b9f
refacor: use an enum for events
2019-09-15 23:40:08 +02:00
dignifiedquire
16c281a9b7
refactor(context): safe interface
2019-09-15 16:36:31 +02:00
dignifiedquire
f31f341a50
feat: enforce Debug implementations and remove mod types
2019-09-15 16:36:31 +02:00
dignifiedquire
de1e3e1d4f
refactor(context): remove last unsafe bits from the context struct
2019-09-15 16:36:31 +02:00
Floris Bruynooghe
afc9a31080
Remove dc_open call
...
A new context is now created by calling Context::new and therefore you
always have a valid context. This is much more in Rust style and will
allow a lot of furture simplifications on the context itself.
The FFI layer has not yet been adjusted in this commit and thus will
fail.
2019-09-15 02:37:13 +02:00
Simon Laux
e5699e8ba9
Merge pull request #517 from deltachat/fix_get_draft
...
Fix get_draft to just return null and not produce errors if there's no
2019-09-14 23:39:09 +02:00
Floris Bruynooghe
8a7143b791
Return a Result<Option<Message>> for get_draft
...
The function can fail, so we need to still have an error return as
well as a no-draft return.
Add tests.
2019-09-14 23:00:13 +02:00
Alexander Krotov
fad49e08d7
message.rs: resolve "should return bool" TODOs
2019-09-14 12:03:10 +03:00
Alexander Krotov
0f67b16f29
Return bool from add_contact_to_chat_ex
2019-09-14 12:03:10 +03:00
Alexander Krotov
400ab2cdab
Return bool from dc_msg_get_showpadlock
2019-09-14 12:03:10 +03:00
Floris Bruynooghe
aefddf7f5e
Remove context refrence from Contact struct
...
This will allow the Rust Context API to be refactored without breaking
the C API. Full details in #476 aka
a0b5e32f98
2019-09-11 23:53:48 +02:00
Floris Bruynooghe
5ce27b16f1
Remove context refernce from Chatlist
...
See #476 aka a0b5e32f98 for full
rationale. Tl;dr it allows us to evolve the Rust API while keeping
the FFI API identical.
2019-09-11 23:53:48 +02:00
Floris Bruynooghe
8302d6833d
Remove context ref from Chat struct
...
Leaving the C API untouched. See #476 aka
a0b5e32f98 for more extensive rationale.
2019-09-11 23:53:48 +02:00
Floris Bruynooghe
a0b5e32f98
Remove the context reference from Message struct
...
The Message struct had a reference to the context which made a few
APIs a little easier. However it has surprising consequences a long
way down the line as shown in #335 : it means any object which has such
a reference needs to keep open a lock if we want to do this refactor
of no longer having a "closed" Context struct on the Rust API (which
has many benefits which will simply that Context struct and is more
the Rust way - RAII etc).
By refactoring away the context reference on the rust API as done in
here however, we push this behaviour of how these references are
handled back to the C-API pointer behaviour: that is unsafe but just
works in a C-like way. The resulting complexity in the FFI layer is
also notably less than in the #335 alternative.
As a consequence all APIs which require the context, now explicitly
need to get the context passed in as an argument. It looks like this
is certainly no downside and maybe even beneficial for further API
refactors.
For this strategy to work out the same should be done to
dc_chatlist_t, dc_chat_t and dc_contact_t. But this working for
dc_msg_t give a reasonable confidence that this is a good approach.
2019-09-11 21:48:40 +02:00
Dmitry Bogatov
57daa0f7f0
Remove useless argument of logging macros
...
Previously, logging macros (info! warn! error!) accepted integer
argument (data1), that was passed to callback function verbatim. In all
call sites this argument was 0.
With this change, that data1 argument is no longer part of macro
interface, 0 is always passed to callback in internals of these macros.
2019-09-10 22:26:47 +00:00
Alexander Krotov
6a2368f83c
Return bool from dc_continue_key_transfer
2019-09-10 15:15:48 +02:00
B. Petersen
c603ca0e7a
remove dead code
2019-09-08 07:26:07 +02:00
B. Petersen
9605370f0b
fix cmdline: sendimage and sendfile really accept only a file
2019-09-07 12:34:31 +02:00
holger krekel
0a6e540394
rename dc_securejoin to securejoin.rs
2019-09-05 22:55:25 +02:00
holger krekel
79510a83de
- remove many *libc::char usages, and c-pointer from fingerprint
...
- rustify get_chat_id_by_grpid and streamline returned chat id handling (thereby apprently fixing the test, don't ask)
2019-09-05 22:55:25 +02:00
jikstra
70d997964b
cargo fmt
2019-09-05 22:55:25 +02:00
jikstra
4ffe71e1df
Fix encoding for email & name, fix qrencode command in repl
2019-09-05 22:55:25 +02:00
jikstra
cc2339fbe2
Fix closure in dc_securejoin, make sure we return an empty string and
...
never null, make dc_get_securejoin_qr return an Option<String> and move
the logic to cast it to c_str into the ffi
2019-09-05 22:55:25 +02:00
Dmitry Bogatov
2fe07e86c7
Replace explicit casts from 0 to pointer with std::ptr::null
2019-08-27 21:22:03 +00:00
dignifiedquire
d25d839d6a
refactor(location): more rusty api
2019-08-26 21:29:40 +02:00
dignifiedquire
23d49560bf
refactor(location): rename module dc_location -> location
2019-08-26 21:09:40 +02:00