Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  lib.rs   Sprache: unbekannt

 
Spracherkennung für: .rs vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

//! # libthreema
//!
//! The one stop shop for all your Threema needs!

// We have pretty strict linting rules and it would be a massive hassle having to conditionally
// compile all `pub(crate)` exposed items, depending on the selected features.
//
// The goal is to get it right with features `uniffi`, `wasm` and `cli` enabled (and of course, all
// feature variants still need to compile).
//
// However, it does make sense to disable this from time to time to check for actual issues.
#![cfg_attr(
    not(all(feature = "uniffi", feature = "wasm", feature = "cli")),
    allow(
        dead_code,
        unfulfilled_lint_expectations,
        unused_crate_dependencies,
        unused_imports,
        reason = "Don't care for non full-feature builds"
    )
)]
#![cfg_attr(
    test,
    allow(
        clippy::arithmetic_side_effects,
        clippy::borrow_interior_mutable_const,
        clippy::indexing_slicing,
        clippy::panic,
        clippy::struct_field_names,
        clippy::unchecked_time_subtraction,
        clippy::unreadable_literal,
        clippy::unwrap_used,
        unfulfilled_lint_expectations,
        unstable_features,
        reason = "Be less strict in tests"
    )
)]
#![cfg_attr(
    test,
    allow(clippy::large_stack_arrays, reason = "tests do not need to be efficient")
)]

// Pin generic-array to version 0.14.7 as 0.14.8 was deprecated and RustCrypto needs to upgrade first.
// See https://github.com/fizyk20/generic-array/issues/158
mod external_crate_false_positive_pinned_version {
    use generic_array as _;
}

// Avoids dev dependencies used only in examples to be picked up by the linter. Should no longer be
// necessary once https://github.com/rust-lang/cargo/issues/1982 has been resolved.
#[cfg(test)]
mod external_crate_false_positives {
    use anyhow as _;
}
#[cfg(feature = "cli")]
mod external_crate_false_positives_cli_feature {
    use clap as _;
    use futures_util as _;
    use rustls as _;
    use tokio as _;
    use tokio_tungstenite as _;
}

// Set up UniFFI scaffolding for UniFFI bindings
#[cfg(feature = "uniffi")]
uniffi::setup_scaffolding!();

/// Compiled low-level protobuf messages.
#[allow(
    clippy::all,
    clippy::pedantic,
    clippy::restriction,
    dead_code,
    missing_docs,
    rustdoc::broken_intra_doc_links,
    rustdoc::unescaped_backticks,
    reason = "Code generated by prost"
)]
pub mod protobuf {
    /// Common protobuf messages.
    pub mod common {
        include!(concat!(env!("OUT_DIR"), "/common.rs"));
    }

    /// End-to-end encrypted messages.
    pub mod csp_e2e {
        include!(concat!(env!("OUT_DIR"), "/csp_e2e.rs"));
    }

    /// Device to Device Protocol messages.
    pub mod d2d {
        include!(concat!(env!("OUT_DIR"), "/d2d.rs"));
    }

    /// Device to Mediator Protocol messages.
    pub mod d2m {
        include!(concat!(env!("OUT_DIR"), "/d2m.rs"));
    }

    /// Data synchronisation messages
    pub mod sync {
        include!(concat!(env!("OUT_DIR"), "/sync.rs"));
    }
    pub use sync as d2d_sync;

    /// Connection Rendezvous Protocol messages.
    pub mod d2d_rendezvous {
        include!(concat!(env!("OUT_DIR"), "/rendezvous.rs"));
    }
}

pub mod bindings;
#[cfg(feature = "cli")]
pub mod cli;
pub mod common;
pub mod crypto;
pub mod csp;
pub mod csp_e2e;
pub mod d2d_rendezvous;
pub mod d2m;
pub mod https;
pub mod id_backup;
pub mod model;
pub mod remote_secret;
pub mod utils;

[Dauer der Verarbeitung: 0.18 Sekunden, vorverarbeitet 2026-04-27]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge