OpenShot Audio Library | OpenShotAudio
0.3.2
Loading...
Searching...
No Matches
juce_FileInputStream.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
//==============================================================================
34
class
JUCE_API
FileInputStream
:
public
InputStream
35
{
36
public
:
37
//==============================================================================
44
explicit
FileInputStream
(
const
File
&
fileToRead
);
45
47
~FileInputStream
()
override
;
48
49
//==============================================================================
51
const
File
&
getFile
()
const
noexcept
{
return
file; }
52
57
const
Result
&
getStatus
()
const
noexcept
{
return
status; }
58
62
bool
failedToOpen
()
const
noexcept
{
return
status.failed(); }
63
67
bool
openedOk
()
const
noexcept
{
return
status.wasOk(); }
68
69
70
//==============================================================================
71
int64 getTotalLength()
override
;
72
int
read (
void
*,
int
)
override
;
73
bool
isExhausted()
override
;
74
int64 getPosition()
override
;
75
bool
setPosition (int64)
override
;
76
77
private
:
78
//==============================================================================
79
const
File
file;
80
void
* fileHandle =
nullptr
;
81
int64 currentPosition = 0;
82
Result
status { Result::ok() };
83
84
void
openHandle();
85
size_t
readInternal (
void
*,
size_t
);
86
87
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FileInputStream)
88
};
89
90
}
// namespace juce
juce::Array
Definition
juce_Array.h:56
juce::FileInputStream
Definition
juce_FileInputStream.h:35
juce::FileInputStream::getStatus
const Result & getStatus() const noexcept
Definition
juce_FileInputStream.h:57
juce::FileInputStream::failedToOpen
bool failedToOpen() const noexcept
Definition
juce_FileInputStream.h:62
juce::FileInputStream::openedOk
bool openedOk() const noexcept
Definition
juce_FileInputStream.h:67
juce::FileInputStream::~FileInputStream
~FileInputStream() override
juce::FileInputStream::getFile
const File & getFile() const noexcept
Definition
juce_FileInputStream.h:51
juce::File
Definition
juce_File.h:41
juce::InputStream
Definition
juce_InputStream.h:37
juce::Result
Definition
juce_Result.h:57
JuceLibraryCode
modules
juce_core
files
juce_FileInputStream.h
Generated by
1.9.8