Skip to content

Commit 0b24416

Browse files
committed
Remove all cmdFrame_t arguments from network protocol classes
1 parent c94ad80 commit 0b24416

File tree

25 files changed

+225
-609
lines changed

25 files changed

+225
-609
lines changed

lib/device/rs232/network.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ void rs232Network::rs232_open()
138138
}
139139

140140
// Attempt protocol open
141-
if (protocol->open(urlParser.get(), &cmdFrame) == true)
141+
if (protocol->open(urlParser.get(), (netProtoOpenMode_t) cmdFrame.aux1,
142+
(netProtoTranslation_t) cmdFrame.aux2) == true)
142143
{
143144
status.error = protocol->error;
144145
Debug_printf("Protocol unable to make connection. Error: %d\n", status.error);
@@ -414,9 +415,6 @@ bool rs232Network::rs232_status_channel_json(NetworkStatus *ns)
414415
{
415416
ns->connected = json_bytes_remaining > 0;
416417
ns->error = json_bytes_remaining > 0 ? 1 : 136;
417-
#ifdef OBSOLETE
418-
ns->rxBytesWaiting = json_bytes_remaining;
419-
#endif /* OBSOLETE */
420418
return false; // for now
421419
}
422420

@@ -735,7 +733,7 @@ void rs232Network::rs232_special_00()
735733
rs232_set_channel_mode();
736734
break;
737735
default:
738-
if (protocol->special_00(&cmdFrame) == false)
736+
if (protocol->special_00((fujiCommandID_t) cmdFrame.comnd, cmdFrame.aux2) == false)
739737
rs232_complete();
740738
else
741739
rs232_error();
@@ -760,7 +758,7 @@ void rs232Network::rs232_special_40()
760758

761759
bus_to_computer((uint8_t *)receiveBuffer->data(),
762760
SPECIAL_BUFFER_SIZE,
763-
protocol->special_40((uint8_t *)receiveBuffer->data(), SPECIAL_BUFFER_SIZE, &cmdFrame));
761+
protocol->special_40((uint8_t *)receiveBuffer->data(), SPECIAL_BUFFER_SIZE, (fujiCommandID_t) cmdFrame.comnd));
764762
}
765763

766764
/**
@@ -807,7 +805,7 @@ void rs232Network::rs232_special_80()
807805
Debug_printf("rs232Network::rs232_special_80() - %s\n", spData);
808806

809807
// Do protocol action and return
810-
if (protocol->special_80(spData, SPECIAL_BUFFER_SIZE, &cmdFrame) == false)
808+
if (protocol->special_80(spData, SPECIAL_BUFFER_SIZE, (fujiCommandID_t) cmdFrame.comnd) == false)
811809
rs232_complete();
812810
else
813811
rs232_error();
@@ -1162,7 +1160,7 @@ void rs232Network::rs232_do_idempotent_command_80()
11621160
return;
11631161
}
11641162

1165-
if (protocol->perform_idempotent_80(urlParser.get(), &cmdFrame) == true)
1163+
if (protocol->perform_idempotent_80(urlParser.get(), (fujiCommandID_t) cmdFrame.comnd) == true)
11661164
{
11671165
Debug_printf("perform_idempotent_80 failed\n");
11681166
rs232_error();

lib/device/rs232/network.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include <vector>
77

88
#include "bus.h"
9+
#include "fujiCommandID.h"
910

1011
#include "Protocol.h"
1112
#include "peoples_url_parser.h"

lib/network-protocol/FS.cpp

Lines changed: 27 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@
55
*/
66

77
#include "FS.h"
8-
#include "fujiCommandID.h"
98

109
#include <stdlib.h>
1110
#include <string.h>
1211

1312
#include "../../include/debug.h"
1413

15-
#include "status_error_codes.h"
1614
#include "utils.h"
1715

1816
#include <cstring>
@@ -32,32 +30,31 @@ NetworkProtocolFS::~NetworkProtocolFS()
3230
{
3331
}
3432

35-
netProtoErr_t NetworkProtocolFS::open(PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
33+
netProtoErr_t NetworkProtocolFS::open(PeoplesUrlParser *urlParser, netProtoOpenMode_t omode,
34+
netProtoTranslation_t translate)
3635
{
3736
// Call base class.
38-
NetworkProtocol::open(url, cmdFrame);
37+
NetworkProtocol::open(urlParser, omode, translate);
3938
fileSize = 0;
4039

4140
update_dir_filename(opened_url);
4241

43-
if (mount(url) == true)
42+
if (mount(urlParser) == true)
4443
return NETPROTO_ERR_UNSPECIFIED;
4544

46-
if (cmdFrame->aux1 == 6 || cmdFrame->aux1 == 7)
45+
if (omode == NETPROTO_OPEN_DIRECTORY || omode == NETPROTO_OPEN_DIRECTORY_ALT)
4746
{
48-
return open_dir();
49-
}
50-
else
51-
{
52-
return open_file();
47+
return open_dir(translate);
5348
}
49+
50+
return open_file(omode);
5451
}
5552

56-
netProtoErr_t NetworkProtocolFS::open_file()
53+
netProtoErr_t NetworkProtocolFS::open_file(netProtoOpenMode_t omode)
5754
{
5855
update_dir_filename(opened_url);
5956

60-
if (aux1_open == 4 || aux1_open == 8)
57+
if (omode == NETPROTO_OPEN_READ || omode == NETPROTO_OPEN_WRITE)
6158
resolve();
6259
else
6360
stat();
@@ -69,10 +66,10 @@ netProtoErr_t NetworkProtocolFS::open_file()
6966
if (opened_url->path.empty())
7067
return NETPROTO_ERR_UNSPECIFIED;
7168

72-
return open_file_handle();
69+
return open_file_handle(omode);
7370
}
7471

75-
netProtoErr_t NetworkProtocolFS::open_dir()
72+
netProtoErr_t NetworkProtocolFS::open_dir(netProtoTranslation_t a2mode)
7673
{
7774
openMode = DIR;
7875
#ifndef BUILD_ATARI
@@ -108,10 +105,10 @@ netProtoErr_t NetworkProtocolFS::open_dir()
108105
if (entryBuffer.at(0) == '.' || entryBuffer.at(0) == '/')
109106
continue;
110107

111-
if (aux2_open & NETPROTO_A2_FLAG)
108+
if (a2mode & NETPROTO_A2_FLAG)
112109
{
113110
// Long entry
114-
if (aux2_open == NETPROTO_A2_80COL) // Apple2 80 col format.
111+
if (a2mode == NETPROTO_A2_80COL) // Apple2 80 col format.
115112
dirBuffer += util_long_entry_apple2_80col((char *)entryBuffer.data(), fileSize, is_directory) + lineEnding;
116113
else
117114
dirBuffer += util_long_entry((char *)entryBuffer.data(), fileSize, is_directory) + lineEnding;
@@ -295,7 +292,7 @@ netProtoErr_t NetworkProtocolFS::status_file(NetworkStatus *status)
295292
{
296293
unsigned int remaining;
297294

298-
if (aux1_open == 8) {
295+
if (opened_write) {
299296
remaining = fileSize;
300297
}
301298
else {
@@ -326,49 +323,6 @@ netProtoErr_t NetworkProtocolFS::status_dir(NetworkStatus *status)
326323
return NETPROTO_ERR_NONE;
327324
}
328325

329-
AtariSIODirection NetworkProtocolFS::special_inquiry(fujiCommandID_t cmd)
330-
{
331-
AtariSIODirection ret;
332-
333-
switch (cmd)
334-
{
335-
default:
336-
ret = SIO_DIRECTION_INVALID; // Not implemented.
337-
}
338-
339-
return ret;
340-
}
341-
342-
netProtoErr_t NetworkProtocolFS::special_00(cmdFrame_t *cmdFrame)
343-
{
344-
switch (cmdFrame->comnd)
345-
{
346-
default:
347-
error = NETWORK_ERROR_NOT_IMPLEMENTED;
348-
return NETPROTO_ERR_UNSPECIFIED;
349-
}
350-
}
351-
352-
netProtoErr_t NetworkProtocolFS::special_40(uint8_t *sp_buf, unsigned short len, cmdFrame_t *cmdFrame)
353-
{
354-
switch (cmdFrame->comnd)
355-
{
356-
default:
357-
error = NETWORK_ERROR_NOT_IMPLEMENTED;
358-
return NETPROTO_ERR_UNSPECIFIED;
359-
}
360-
}
361-
362-
netProtoErr_t NetworkProtocolFS::special_80(uint8_t *sp_buf, unsigned short len, cmdFrame_t *cmdFrame)
363-
{
364-
switch (cmdFrame->comnd)
365-
{
366-
default:
367-
error = NETWORK_ERROR_NOT_IMPLEMENTED;
368-
return NETPROTO_ERR_UNSPECIFIED;
369-
}
370-
}
371-
372326
void NetworkProtocolFS::resolve()
373327
{
374328
#ifdef VERBOSE_PROTOCOL
@@ -415,39 +369,38 @@ void NetworkProtocolFS::resolve()
415369
#endif
416370

417371
// Clear file size, if resolved to write and not append.
418-
if (aux1_open == 8)
372+
if (opened_write)
419373
fileSize = 0;
420-
421374
}
422375

423-
netProtoErr_t NetworkProtocolFS::perform_idempotent_80(PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
376+
netProtoErr_t NetworkProtocolFS::perform_idempotent_80(PeoplesUrlParser *url, fujiCommandID_t cmd)
424377
{
425378
#ifdef VERBOSE_PROTOCOL
426-
Debug_printf("NetworkProtocolFS::perform_idempotent_80, url: %s cmd: 0x%02X\r\n", url->url.c_str(), cmdFrame->comnd);
379+
Debug_printf("NetworkProtocolFS::perform_idempotent_80, url: %s cmd: 0x%02X\r\n", url->url.c_str(), cmd);
427380
#endif
428-
switch (cmdFrame->comnd)
381+
switch (cmd)
429382
{
430383
case FUJICMD_RENAME:
431-
return rename(url, cmdFrame);
384+
return rename(url);
432385
case FUJICMD_DELETE:
433-
return del(url, cmdFrame);
386+
return del(url);
434387
case FUJICMD_LOCK:
435-
return lock(url, cmdFrame);
388+
return lock(url);
436389
case FUJICMD_UNLOCK:
437-
return unlock(url, cmdFrame);
390+
return unlock(url);
438391
case FUJICMD_MKDIR:
439-
return mkdir(url, cmdFrame);
392+
return mkdir(url);
440393
case FUJICMD_RMDIR:
441-
return rmdir(url, cmdFrame);
394+
return rmdir(url);
442395
default:
443396
#ifdef VERBOSE_PROTOCOL
444-
Debug_printf("Uncaught idempotent command: 0x%02X\r\n", cmdFrame->comnd);
397+
Debug_printf("Uncaught idempotent command: 0x%02X\r\n", cmd);
445398
#endif
446399
return NETPROTO_ERR_UNSPECIFIED;
447400
}
448401
}
449402

450-
netProtoErr_t NetworkProtocolFS::rename(PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
403+
netProtoErr_t NetworkProtocolFS::rename(PeoplesUrlParser *url)
451404
{
452405
update_dir_filename(url);
453406

@@ -471,28 +424,3 @@ netProtoErr_t NetworkProtocolFS::rename(PeoplesUrlParser *url, cmdFrame_t *cmdFr
471424

472425
return NETPROTO_ERR_NONE;
473426
}
474-
475-
netProtoErr_t NetworkProtocolFS::del(PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
476-
{
477-
return NETPROTO_ERR_NONE;
478-
}
479-
480-
netProtoErr_t NetworkProtocolFS::mkdir(PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
481-
{
482-
return NETPROTO_ERR_NONE;
483-
}
484-
485-
netProtoErr_t NetworkProtocolFS::rmdir(PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
486-
{
487-
return NETPROTO_ERR_NONE;
488-
}
489-
490-
netProtoErr_t NetworkProtocolFS::lock(PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
491-
{
492-
return NETPROTO_ERR_NONE;
493-
}
494-
495-
netProtoErr_t NetworkProtocolFS::unlock(PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
496-
{
497-
return NETPROTO_ERR_NONE;
498-
}

0 commit comments

Comments
 (0)