Audacity 3.2.0
Public Member Functions | Private Attributes | List of all members
audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart Class Referencefinal
Inheritance diagram for audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart:
[legend]
Collaboration diagram for audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart:
[legend]

Public Member Functions

 FilePart (const wxFileName &fileName)
 
int64_t GetSize () const override
 
size_t GetOffset () const override
 
size_t Read (void *buffer, size_t maxBytes) override
 
bool Seek (int64_t offset, int origin=SEEK_SET) override
 
- Public Member Functions inherited from audacity::network_manager::MultipartData::Part
virtual ~Part ()=default
 
void SetHeader (const std::string &headerName, const std::string &headerValue)
 
void SetContentType (const std::string &mimeType)
 
void SetContentDisposition (const std::string &disposition)
 
virtual int64_t GetSize () const =0
 
virtual size_t GetOffset () const =0
 
virtual size_t Read (void *buffer, size_t maxBytes)=0
 
virtual bool Seek (int64_t offset, int origin=SEEK_SET)=0
 
const HeadersListGetHeaders () const
 

Private Attributes

wxFile mFile
 
wxFileName mFileName
 

Detailed Description

Definition at line 101 of file MultipartData.cpp.

Constructor & Destructor Documentation

◆ FilePart()

audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart::FilePart ( const wxFileName &  fileName)
inlineexplicit

Definition at line 104 of file MultipartData.cpp.

105 : mFileName(fileName)
106 {
107 if (!fileName.FileExists())
108 {
110 XO("Failed to open the file for upload: %s")
111 .Format(fileName.GetFullPath()));
112 }
113
114 if (!mFile.Open(fileName.GetFullPath()))
115 {
118 XO("Failed to open the file for upload: %s")
119 .Format(fileName.GetFullPath()));
120 }
121 }
@ BadUserAction
Indicates that the user performed an action that is not allowed.
XO("Cut/Copy/Paste")
Abstract base class used in importing a file.
A MessageBoxException that shows a given, unvarying string.

References BadUserAction, and XO().

Here is the call graph for this function:

Member Function Documentation

◆ GetOffset()

size_t audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart::GetOffset ( ) const
inlineoverridevirtual

Implements audacity::network_manager::MultipartData::Part.

Definition at line 128 of file MultipartData.cpp.

129 {
130 return static_cast<size_t>(mFile.Tell());
131 }

◆ GetSize()

int64_t audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart::GetSize ( ) const
inlineoverridevirtual

Implements audacity::network_manager::MultipartData::Part.

Definition at line 123 of file MultipartData.cpp.

124 {
125 return static_cast<int64_t>(mFileName.GetSize().GetValue());
126 }

◆ Read()

size_t audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart::Read ( void *  buffer,
size_t  maxBytes 
)
inlineoverridevirtual

Implements audacity::network_manager::MultipartData::Part.

Definition at line 133 of file MultipartData.cpp.

134 {
135 const auto bytesRead = mFile.Read(buffer, maxBytes);
136
137 if (bytesRead == wxInvalidOffset)
138 return 0;
139
140 return static_cast<size_t>(bytesRead);
141 }

◆ Seek()

bool audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart::Seek ( int64_t  offset,
int  origin = SEEK_SET 
)
inlineoverridevirtual

Implements audacity::network_manager::MultipartData::Part.

Definition at line 143 of file MultipartData.cpp.

144 {
145 static constexpr wxSeekMode map[] = { wxFromStart, wxFromCurrent,
146 wxFromEnd };
147
148 if (origin < SEEK_SET || origin > SEEK_END)
149 return false;
150
151 return wxInvalidOffset != mFile.Seek(offset, map[origin]);
152 }

Member Data Documentation

◆ mFile

wxFile audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart::mFile
private

Definition at line 155 of file MultipartData.cpp.

◆ mFileName

wxFileName audacity::network_manager::anonymous_namespace{MultipartData.cpp}::FilePart::mFileName
private

Definition at line 156 of file MultipartData.cpp.


The documentation for this class was generated from the following file: