softwarecontainer  0.18.0-739e8d7 2017-05-04
dynamiccontaineroptions.h
1 /*
2  * Copyright (C) 2016-2017 Pelagicore AB
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
11  * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
12  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
13  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
14  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
15  * SOFTWARE.
16  *
17  * For further information see LICENSE
18  */
19 
20 #pragma once
21 
22 #include "config/softwarecontainerconfig.h"
23 
24 #include <memory>
25 
26 namespace softwarecontainer {
27 
29 {
30 public:
31  /*
32  * @brief creates a SoftwareContainerConfig with the dynamic options set
33  *
34  * @param conf a SoftwareContainerConfig with static settings
35  * @return a SoftwareContainerConfig pointer where the dynamic options that this object
36  * holds are set
37  */
38  std::unique_ptr<SoftwareContainerConfig> toConfig(const SoftwareContainerConfig &conf) const;
39 
40  /*
41  * Setter and getter for the dynamic value on whether or not to enable
42  * buffered write to disk for the container.
43  */
44  void setWriteBufferEnabled(bool enabled);
45  bool writeBufferEnabled() const;
46 
56 
62  void setTemporaryFileSystemSize(unsigned int size);
67  unsigned int temporaryFileSystemSize() const;
68 
69 private:
70  bool m_writeBufferEnabled = false;
71  bool m_temporaryFileSystemWriteBufferEnabled = false;
72  unsigned int m_temporaryFileSystemSize;
73 };
74 
75 } // namespace softwarecontainer
Contains all values that should be passed to SoftwareContainer on creation.
bool temporaryFileSystemWriteBufferEnabled() const
Getter for the temporaryFileSystemWriteBufferEnableds variable.
unsigned int temporaryFileSystemSize() const
Getter for the temporaryFileSystemSize variable.
void setTemporaryFileSystemWriteBufferEnabled(bool enabled)
Setter for the temporaryFileSystemWriteBufferEnableds variable used to tell the container if it shall...
Developers guide to adding a config item:
void setTemporaryFileSystemSize(unsigned int size)
Setter for the temporaryFileSystemSize which is used to tell the system the size of the tmpfs being m...