libimgdoc2
Loading...
Searching...
No Matches
IDocWrite2d.h
1// SPDX-FileCopyrightText: 2023 Carl Zeiss Microscopy GmbH
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7#include "TileBaseInfo.h"
8#include "DataTypes.h"
9#include "IDataObj.h"
10#include "IDatabaseTransaction.h"
11
12namespace imgdoc2
13{
16 {
17 public:
26 virtual imgdoc2::dbIndex AddTile(
27 const imgdoc2::ITileCoordinate* coord,
29 const imgdoc2::TileBaseInfo* tileInfo,
30 imgdoc2::DataTypes datatype,
31 imgdoc2::TileDataStorageType storage_type,
32 const imgdoc2::IDataObjBase* data) = 0;
33
34 ~IDocWrite2d() override = default;
35 public:
36 // no copy and no move (-> https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c21-if-you-define-or-delete-any-copy-move-or-destructor-function-define-or-delete-them-all )
37 IDocWrite2d() = default;
38 IDocWrite2d(const IDocWrite2d&) = delete; // copy constructor
39 IDocWrite2d& operator=(const IDocWrite2d&) = delete; // copy assignment
40 IDocWrite2d(IDocWrite2d&&) = delete; // move constructor
41 IDocWrite2d& operator=(IDocWrite2d&&) = delete; // move assignment
42 };
43}
Definition: IDataObj.h:12
Interface for controlling database transactions.
Definition: IDatabaseTransaction.h:16
This interface is providing write access to a 2D-document.
Definition: IDocWrite2d.h:16
virtual imgdoc2::dbIndex AddTile(const imgdoc2::ITileCoordinate *coord, const imgdoc2::LogicalPositionInfo *info, const imgdoc2::TileBaseInfo *tileInfo, imgdoc2::DataTypes datatype, imgdoc2::TileDataStorageType storage_type, const imgdoc2::IDataObjBase *data)=0
Definition: ITileCoordinate.h:16
Definition: LogicalPositionInfo.h:15
Definition: TileBaseInfo.h:17