#![crate_name = "maidsafe_types"]
#![crate_type = "lib"]
#![doc(html_logo_url = "http://maidsafe.net/img/Resources/branding/maidsafe_logo.fab2.png",
html_favicon_url = "http://maidsafe.net/img/favicon.ico",
html_root_url = "http://maidsafe.github.io/maidsafe/maidsafe_types/")]
#![forbid(bad_style, warnings)]
#![deny(deprecated, improper_ctypes, missing_docs, non_shorthand_field_patterns,
overflowing_literals, plugin_as_library, private_no_mangle_fns, private_no_mangle_statics,
raw_pointer_derive, stable_features, unconditional_recursion, unknown_lints, // unsafe_code,
unsigned_negation, unused, unused_allocation, unused_attributes, unused_comparisons,
unused_features, unused_parens, while_true)]
#![warn(trivial_casts, trivial_numeric_casts, unused_extern_crates, unused_import_braces,
unused_qualifications, variant_size_differences)]
extern crate rustc_serialize;
extern crate sodiumoxide;
extern crate cbor;
extern crate routing;
#[macro_use]
pub mod helper;
pub mod id;
pub mod data;
pub mod coin;
pub use id::{RevocationIdType, IdType, PublicIdType};
pub use data::{ImmutableData, ImmutableDataBackup, ImmutableDataSacrificial, StructuredData};
pub trait TypeTag {
fn type_tag(&self) -> u64;
}
pub trait IdTypeTags {
fn revocation_id_type_tag(&self) -> u64;
fn id_type_tag(&self) -> u64;
fn public_id_type_tag(&self) -> u64;
}
pub struct MaidTypeTags;
pub struct MpidTypeTags;
impl IdTypeTags for MaidTypeTags {
fn revocation_id_type_tag(&self) -> u64 { data_tags::AN_MAID_TAG }
fn id_type_tag(&self) -> u64 { data_tags::MAID_TAG }
fn public_id_type_tag(&self) -> u64 { data_tags::PUBLIC_MAID_TAG }
}
impl IdTypeTags for MpidTypeTags {
fn revocation_id_type_tag(&self) -> u64 { data_tags::AN_MPID_TAG }
fn id_type_tag(&self) -> u64 { data_tags::MPID_TAG }
fn public_id_type_tag(&self) -> u64 { data_tags::PUBLIC_MPID_TAG }
}
pub trait Random {
fn generate_random() -> Self;
}
pub enum CryptoError {
Unknown
}
pub const MAIDSAFE_TAG: u64 = 5483_000;
#[allow(missing_docs)]
pub mod data_tags {
pub const MAIDSAFE_DATA_TAG: u64 = ::MAIDSAFE_TAG + 100;
pub const IMMUTABLE_DATA_TAG: u64 = MAIDSAFE_DATA_TAG + 1;
pub const IMMUTABLE_DATA_BACKUP_TAG: u64 = MAIDSAFE_DATA_TAG + 2;
pub const IMMUTABLE_DATA_SACRIFICIAL_TAG: u64 = MAIDSAFE_DATA_TAG + 3;
pub const STRUCTURED_DATA_TAG: u64 = MAIDSAFE_DATA_TAG + 4;
pub const AN_MPID_TAG: u64 = MAIDSAFE_DATA_TAG + 5;
pub const AN_MAID_TAG: u64 = MAIDSAFE_DATA_TAG + 6;
pub const MAID_TAG: u64 = MAIDSAFE_DATA_TAG + 7;
pub const MPID_TAG: u64 = MAIDSAFE_DATA_TAG + 8;
pub const PUBLIC_MAID_TAG: u64 = MAIDSAFE_DATA_TAG + 9;
pub const PUBLIC_MPID_TAG: u64 = MAIDSAFE_DATA_TAG + 10;
}
mod test_utils;