OpenShot Audio Library | OpenShotAudio  0.3.1
juce_TemporaryFile.h
1 /*
2  ==============================================================================
3 
4  This file is part of the JUCE library.
5  Copyright (c) 2017 - ROLI Ltd.
6 
7  JUCE is an open source library subject to commercial or open-source
8  licensing.
9 
10  The code included in this file is provided under the terms of the ISC license
11  http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12  To use, copy, modify, and/or distribute this software for any purpose with or
13  without fee is hereby granted provided that the above copyright notice and
14  this permission notice appear in all copies.
15 
16  JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17  EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18  DISCLAIMED.
19 
20  ==============================================================================
21 */
22 
23 namespace juce
24 {
25 
26 //==============================================================================
64 class JUCE_API TemporaryFile
65 {
66 public:
67  //==============================================================================
69  {
70  useHiddenFile = 1,
72  putNumbersInBrackets = 2
75  };
76 
77  //==============================================================================
85  TemporaryFile (const String& suffix = String(),
86  int optionFlags = 0);
87 
103  TemporaryFile (const File& targetFile,
104  int optionFlags = 0);
105 
113  TemporaryFile (const File& targetFile,
114  const File& temporaryFile);
115 
122  ~TemporaryFile();
123 
124  //==============================================================================
126  const File& getFile() const noexcept { return temporaryFile; }
127 
129  const File& getTargetFile() const noexcept { return targetFile; }
130 
147  bool overwriteTargetFileWithTemporary() const;
148 
152  bool deleteTemporaryFile() const;
153 
154 
155 private:
156  //==============================================================================
157  const File temporaryFile, targetFile;
158 
159  JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TemporaryFile)
160 };
161 
162 } // namespace juce
const File & getFile() const noexcept
const File & getTargetFile() const noexcept