1 /*
2  * The Sleuth Kit
3  *
4  * Contact: Brian Carrier [carrier <at> sleuthkit [dot] org]
5  * Copyright (c) 2010-2012 Basis Technology Corporation. All Rights
6  * reserved.
7  *
8  * This software is distributed under the Common Public License 1.0
9  */
10 
11 /**
12  * \file CarveExtract.h
13  * Contains the interface of the abstract CarveExtract class.
14  */
15 #ifndef _TSK_CARVEEXTRACT_H
16 #define _TSK_CARVEEXTRACT_H
17 
18 #include "tsk/framework/services/TskImgDB.h"
19 
20 /**
21  * Interface for class that will carve an unallocated sectors image file. The
22  * design assumes that the unallocated sectors image file was created by a
23  * CarvePrep implementation.
24  */
25 class TSK_FRAMEWORK_API CarveExtract
26 {
27 public:
28     /**
29      * Virtual destructor to ensure derived class constructors are called
30      * polymorphically.
31      */
~CarveExtract()32     virtual ~CarveExtract() {}
33 
34     /**
35      * Carve a specified unallocated sectors image file.
36      *
37      * @param unallocImgId Id of the file to carve.
38      * @returns 1 on error.
39      */
40     virtual int processFile(int unallocImgId) = 0;
41 };
42 #endif
43