Line |
Branch |
Exec |
Source |
1 |
|
|
// SPDX-FileCopyrightText: 2023 Carl Zeiss Microscopy GmbH |
2 |
|
|
// |
3 |
|
|
// SPDX-License-Identifier: MIT |
4 |
|
|
|
5 |
|
|
#pragma once |
6 |
|
|
|
7 |
|
|
namespace imgdoc2 |
8 |
|
|
{ |
9 |
|
|
/// This interface is representing a blob, a piece of consecutive memory. It is used for passing in blob-data |
10 |
|
|
/// into libimgdoc2. |
11 |
|
|
class IDataObjBase |
12 |
|
|
{ |
13 |
|
|
public: |
14 |
|
|
/// Gets pointer to the data and its size. Passing in nullptr is valid if not interested in the respective return value. |
15 |
|
|
/// \param p If non-null, the address of the data is put here. |
16 |
|
|
/// \param [in,out] s If non-null, the size of the data is put here. |
17 |
|
|
virtual void GetData(const void** p, size_t* s) const = 0; |
18 |
|
|
|
19 |
|
16 |
virtual ~IDataObjBase() = default; |
20 |
|
|
}; |
21 |
|
|
} |
22 |
|
|
|