From c2343eda674b545db8eed8cd2803876b6a1ec0b0 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 1 Sep 2017 19:02:01 +0200 Subject: [PATCH] Add error, result module --- lib/entry/libimagentrygps/src/error.rs | 34 +++++++++++++++++++++++++ lib/entry/libimagentrygps/src/lib.rs | 28 +++++++++++++++----- lib/entry/libimagentrygps/src/result.rs | 26 +++++++++++++++++++ 3 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 lib/entry/libimagentrygps/src/error.rs create mode 100644 lib/entry/libimagentrygps/src/result.rs diff --git a/lib/entry/libimagentrygps/src/error.rs b/lib/entry/libimagentrygps/src/error.rs new file mode 100644 index 00000000..bbf8be95 --- /dev/null +++ b/lib/entry/libimagentrygps/src/error.rs @@ -0,0 +1,34 @@ +// +// imag - the personal information management suite for the commandline +// Copyright (C) 2015, 2016 Matthias Beyer and contributors +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; version +// 2.1 of the License. +// +// This library 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 +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// + +generate_error_module!( + generate_error_types!(GPSError, GPSErrorKind, + StoreReadError => "Store read error", + StoreWriteError => "Store write error", + + HeaderWriteError => "Couldn't write Header for annotation", + HeaderReadError => "Couldn't read Header of Entry", + HeaderTypeError => "Header field has unexpected type" + ); +); + +pub use self::error::GPSError; +pub use self::error::GPSErrorKind; +pub use self::error::MapErrInto; + diff --git a/lib/entry/libimagentrygps/src/lib.rs b/lib/entry/libimagentrygps/src/lib.rs index cdfbe1aa..511ba3f2 100644 --- a/lib/entry/libimagentrygps/src/lib.rs +++ b/lib/entry/libimagentrygps/src/lib.rs @@ -1,6 +1,22 @@ -#[cfg(test)] -mod tests { - #[test] - fn it_works() { - } -} +// +// imag - the personal information management suite for the commandline +// Copyright (C) 2015, 2016 Matthias Beyer and contributors +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; version +// 2.1 of the License. +// +// This library 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 +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// + +pub mod error; +pub mod result; + diff --git a/lib/entry/libimagentrygps/src/result.rs b/lib/entry/libimagentrygps/src/result.rs new file mode 100644 index 00000000..495798fa --- /dev/null +++ b/lib/entry/libimagentrygps/src/result.rs @@ -0,0 +1,26 @@ +// +// imag - the personal information management suite for the commandline +// Copyright (C) 2015, 2016 Matthias Beyer and contributors +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; version +// 2.1 of the License. +// +// This library 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 +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// + +use std::result::Result as RResult; + +use error::GPSError; + +pub type Result = RResult; + +