aboutsummaryrefslogtreecommitdiffstats
path: root/src/ffi.rs
Commit message (Collapse)AuthorAge
* message: implement reindexDirk Van Haerenborgh2019-10-18
|
* query: implement add_tag_excludeDirk Van Haerenborgh2019-10-18
|
* implement: database_index_messageDirk Van Haerenborgh2019-10-18
|
* Revert "Edition 2018 hit stable 🙌"Dirk Van Haerenborgh2018-12-15
| | | | This reverts commit b5b0f7e97abe0dbd5b54a1fc69e764a124c271b2.
* Edition 2018 hit stable 🙌eaon2018-12-09
|
* Return Result<(), Status::NotmuchError> instead of Statuseaon2018-11-21
|
* rustfmtDirk Van Haerenborgh2018-11-05
|
* Add Message::{date,add_tag,remove_tag,remove_all_tags} and make clippy ↵eaon2018-11-02
| | | | | | | | | | usable (#6) * Removing unnecessary lifetimes and borrows * Add Message::{date,add_tag,remove_tag,remove_all_tags} * Make sure clippy doesn't error out
* fix ffi for db revisionDirk Van Haerenborgh2018-10-06
|
* cleanup & export db revision uuidDirk Van Haerenborgh2018-10-06
|
* make clippy happyDirk Van Haerenborgh2018-04-17
|
* Fix enum name for unsorted sortingrhn2018-04-13
|
* wipDirk Van Haerenborgh2018-03-23
|
* thread: count messages and filesDirk Van Haerenborgh2018-03-23
|
* improve lifetime definitionsDirk Van Haerenborgh2018-03-23
|
* count threads and messagesDirk Van Haerenborgh2018-03-23
|
* search threadsDirk Van Haerenborgh2018-03-23
|
* proper tags iteratorDirk Van Haerenborgh2018-03-23
|
* slightly better interface, but still returning a null pointer...Dirk Van Haerenborgh2018-03-22
|
* get notmuch db revisionDirk Van Haerenborgh2018-03-22
|
* Update ffi interfaceDirk Van Haerenborgh2018-03-21
| | | | | | Most of this is plain copied from https://github.com/Stebalien/notmuch-sys. At some point, I would like to split this up again, but not right now.
* fix infinite recursionDirk Van Haerenborgh2018-03-20
|
* fix some compiler warning regarding opaque structsDirk Van Haerenborgh2018-03-20
|
* resurrectDirk Van Haerenborgh2018-03-20
|
* Rename Notmuch enum types.C. Morgan Hamill2015-03-31
| | | | | Remove the 'Notmuch' prefix, as it pollutes the generated documentation. It's rendundant, anyhow.
* Remove `NotmuchType` trait.C. Morgan Hamill2015-03-26
| | | | No longer necessary with the `From` and `Into` traits from std::convert.
* Remove `ToStaticStr` trait.C. Morgan Hamill2015-03-24
| | | | | Changes in commit 95d4fba8436417a6c27522ed9b51c19a9fd7c6f9 make the trait unnecessary. The `ToStr` trait is now sufficient.
* Rename `NotmuchEnum` trait to `NotmuchType`.C. Morgan Hamill2015-03-24
| | | | Turns out to be useful outside of just enums.
* Fix errors in FFI function signatures.C. Morgan Hamill2015-03-24
|
* Make `to_str()` method generic over lifetime.C. Morgan Hamill2015-03-20
| | | | | | | | | | | | | | | | If I have this correct: The output `&str` will have the same lifetime as whatever the lifetime of the block in which it is called. This allows using it one the output of notmuch FFI calls, by propogating the lifetime of the safe wrapper object (e.g., `Database`) to the `&str` returned from `to_str()`. This mirrors the lifetime of the actual underlying C string. If I don't grok lifetimes as well as I think, this could be a lie. Future self: you should add unit tests to test the above explanation.
* Implement `Error` for `NotmuchStatus`.C. Morgan Hamill2015-03-20
| | | | | | | | | | Entails implementation of `ToStr` and `Display`, also. Note that the `to_str()` method uses the `to_static_str()` method on the `ToStaticStr` trait internally --- this is how I expect to use the latter. This lets me provide a uniform `to_str()` method in the rest of the API, while transparently handling the differences between C string lifetimes.
* Add convenience methods to `notmuch_status_t`.C. Morgan Hamill2015-03-19
| | | | | Convenience methods for working the result of many of the native notmuch functions.
* Add `NotmuchEnum` trait and `notmuch_enum!` macro.C. Morgan Hamill2015-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements enum types in pairs, specifying the type and variant names of each, like so: notmuch_enum! { pub enum enum_name => EnumName { variant_one => VariantOne, variant_two => VariantTwo } } Which expands to: pub enum enum_name { variant_one, variant_two } pub enum EnumName { VariantOne, VariantTwo } The `NotmuchEnum` trait also entails two functions to convert between the defined pairs, `from_notmuch_t()` and `to_notmuch_t()`. The macro takes care of their implementation, also. Yes, this is purely aesthetic whimsy: I wanted the types in the `ffi` module to match the types from the `notmuch.h` file, and I wanted the types I used within (and exported by) this crate to match the expected Rust convention.
* Add notmuch C API bindings.C. Morgan Hamill2015-03-17
| | | | | The ffi module now reproduces the notmuch C API, as defined in `notmuch.h`, more-or-less verbatim.
* Add empty ffi module.C. Morgan Hamill2015-03-17