Matthias Beyer
55e6c29275
Add another level of error enclosure
2016-06-08 15:11:53 +02:00
Matthias Beyer
e75b524e53
Add error kinds for Move functions
2016-06-08 15:11:53 +02:00
Matthias Beyer
84a0778a5b
Refactor: Use helper function for equal codelines
2016-06-08 15:08:06 +02:00
Matthias Beyer
3c40df1ae7
Add Store::save_to() to create a copy of an entry
2016-06-08 15:08:06 +02:00
Matthias Beyer
2ce84a3dbf
Add {Pre, Post}Move hooks
2016-06-08 15:08:00 +02:00
Matthias Beyer
12cac663d0
Implement save_as()
2016-06-08 14:03:17 +02:00
Matthias Beyer
f885e6c80b
Implement move_by_id()
2016-06-08 14:03:17 +02:00
Matthias Beyer
5b16771f4f
Add (unimplemented) functions for moving store entries
2016-06-08 14:02:52 +02:00
Matthias Beyer
88e89d7927
Merge pull request #456 from matthiasbeyer/libimagstore/errors-to-identify-store-api-call
...
Add a set of error kinds to identify the store call the error came from
2016-06-06 18:28:48 +02:00
Matthias Beyer
ea5319812d
Merge pull request #439 from matthiasbeyer/libimagstore/fle-and-entry-have-storeid
...
Remove duplicated StoreId member in FileLockEntry, use member from Entry
2016-05-29 02:15:26 +02:00
Matthias Beyer
9d37ffef91
Merge pull request #454 from matthiasbeyer/libimagstore/hook-exec-error-fix
...
Libimagstore/hook exec error fix
2016-05-29 01:31:17 +02:00
Matthias Beyer
55e5255293
Remove duplicated StoreId member in FileLockEntry, use member from Entry
2016-05-29 00:01:05 +02:00
Matthias Beyer
ce12a22ef5
Merge pull request #440 from matthiasbeyer/libimagstore/load-unload-hooks
...
Libimagstore/load unload hooks
2016-05-28 23:59:32 +02:00
Matthias Beyer
64e28f3c31
Fix C/P fail
...
The store executed the wrong hooks here, because of a C/P failure.
This fixes this bug.
2016-05-28 23:47:26 +02:00
Matthias Beyer
812379c46d
Hook data accessors should implement Debug
2016-05-28 23:47:13 +02:00
Matthias Beyer
d85f747066
Add a set of error kinds to identify the store call the error came from
2016-05-28 23:30:50 +02:00
Matthias Beyer
a42b6a10db
Add error tracing support in Aspect implementation
...
This removes the parallelization feature from the Aspect codebase as
std::error::Error does not implement Send, so we cannot send the error
from a child thread to a parent thread.
This is clearly not an optimal implementation now, but we have hook
non-aborting-error tracing support, which is more important than
parallelization support, at least in this early stage of development.
An issue has to be opened for re-implementing parallelization of hooks.
2016-05-28 21:08:55 +02:00
Matthias Beyer
6c7d6c29ea
Rewrite pre-hook execution
2016-05-28 21:08:55 +02:00
Matthias Beyer
eb80714402
HookError: Add optional non-aborting mode
2016-05-28 21:08:07 +02:00
Matthias Beyer
42289a085e
Fix glob() pattern
2016-05-28 17:28:38 +02:00
Matthias Beyer
a6200b67c0
Merge pull request #446 from matthiasbeyer/libimagstore/fix-get
...
Fix Store::get()
2016-05-28 10:35:42 +02:00
Matthias Beyer
19aec6327f
Fix Store::get()
2016-05-27 23:58:37 +02:00
Matthias Beyer
3d9d5795e4
Rewrite hook error module with error macros
2016-05-27 10:15:29 +02:00
Matthias Beyer
cb87b4b5d8
Remove old error code which is unused
2016-05-27 10:13:03 +02:00
Matthias Beyer
183c46a7dd
Use Into implementations to convert error kinds into error types
2016-05-27 10:11:51 +02:00
Matthias Beyer
e91eb2f55d
Use error.into() instead of building full type
2016-05-26 22:19:29 +02:00
Matthias Beyer
5e98bd76b1
Shorten type names in import
2016-05-26 22:19:08 +02:00
Matthias Beyer
25c4bea818
Shorten type names in import
2016-05-26 22:17:08 +02:00
Matthias Beyer
fdb5d1bb24
Replace old error construction code with new libimagerror functionality
2016-05-26 22:16:29 +02:00
Matthias Beyer
2ad5cb48aa
Implement store-unload hooks
2016-05-26 21:04:04 +02:00
Matthias Beyer
f19c057258
Merge pull request #432 from matthiasbeyer/libimagerror/simple-into
...
libimagerror: Impl Into<error name> for all <errorkindname>
2016-05-24 15:23:08 +02:00
Matthias Beyer
41b5d6d230
Merge pull request #400 from matthiasbeyer/libimagutil/match-helper
...
Libimagutil/match helper
2016-05-24 14:41:43 +02:00
Matthias Beyer
b1f43e3ef5
Impl Into<error name> for all <errorkindname>
2016-05-24 14:31:44 +02:00
Matthias Beyer
b6f5b71df1
libimagstore: Refactor code with is_match!() macro
2016-05-23 21:43:20 +02:00
Matthias Beyer
f0b665e5f2
libimagstore: Add dependency: libimagutil
2016-05-23 21:43:10 +02:00
Matthias Beyer
80b9cae5fe
Merge pull request #391 from matthiasbeyer/libimagstore/get
...
Libimagstore/get
2016-05-23 20:01:38 +02:00
Matthias Beyer
e45d9200bf
Adapt error generating code in libimagstore
2016-05-23 17:06:07 +02:00
Matthias Beyer
dd7e146081
impl Into<StoreIdIterator> for GlobStoreIdIterator to be able to convert easily
2016-05-23 14:52:32 +02:00
Matthias Beyer
839ec051a4
Add Store::get_all_versions() for getting all versions of a StoreId entry
2016-05-23 14:52:13 +02:00
Matthias Beyer
df33dec0c3
Add new error kind: StorePathError
2016-05-23 14:51:39 +02:00
Matthias Beyer
b4f17576f6
Add Store::get() for getting or failing if entry does not exist
2016-05-23 14:51:38 +02:00
Matthias Beyer
bf14b9ae4e
Update dependency: fs2 0.2.2 -> 0.2.*
2016-05-23 13:37:26 +02:00
Matthias Beyer
cc8642f54f
libimagstore: Replace error module imports with macro helper
2016-05-19 18:22:03 +02:00
Matthias Beyer
42f7e086a3
Replace error code with macro for code generation
2016-05-17 00:26:35 +02:00
Matthias Beyer
627fa7de46
Replace error code with macro for code generation
2016-05-17 00:26:35 +02:00
Matthias Beyer
a69fd78058
Add dependency: libimagerror
2016-05-17 00:26:35 +02:00
Matthias Beyer
a56f000e3e
Remove unneeded scope
2016-05-15 14:02:30 +02:00
Matthias Beyer
a26a0645bd
Remove iflet by mapping
2016-05-15 14:01:55 +02:00
Matthias Beyer
944a9bf876
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
0b7f815104
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
81810dbcc8
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
604e59ae3c
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
2a6e4c62fe
Remove unwrap() by matching, remove unneeded deref()
2016-05-15 14:01:55 +02:00
Matthias Beyer
8d9bd5154d
Remove unwrap() by matching, remove unneeded deref()
2016-05-15 14:01:55 +02:00
Matthias Beyer
a481200c9a
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
1e1cbec98b
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
70b3d3906e
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
1f66f67791
Replaced unwrap() by matching
2016-05-15 14:01:55 +02:00
Matthias Beyer
7b612ce8fb
Remove iflet by mapping over Option/Result types
2016-05-15 14:01:55 +02:00
Matthias Beyer
f9f5fa5717
Shorten code by using StoreError as SE and StoreErrorKind as SEK
2016-05-15 14:01:55 +02:00
Matthias Beyer
a852da54dd
Remove iflet by using Option::{map_err, and}()
2016-05-15 14:00:40 +02:00
Matthias Beyer
3fb6d507e5
Remove unwrap() by matching
2016-05-15 14:00:40 +02:00
Matthias Beyer
ac8bcde239
Remove unwrap() hell by matching
2016-05-15 14:00:40 +02:00
Andre Bogus
cd224eaeff
roll back closure, remove unneeded slice & imports
2016-05-14 20:12:19 +02:00
Andre Bogus
981707c9c9
more style adaptations
...
again following clippy
2016-05-13 22:27:53 +02:00
Matthias Beyer
b9d8e5728b
Move GlobStoreIdIterator implementation so we can have it non-public
2016-05-12 17:27:41 +02:00
Matthias Beyer
a510e1b6b6
Add error printing (debug) in GlobStoreIdIterator helper type
2016-05-12 17:24:27 +02:00
Matthias Beyer
5972ce7f37
Make StoreIdIterator generic
...
This patch makes the StoreIdIterator type generic over all iterators
with Item = StoreId.
As the StoreIdIterator type was previousely used for iterating over a
glob() result, I had to wrap this result type in another iterator type
which is then wrapped in StoreIdIterator.
With this patch applied, other libraries may use the StoreIdIterator
type to abstract things away in their implementation.
2016-05-12 17:21:04 +02:00
Matthias Beyer
9f528fb929
Merge pull request #390 from matthiasbeyer/update-log
...
Update log
2016-05-11 12:35:27 +02:00
Matthias Beyer
62f6478476
Update log: 0.3.* -> 0.3
2016-05-10 17:54:47 +02:00
Matthias Beyer
87c55d5906
Remove old check from config validation
...
These keys are not used, actually.
2016-05-09 17:11:59 +02:00
Matthias Beyer
285832f45f
Merge pull request #349 from matthiasbeyer/libimagstore/walk
...
Libimagstore/walk
2016-05-09 15:53:17 +02:00
Matthias Beyer
c32065c2d6
Implement Store::walk()
2016-05-07 13:17:23 +02:00
Matthias Beyer
3842e177d7
Make Entry::{from_file,from_str} generic over IntoStoreId
2016-05-04 13:30:19 +02:00
Matthias Beyer
5d6c226953
Make some store functions generic over IntoStoreId
2016-05-04 13:30:19 +02:00
Matthias Beyer
24ddf5d53b
Impl IntoStoreId for StoreId
2016-05-04 13:30:19 +02:00
Matthias Beyer
7e17e213be
Fixup ModuleEntryPath macro type
2016-05-04 13:30:19 +02:00
Matthias Beyer
b4db587a10
Impl Deref<PathBuf> for StoreId
2016-05-03 14:58:18 +02:00
Matthias Beyer
4d4acf9168
Fix IntoStoreId implementation
2016-05-03 14:58:05 +02:00
Matthias Beyer
799b9e27a5
Remove typedef for StoreId type
...
but make it a new type instead.
Also derive and implement as many traits as possible for it, so we keep
backwards compatibility as much as possible.
Anyways, we need to rewrite some code for this.
Suggested-by: Marcel Müller <neikos@neikos.email>
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2016-05-03 14:58:05 +02:00
Matthias Beyer
770cc3e86b
Add dependency: walkdir = 0.1.5
2016-04-28 17:52:46 +02:00
Matthias Beyer
b629d0b8f1
Merge pull request #367 from matthiasbeyer/unwrap_err
...
Unwrap err
2016-04-21 15:08:36 +02:00
Matthias Beyer
cb3683940e
Remove unneeded module specifiers from Deref{,Mut} impls
2016-04-21 13:13:58 +02:00
Matthias Beyer
fd9dee7dea
Implement Debug for StoreIdIterator
2016-04-20 21:46:02 +02:00
Matthias Beyer
872114d86f
FileLockEntry: Derive Debug
2016-04-20 21:46:02 +02:00
Matthias Beyer
01c226f0ca
Revert change to unwrap_err() here, trait bounds not fulfilled
2016-04-20 21:46:02 +02:00
Matthias Beyer
0bb40fca11
libimagstore: Replace .err().unwrap() with .unwrap_err()
2016-04-20 21:46:01 +02:00
Matthias Beyer
144c42aee5
libimagstore Update regex 0.1.x -> 0.1.*
2016-04-17 21:00:31 +02:00
Matthias Beyer
6a407365bd
Enhance store config errors by printing (println)
2016-03-26 15:28:35 +01:00
Matthias Beyer
b7aac5e275
Remove aspects which were removed in #277
2016-03-26 15:03:34 +01:00
Matthias Beyer
4a3fdfe862
Merge pull request #288 from matthiasbeyer/libimagstore/fix-wrong-hook-call
...
Fix wrong hook execution: post-retrieve
2016-03-26 13:57:00 +01:00
Matthias Beyer
9e3de45bdd
Merge pull request #281 from matthiasbeyer/per-crate-readme
...
Per crate readme
2016-03-26 13:56:47 +01:00
Matthias Beyer
94bed5f364
Merge pull request #287 from matthiasbeyer/libimagstore/hooks/fix-missing-tostr-impl
...
Add missing hook_error_type_as_str() impl
2016-03-26 13:56:43 +01:00
Matthias Beyer
7c276d541d
Merge pull request #279 from matthiasbeyer/libimagstore/rewrite-file
...
Truncate file to zero size before writing new content, so we do not p…
2016-03-26 13:56:06 +01:00
Matthias Beyer
0a181479c8
Merge pull request #277 from matthiasbeyer/libimagstore/remove-unused-aspects
...
Libimagstore/remove unused aspects
2016-03-26 13:55:46 +01:00
Matthias Beyer
93d7b81dc5
Merge pull request #276 from matthiasbeyer/libimagstore/config-getter
...
Store::config() added, mainly for debugging use
2016-03-26 13:55:11 +01:00
Matthias Beyer
ad35d0bf50
Add missing hook_error_type_as_str() impl
2016-03-25 19:17:35 +01:00
Matthias Beyer
bb918db5c3
Fix wrong hook execution: post-retrieve
2016-03-25 19:17:19 +01:00
Matthias Beyer
b54576d95d
Add README for libimagstore
2016-03-25 15:56:42 +01:00
Matthias Beyer
ab417a17d0
Truncate file to zero size before writing new content, so we do not partially write the file
2016-03-25 15:39:26 +01:00