libimgdoc2
Loading...
Searching...
No Matches
IOpenExistingOptions.h
1// SPDX-FileCopyrightText: 2023 Carl Zeiss Microscopy GmbH
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7#include <string>
8
9namespace imgdoc2
10{
13 {
14 public:
18 virtual void SetFilename(const char* filename) = 0;
19
22 virtual void SetOpenReadonly(bool read_only) = 0;
23
26 [[nodiscard]] virtual bool GetOpenReadonly() const = 0;
27
30 [[nodiscard]] virtual const std::string& GetFilename() const = 0;
31
32 virtual ~IOpenExistingOptions() = default;
33
37 void SetFilename(const std::string& filename)
38 {
39 this->SetFilename(filename.c_str());
40 }
41
42 // 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 )
43 IOpenExistingOptions() = default;
44 IOpenExistingOptions(const IOpenExistingOptions&) = delete; // copy constructor
45 IOpenExistingOptions& operator=(const IOpenExistingOptions&) = delete; // copy assignment
46 IOpenExistingOptions(IOpenExistingOptions&&) = delete; // move constructor
47 IOpenExistingOptions& operator=(IOpenExistingOptions&&) = delete; // move assignment
48 };
49}
This interface gathers all parameters for the operation of "opening an existing file".
Definition: IOpenExistingOptions.h:13
virtual void SetFilename(const char *filename)=0
virtual bool GetOpenReadonly() const =0
virtual void SetOpenReadonly(bool read_only)=0
void SetFilename(const std::string &filename)
Definition: IOpenExistingOptions.h:37
virtual const std::string & GetFilename() const =0