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 100 of file MultipartData.cpp.

Constructor & Destructor Documentation

◆ FilePart()

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

Definition at line 103 of file MultipartData.cpp.

104 : mFileName(fileName)
105 {
106 if (!fileName.FileExists())
107 {
109 XO("Failed to open the file for upload: %s")
110 .Format(fileName.GetFullPath()));
111 }
112
113 if (!mFile.Open(fileName.GetFullPath()))
114 {
117 XO("Failed to open the file for upload: %s")
118 .Format(fileName.GetFullPath()));
119 }
120 }
@ 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 127 of file MultipartData.cpp.

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

◆ GetSize()

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

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

Definition at line 122 of file MultipartData.cpp.

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

◆ 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 132 of file MultipartData.cpp.

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

◆ 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 142 of file MultipartData.cpp.

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

Member Data Documentation

◆ mFile

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

Definition at line 154 of file MultipartData.cpp.

◆ mFileName

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

Definition at line 155 of file MultipartData.cpp.


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