diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-03-06 20:46:29 +0000 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2011-03-06 20:46:29 +0000 |
commit | 6c701b58a24d96e37c323412f3d2aa334cd2ded1 (patch) | |
tree | a959865f001c94ce70bd94b5cd0f09c725f28fc4 /src/slices_evt.c | |
parent | 8d663918601896f6f5759a0f0b86a0131201dcfb (diff) | |
download | 2011-ddhardrescue-6c701b58a24d96e37c323412f3d2aa334cd2ded1.tar.gz 2011-ddhardrescue-6c701b58a24d96e37c323412f3d2aa334cd2ded1.tar.bz2 2011-ddhardrescue-6c701b58a24d96e37c323412f3d2aa334cd2ded1.zip |
La gestion minimaliste des évènements de modification des slices est faite.
Un dump à chaque event a été codé dans le main pour tester cet aspect. C'est ok.
Go go go ncurses :D
git-svn-id: file:///var/svn/2011-ddhardrescue/trunk@11 d3078510-dda0-49f1-841c-895ef4b7ec81
Diffstat (limited to 'src/slices_evt.c')
-rw-r--r-- | src/slices_evt.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/slices_evt.c b/src/slices_evt.c new file mode 100644 index 0000000..43cb568 --- /dev/null +++ b/src/slices_evt.c @@ -0,0 +1,22 @@ +#include "slices_evt.h" + +int sliceSplitEvt(slices_evt_t *slicesEvt, slice_t *initialSlice, address_t splitAt, sliceStatus_t statusBefore, sliceStatus_t statusAt, sliceStatus_t statusAfter) { + int res; + res=sliceSplit(slicesEvt->data, initialSlice, splitAt, statusBefore, statusAt, statusAfter); + if ( slicesEvt->eventListener != NULL ) { + //FIXME : this could be dereference a NULL pointer. Implement a real listener system with a thread-safe FIFO + switch(res) { + case 3: + slicesEvt->eventListener(slicesEvt, initialSlice->next->next); + case 2: + slicesEvt->eventListener(slicesEvt, initialSlice->next); + case 1: + slicesEvt->eventListener(slicesEvt, initialSlice); + break; + default: + // No events on split errors + break; + } + } + return res; +} |