1 /*
2  * The Sleuth Kit
3  *
4  * Brian Carrier [carrier <at> sleuthkit [dot] org]
5  * Copyright (c) 2019-2020 Brian Carrier.  All Rights reserved
6  * Copyright (c) 2018-2019 BlackBag Technologies.  All Rights reserved
7  *
8  * This software is distributed under the Common Public License 1.0
9  */
10 /** \@file C -> C++ compatability layer */
11 #pragma once
12 
13 #include "pool_compat.hpp"
14 #include "tsk_apfs.hpp"
15 
16 class APFSPoolCompat : public TSKPoolCompat<APFSPool> {
17   void init_volumes();
18 
19  public:
20   template <typename... Args>
APFSPoolCompat(Args &&...args)21   APFSPoolCompat(Args&&... args)
22       : TSKPoolCompat<APFSPool>(TSK_POOL_TYPE_APFS, std::forward<Args>(args)...) {
23     init_volumes();
24   }
25 
26   ~APFSPoolCompat();
27 
28   uint8_t poolstat(FILE* hFile) const noexcept;
29   TSK_IMG_INFO * getImageInfo(const TSK_POOL_INFO *pool_info, TSK_DADDR_T pvol_block) noexcept;
30 };
31