haze: misc comments

This commit is contained in:
Liam 2023-04-15 20:24:44 -04:00
commit 6c99a828af
4 changed files with 26 additions and 9 deletions

View file

@ -138,7 +138,7 @@ namespace haze {
printf("\n" CONSOLE_ESC(38;5;196m) "Applet Mode" CONSOLE_ESC(0m) "\n");
}
consoleUpdate(NULL);
consoleUpdate(nullptr);
}
protected:
void ProcessEvent() override {

View file

@ -27,27 +27,31 @@ namespace haze {
u32 m_received_size;
u32 m_offset;
u8 *m_data;
bool m_eos;
bool m_eot;
private:
Result Flush() {
R_UNLESS(!m_eos, haze::ResultEndOfTransmission());
R_UNLESS(!m_eot, haze::ResultEndOfTransmission());
m_received_size = 0;
m_offset = 0;
ON_SCOPE_EXIT { m_eos = m_received_size < haze::UsbBulkPacketBufferSize; };
ON_SCOPE_EXIT {
/* End of transmission occurs when receiving a bulk transfer less than the buffer size. */
/* PTP uses zero-length termination, so zero is a possible size to receive. */
m_eot = m_received_size < haze::UsbBulkPacketBufferSize;
};
R_RETURN(m_server->ReadPacket(m_data, haze::UsbBulkPacketBufferSize, std::addressof(m_received_size)));
}
public:
constexpr explicit PtpDataParser(void *data, AsyncUsbServer *server) : m_server(server), m_received_size(), m_offset(), m_data(static_cast<u8 *>(data)), m_eos() { /* ... */ }
constexpr explicit PtpDataParser(void *data, AsyncUsbServer *server) : m_server(server), m_received_size(), m_offset(), m_data(static_cast<u8 *>(data)), m_eot() { /* ... */ }
Result Finalize() {
/* Read until the transmission completes. */
while (true) {
Result rc = this->Flush();
R_SUCCEED_IF(m_eos || haze::ResultEndOfTransmission::Includes(rc));
R_SUCCEED_IF(m_eot || haze::ResultEndOfTransmission::Includes(rc));
R_TRY(rc);
}
}

View file

@ -17,26 +17,39 @@
#include <haze/console_main_loop.hpp>
int main(int argc, char **argv) {
/* Declare the object heap, to hold the database for an active session. */
haze::PtpObjectHeap ptp_object_heap;
/* Declare the event reactor, and components which use it. */
haze::EventReactor event_reactor;
haze::PtpResponder ptp_responder;
haze::ConsoleMainLoop console_main_loop;
consoleInit(NULL);
/* Initialize the console.*/
consoleInit(nullptr);
/* Ensure we don't go to sleep while transferring files. */
appletSetAutoSleepDisabled(true);
/* Configure the PTP responder and console main loop. */
ptp_responder.Initialize(std::addressof(event_reactor), std::addressof(ptp_object_heap));
console_main_loop.Initialize(std::addressof(event_reactor), std::addressof(ptp_object_heap));
/* Process events until the user requests exit. */
while (!event_reactor.GetStopRequested()) {
ptp_responder.HandleRequest();
}
/* Finalize the console main loop and PTP responder. */
console_main_loop.Finalize();
ptp_responder.Finalize();
/* Restore auto sleep setting. */
appletSetAutoSleepDisabled(false);
consoleExit(NULL);
/* Finalize the console. */
consoleExit(nullptr);
/* Return to the loader. */
return 0;
}

View file

@ -153,7 +153,7 @@ namespace haze {
if (hosversionAtLeast(5, 0, 0)) {
static const u16 supported_langs[1] = { 0x0409 };
R_TRY(usbDsAddUsbLanguageStringDescriptor(NULL, supported_langs, util::size(supported_langs)));
R_TRY(usbDsAddUsbLanguageStringDescriptor(nullptr, supported_langs, util::size(supported_langs)));
u8 iManufacturer, iProduct, iSerialNumber;
R_TRY(usbDsAddUsbStringDescriptor(std::addressof(iManufacturer), "Nintendo"));