From 3f527b176c7529dda87b7bb135a3a8f841eaf87f Mon Sep 17 00:00:00 2001 From: lurchi Date: Sun, 11 Sep 2016 12:19:35 +0200 Subject: [PATCH] be explicit about imported and exported types --- rust/src/lib.rs | 15 +++--- rust/src/method_types.rs | 1 - rust/src/packet.rs | 14 ++---- rust/src/packet_id.rs | 3 +- rust/src/packet_types.rs | 8 +++ rust/src/parser.rs | 89 +--------------------------------- rust/src/parser_types.rs | 85 +++++++++++++++++++++++++++++++- rust/src/uniform_types.rs | 2 +- rust/tests/test_list_parser.rs | 2 +- rust/tests/test_parser.rs | 2 +- 10 files changed, 110 insertions(+), 111 deletions(-) diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 9630c5f..f63a058 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -19,12 +19,15 @@ pub mod variable; pub use keyword::Keyword; pub use method::Method; -pub use method_types::*; -pub use parser::*; -pub use packet::*; -pub use packet_id::*; -pub use uniform::*; +pub use method_types::{PsycMethod, MethodInfo, PsycMethodFlags}; +pub use method_types::{PSYC_METHOD_TEMPLATE, PSYC_METHOD_REPLY, PSYC_METHOD_VISIBLE, PSYC_METHOD_LOGGABLE, PSYC_METHOD_MANUAL}; +pub use parser::{PsycParser, PsycListParser, Parser}; +pub use parser_types::{PsycParserResult, PsycListParserResult, PsycParserError, PsycListParserError}; +pub use packet::{PsycList, PsycModifier, PsycPacket}; +pub use packet_id::PacketId; +pub use packet_types::PacketRenderError; +pub use uniform::Uniform; pub use uniform_types::{UniformParseError, PsycScheme, PsycEntity}; pub use packet_types::{PsycOperator, PsycStateOp}; -pub use variable::*; +pub use variable::{RoutingVariable, EntityVariable, Variable}; pub use variable_types::{PsycRoutingVar, PsycType}; diff --git a/rust/src/method_types.rs b/rust/src/method_types.rs index b8a44d4..cfa3a68 100644 --- a/rust/src/method_types.rs +++ b/rust/src/method_types.rs @@ -10,7 +10,6 @@ bitflags! { } } - #[repr(C)] #[derive(Debug, PartialEq)] pub enum PsycMethod { diff --git a/rust/src/packet.rs b/rust/src/packet.rs index e9b9980..ad0ea32 100644 --- a/rust/src/packet.rs +++ b/rust/src/packet.rs @@ -1,6 +1,6 @@ -use types::*; +use types::PsycString; use packet_types::*; -use packet_id::*; +use packet_id::PacketId; use util; use std::mem; use std::ptr; @@ -70,14 +70,6 @@ pub struct PsycPacket<'a> { body: &'a [u8] } -#[repr(C)] -#[derive(Debug, PartialEq)] -pub enum PsycRenderError { - MethodMissing = PsycRenderRC::PSYC_RENDER_ERROR_METHOD_MISSING as _, - ModifierNameMissing = PsycRenderRC::PSYC_RENDER_ERROR_MODIFIER_NAME_MISSING as _, - GenericError = PsycRenderRC::PSYC_RENDER_ERROR as _ -} - impl PsycList { /// Construct a PsycList from a list of byte lists pub fn new(list: &[&[u8]]) -> Self { @@ -212,7 +204,7 @@ impl<'a> PsycPacket<'a> { } /// - pub fn render(&self) -> Result, PsycRenderError> { + pub fn render(&self) -> Result, PacketRenderError> { let raw_packet_ptr = & self.raw_packet as *const RawPsycPacket; let mut buffer = Vec::with_capacity(self.length()); let buffer_ptr = buffer.as_mut_ptr() as *mut c_char; diff --git a/rust/src/packet_id.rs b/rust/src/packet_id.rs index c855dcb..3a75343 100644 --- a/rust/src/packet_id.rs +++ b/rust/src/packet_id.rs @@ -1,5 +1,6 @@ use packet_types::{RawPsycList, PsycElem}; -use parser::{PsycListParser, PsycListParserResult}; +use parser::PsycListParser; +use parser_types::PsycListParserResult; use util; use std::mem; use std::ptr; diff --git a/rust/src/packet_types.rs b/rust/src/packet_types.rs index 3ab9d11..a159310 100644 --- a/rust/src/packet_types.rs +++ b/rust/src/packet_types.rs @@ -116,3 +116,11 @@ pub enum PsycRenderRC { /// Packet is rendered successfully in the buffer. PSYC_RENDER_SUCCESS = 0, } + +#[repr(C)] +#[derive(Debug, PartialEq)] +pub enum PacketRenderError { + MethodMissing = PsycRenderRC::PSYC_RENDER_ERROR_METHOD_MISSING as _, + ModifierNameMissing = PsycRenderRC::PSYC_RENDER_ERROR_MODIFIER_NAME_MISSING as _, + GenericError = PsycRenderRC::PSYC_RENDER_ERROR as _ +} diff --git a/rust/src/parser.rs b/rust/src/parser.rs index 5bd2e23..b676067 100644 --- a/rust/src/parser.rs +++ b/rust/src/parser.rs @@ -1,4 +1,4 @@ -use types::*; +use types::PsycString; use parser_types::*; use util; use std::mem; @@ -31,93 +31,6 @@ pub struct PsycListParser { state: PsycParseListState } -#[derive(Debug, PartialEq)] -pub enum PsycParserResult<'a> { - StateSync, - StateReset, - Complete, - InsufficientData, - RoutingModifier { - operator: char, - name: &'a [u8], - value: &'a [u8] - }, - EntityModifier { - operator: char, - name: &'a [u8], - value: &'a [u8] - }, - EntityModifierStart { - operator: char, - name: &'a [u8], - value_part: &'a [u8] - }, - EntityModifierCont { - value_part: &'a [u8] - }, - EntityModifierEnd { - value_part: &'a [u8] - }, - Body { - method: &'a [u8], - data: &'a [u8] - }, - BodyStart { - method: &'a [u8], - data_part: &'a [u8] - }, - BodyCont { - data_part: &'a [u8] - }, - BodyEnd { - data_part: &'a [u8] - } -} - -#[derive(Debug, PartialEq)] -pub enum PsycListParserResult<'a> { - Complete, - InsufficientData, - ListElement { - value: &'a [u8] - }, - ListElementStart { - value_part: &'a [u8] - }, - ListElementCont { - value_part: &'a [u8] - }, - ListElementEnd { - value_part: &'a [u8] - } -} - -#[repr(C)] -#[derive(Debug, PartialEq)] -pub enum PsycParserError { - NoModifierLength = PsycParseRC::PSYC_PARSE_ERROR_MOD_NO_LEN as _, - NoContentLength = PsycParseRC::PSYC_PARSE_ERROR_NO_LEN as _, - NoEndDelimiter = PsycParseRC::PSYC_PARSE_ERROR_END as _, - NoNewlineAfterMethod = PsycParseRC::PSYC_PARSE_ERROR_METHOD as _, - NoNewlineAfterModifier = PsycParseRC::PSYC_PARSE_ERROR_MOD_NL as _, - InvalidModifierLength = PsycParseRC::PSYC_PARSE_ERROR_MOD_LEN as _, - NoTabBeforeModifierValue = PsycParseRC::PSYC_PARSE_ERROR_MOD_TAB as _, - NoModifierName = PsycParseRC::PSYC_PARSE_ERROR_MOD_NAME as _, - NoNewlineAfterContentLength = PsycParseRC::PSYC_PARSE_ERROR_LENGTH as _, - GenericError = PsycParseRC::PSYC_PARSE_ERROR as _, -} - -#[repr(C)] -#[derive(Debug, PartialEq)] -pub enum PsycListParserError { - NoElementLength = PsycParseListRC::PSYC_PARSE_LIST_ERROR_ELEM_NO_LEN as _, - InvalidElementLength = PsycParseListRC::PSYC_PARSE_LIST_ERROR_ELEM_LENGTH as _, - InvalidElementType = PsycParseListRC::PSYC_PARSE_LIST_ERROR_ELEM_TYPE as _, - InvalidElementStart = PsycParseListRC::PSYC_PARSE_LIST_ERROR_ELEM_START as _, - InvalidType = PsycParseListRC::PSYC_PARSE_LIST_ERROR_TYPE as _, - GenericError = PsycParseListRC::PSYC_PARSE_LIST_ERROR as _, -} - impl PsycParser { /// Create a PsycParser pub fn new() -> Self { diff --git a/rust/src/parser_types.rs b/rust/src/parser_types.rs index aa4dc12..b5b5b75 100644 --- a/rust/src/parser_types.rs +++ b/rust/src/parser_types.rs @@ -1,5 +1,5 @@ #![allow(non_camel_case_types)] -use types::*; +use types::PsycString; enum PsycPart { } enum PsycListPart { } @@ -265,6 +265,89 @@ pub enum PsycParseUpdateRC { PSYC_PARSE_UPDATE_END = 27, } +#[derive(Debug, PartialEq)] +pub enum PsycParserResult<'a> { + StateSync, + StateReset, + Complete, + InsufficientData, + RoutingModifier { + operator: char, + name: &'a [u8], + value: &'a [u8] + }, + EntityModifier { + operator: char, + name: &'a [u8], + value: &'a [u8] + }, + EntityModifierStart { + operator: char, + name: &'a [u8], + value_part: &'a [u8] + }, + EntityModifierCont { + value_part: &'a [u8] + }, + EntityModifierEnd { + value_part: &'a [u8] + }, + Body { + method: &'a [u8], + data: &'a [u8] + }, + BodyStart { + method: &'a [u8], + data_part: &'a [u8] + }, + BodyCont { + data_part: &'a [u8] + }, + BodyEnd { + data_part: &'a [u8] + } +} +#[derive(Debug, PartialEq)] +pub enum PsycListParserResult<'a> { + Complete, + InsufficientData, + ListElement { + value: &'a [u8] + }, + ListElementStart { + value_part: &'a [u8] + }, + ListElementCont { + value_part: &'a [u8] + }, + ListElementEnd { + value_part: &'a [u8] + } +} +#[repr(C)] +#[derive(Debug, PartialEq)] +pub enum PsycParserError { + NoModifierLength = PsycParseRC::PSYC_PARSE_ERROR_MOD_NO_LEN as _, + NoContentLength = PsycParseRC::PSYC_PARSE_ERROR_NO_LEN as _, + NoEndDelimiter = PsycParseRC::PSYC_PARSE_ERROR_END as _, + NoNewlineAfterMethod = PsycParseRC::PSYC_PARSE_ERROR_METHOD as _, + NoNewlineAfterModifier = PsycParseRC::PSYC_PARSE_ERROR_MOD_NL as _, + InvalidModifierLength = PsycParseRC::PSYC_PARSE_ERROR_MOD_LEN as _, + NoTabBeforeModifierValue = PsycParseRC::PSYC_PARSE_ERROR_MOD_TAB as _, + NoModifierName = PsycParseRC::PSYC_PARSE_ERROR_MOD_NAME as _, + NoNewlineAfterContentLength = PsycParseRC::PSYC_PARSE_ERROR_LENGTH as _, + GenericError = PsycParseRC::PSYC_PARSE_ERROR as _, +} +#[repr(C)] +#[derive(Debug, PartialEq)] +pub enum PsycListParserError { + NoElementLength = PsycParseListRC::PSYC_PARSE_LIST_ERROR_ELEM_NO_LEN as _, + InvalidElementLength = PsycParseListRC::PSYC_PARSE_LIST_ERROR_ELEM_LENGTH as _, + InvalidElementType = PsycParseListRC::PSYC_PARSE_LIST_ERROR_ELEM_TYPE as _, + InvalidElementStart = PsycParseListRC::PSYC_PARSE_LIST_ERROR_ELEM_START as _, + InvalidType = PsycParseListRC::PSYC_PARSE_LIST_ERROR_TYPE as _, + GenericError = PsycParseListRC::PSYC_PARSE_LIST_ERROR as _, +} diff --git a/rust/src/uniform_types.rs b/rust/src/uniform_types.rs index 069a46a..c6bbab4 100644 --- a/rust/src/uniform_types.rs +++ b/rust/src/uniform_types.rs @@ -1,4 +1,4 @@ -use types::*; +use types::PsycString; #[derive(Debug, PartialEq)] pub enum PsycEntity<'a> { diff --git a/rust/tests/test_list_parser.rs b/rust/tests/test_list_parser.rs index 5c3ffb8..5c8e463 100644 --- a/rust/tests/test_list_parser.rs +++ b/rust/tests/test_list_parser.rs @@ -1,5 +1,5 @@ extern crate psyc; -use psyc::parser::*; +use psyc::*; #[test] fn test_parse() { diff --git a/rust/tests/test_parser.rs b/rust/tests/test_parser.rs index 3d43c30..c099ae3 100644 --- a/rust/tests/test_parser.rs +++ b/rust/tests/test_parser.rs @@ -1,5 +1,5 @@ extern crate psyc; -use psyc::parser::*; +use psyc::*; #[test] fn test_parse() {