Select Git revision
-
Cédric Moreau authoredCédric Moreau authored
lib.rs 24.03 KiB
// Copyright (C) 2018 The Duniter Project Developers.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
//! Defined the few global types used by all modules,
//! as well as the DuniterModule trait that all modules must implement.
#![cfg_attr(feature = "strict", deny(warnings))]
#![deny(
missing_docs, missing_debug_implementations, missing_copy_implementations, trivial_casts,
trivial_numeric_casts, unsafe_code, unstable_features, unused_import_braces,
unused_qualifications
)]
#[macro_use]
extern crate log;
extern crate chrono;
extern crate duniter_conf;
extern crate duniter_crypto;
extern crate duniter_dal;
extern crate duniter_documents;
extern crate duniter_message;
extern crate duniter_module;
extern crate duniter_network;
extern crate serde_json;
extern crate termion;
use chrono::prelude::*;
use duniter_crypto::keys::ed25519;
use duniter_dal::dal_event::DALEvent;
use duniter_message::DuniterMessage;
use duniter_module::*;
use duniter_network::network_head::NetworkHead;
use duniter_network::{NetworkEvent, NodeFullId};
use std::collections::HashMap;
use std::io::{stdout, Write};
use std::sync::mpsc;
use std::thread;
use std::time::{Duration, SystemTime};
use termion::event::*;
use termion::input::{MouseTerminal, TermRead};
use termion::raw::{IntoRawMode, RawTerminal};
use termion::{clear, color, cursor, style};
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
/// Tui Module Configuration (For future use)
pub struct TuiConf {}
#[derive(Debug, Clone)]
/// Format of messages received by the tui module
pub enum TuiMess {
/// Message from another module
DuniterMessage(DuniterMessage),
/// Message from stdin (user event)
TermionEvent(Event),
}
#[derive(Debug, Copy, Clone)]