John Sirois
7f57e5e234
Move from a helper function to a typeclass.
...
This introduces the `FoldResut` trait to move from `func(receiver, ...)`
style to `receiver.func(...)` style. Also add a means to pass the
default result explicitly.
2016-07-14 07:28:54 -06:00
John Sirois
2c40b8734e
Add a fold_ok
utility.
...
Add a utility that folds an iterator into a result and uses it to reduce
boilerplate in the codebase.
2016-07-13 12:43:04 -06:00
c6f9d91599
Merge pull request #513 from matthiasbeyer/libimagstore/hooks/optionally-deny-mutable-hooks
...
Libimagstore/hooks/optionally deny mutable hooks
2016-07-07 21:52:08 +02:00
7818b523b9
Deny mutable access for hooks if the config says so
2016-07-07 20:29:24 +02:00
eb31da70d1
Remove import: trace_error() function
2016-07-07 17:03:20 +02:00
7f14639c1e
Add configuration parsing/getter for denying of mutable hooks
2016-07-06 19:10:17 +02:00
b4b719b753
Add error kind for denied hooks
2016-07-06 19:09:58 +02:00
d18766b4b4
Remove checking for aborting errors
...
As the Aspect execution catches the aborting hooks and returns them, we
cannot have a non-aborting error here, so there is no point in checking
for aborting errors.
2016-07-06 18:01:00 +02:00
580ea28877
Fix Display impl for StoreId by using lossy string rep if PathBuf::to_str() fails
2016-07-05 13:47:58 +02:00
d7f22020e6
Merge pull request #489 from matthiasbeyer/libimagstore/storify-id
...
Libimagstore/storify
2016-07-04 19:26:42 +02:00
9605d6daa6
Ensure that StoreId::storified() does not alter already storified StoreId objects
2016-07-04 12:49:12 +02:00
a706680fd5
Revert "Store::create() Make outgoing storeid object unstorified"
...
This reverts commit 41d7d1c213
.
2016-07-04 12:46:06 +02:00
31d5dac63d
Revert "Add StoreId::unstorified()"
...
This reverts commit 37380c84b9
.
We do not want such a feature in the store, actually.
StoreId objects are either storified or not, but you cannot unstorify
them.
2016-07-04 12:45:17 +02:00
41d7d1c213
Store::create() Make outgoing storeid object unstorified
2016-07-04 12:44:58 +02:00
9f213ddc31
Add error kind for storeid handling errors
2016-07-04 12:44:58 +02:00
37380c84b9
Add StoreId::unstorified()
2016-07-04 12:44:58 +02:00
12b8f8f331
Move storification of StoreId object to new StoreId::storified() func
2016-07-02 17:52:12 +02:00
ea4487a481
Impl Display for StoreId
2016-06-30 11:02:58 +02:00
45a24de853
store.rs: Replace error boxing and wrapping with result helper from libimagerror
2016-06-27 18:16:43 +02:00
484520842a
lazyfile.rs: Replace error boxing and creation by call to new helper function
2016-06-27 18:00:12 +02:00
0a05b9825c
call helper generator macros in error module
2016-06-27 17:59:46 +02:00
55e6c29275
Add another level of error enclosure
2016-06-08 15:11:53 +02:00
e75b524e53
Add error kinds for Move functions
2016-06-08 15:11:53 +02:00
84a0778a5b
Refactor: Use helper function for equal codelines
2016-06-08 15:08:06 +02:00
3c40df1ae7
Add Store::save_to() to create a copy of an entry
2016-06-08 15:08:06 +02:00
2ce84a3dbf
Add {Pre, Post}Move hooks
2016-06-08 15:08:00 +02:00
12cac663d0
Implement save_as()
2016-06-08 14:03:17 +02:00
f885e6c80b
Implement move_by_id()
2016-06-08 14:03:17 +02:00
5b16771f4f
Add (unimplemented) functions for moving store entries
2016-06-08 14:02:52 +02:00
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
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
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
55e5255293
Remove duplicated StoreId member in FileLockEntry, use member from Entry
2016-05-29 00:01:05 +02:00
ce12a22ef5
Merge pull request #440 from matthiasbeyer/libimagstore/load-unload-hooks
...
Libimagstore/load unload hooks
2016-05-28 23:59:32 +02:00
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
812379c46d
Hook data accessors should implement Debug
2016-05-28 23:47:13 +02:00
d85f747066
Add a set of error kinds to identify the store call the error came from
2016-05-28 23:30:50 +02:00
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
6c7d6c29ea
Rewrite pre-hook execution
2016-05-28 21:08:55 +02:00
eb80714402
HookError: Add optional non-aborting mode
2016-05-28 21:08:07 +02:00
42289a085e
Fix glob() pattern
2016-05-28 17:28:38 +02:00
a6200b67c0
Merge pull request #446 from matthiasbeyer/libimagstore/fix-get
...
Fix Store::get()
2016-05-28 10:35:42 +02:00
19aec6327f
Fix Store::get()
2016-05-27 23:58:37 +02:00
3d9d5795e4
Rewrite hook error module with error macros
2016-05-27 10:15:29 +02:00
cb87b4b5d8
Remove old error code which is unused
2016-05-27 10:13:03 +02:00
183c46a7dd
Use Into implementations to convert error kinds into error types
2016-05-27 10:11:51 +02:00
e91eb2f55d
Use error.into() instead of building full type
2016-05-26 22:19:29 +02:00
5e98bd76b1
Shorten type names in import
2016-05-26 22:19:08 +02:00
25c4bea818
Shorten type names in import
2016-05-26 22:17:08 +02:00
fdb5d1bb24
Replace old error construction code with new libimagerror functionality
2016-05-26 22:16:29 +02:00