mirror of
https://github.com/wfjm/w11.git
synced 2026-01-24 20:01:19 +00:00
ensure that defaulted scheme visible in displayed open urls
- pass default scheme to RparseUrl in Open() - add Open() overloads for Rw11VirtDiskFile and Rw11VirtDiskOver
This commit is contained in:
parent
3e6b02f9cf
commit
8b97e62314
@ -1,4 +1,4 @@
|
||||
// $Id: RlinkPortCuff.cpp 858 2017-03-05 17:41:37Z mueller $
|
||||
// $Id: RlinkPortCuff.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2012-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.1.5 Open(): set default scheme
|
||||
// 2017-03-04 858 1.1.4 use clock_gettime instead of gettimeofday
|
||||
// 2015-04-12 666 1.1.3 add noinit attribute
|
||||
// 2014-08-22 584 1.1.2 use nullptr
|
||||
@ -26,7 +27,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: RlinkPortCuff.cpp 858 2017-03-05 17:41:37Z mueller $
|
||||
\version $Id: RlinkPortCuff.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Implemenation of RlinkPortCuff.
|
||||
*/
|
||||
|
||||
@ -98,7 +99,7 @@ bool RlinkPortCuff::Open(const std::string& url, RerrMsg& emsg)
|
||||
|
||||
if (IsOpen()) Close();
|
||||
|
||||
if (!fUrl.Set(url, "|trace|noinit|", emsg)) return false;
|
||||
if (!fUrl.Set(url, "|trace|noinit|", "cuff", emsg)) return false;
|
||||
|
||||
// initialize USB context
|
||||
irc = libusb_init(&fpUsbContext);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// $Id: RlinkPortFifo.cpp 666 2015-04-12 21:17:54Z mueller $
|
||||
// $Id: RlinkPortFifo.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2011-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
// Copyright 2011-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
// This program is free software; you may redistribute and/or modify it under
|
||||
// the terms of the GNU General Public License as published by the Free
|
||||
@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.2.1 Open(): set default scheme
|
||||
// 2015-04-12 666 1.2 add xon,noinit attributes
|
||||
// 2013-02-23 492 1.1 use RparseUrl
|
||||
// 2011-03-27 374 1.0 Initial version
|
||||
@ -21,7 +22,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: RlinkPortFifo.cpp 666 2015-04-12 21:17:54Z mueller $
|
||||
\version $Id: RlinkPortFifo.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Implemenation of RlinkPortFifo.
|
||||
*/
|
||||
|
||||
@ -65,7 +66,7 @@ bool RlinkPortFifo::Open(const std::string& url, RerrMsg& emsg)
|
||||
{
|
||||
if (IsOpen()) Close();
|
||||
|
||||
if (!fUrl.Set(url, "|keep|xon|noinit|", emsg)) return false;
|
||||
if (!fUrl.Set(url, "|keep|xon|noinit|", "fifo", emsg)) return false;
|
||||
|
||||
// Note: _rx fifo must be opened before the _tx fifo, otherwise the test
|
||||
// bench might close with EOF on read prematurely (is a race condition).
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: RlinkPortTerm.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: RlinkPortTerm.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2011-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.3.2 Open(): set default scheme
|
||||
// 2017-04-07 868 1.3.1 Dump(): add detail arg
|
||||
// 2015-04-12 666 1.3 drop xon/xoff excaping; add noinit attribute
|
||||
// 2015-02-01 641 1.2 support custom baud rates (5M,6M,10M,12M)
|
||||
@ -28,7 +29,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: RlinkPortTerm.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: RlinkPortTerm.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Implemenation of RlinkPortTerm.
|
||||
*/
|
||||
|
||||
@ -83,7 +84,7 @@ bool RlinkPortTerm::Open(const std::string& url, RerrMsg& emsg)
|
||||
{
|
||||
Close();
|
||||
|
||||
if (!fUrl.Set(url, "|baud=|break|cts|xon|noinit|", emsg)) return false;
|
||||
if (!fUrl.Set(url, "|baud=|break|cts|xon|noinit|", "term", emsg)) return false;
|
||||
|
||||
// if path doesn't start with a '/' prepend a '/dev/tty'
|
||||
if (fUrl.Path().substr(0,1) != "/") {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtDiskFile.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtDiskFile.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.1.2 Open(): add overload with scheme handling
|
||||
// 2017-04-07 868 1.1.1 Dump(): add detail arg
|
||||
// 2017-03-11 859 1.1 use fWProt
|
||||
// 2013-04-14 506 1.0 Initial version
|
||||
@ -21,7 +22,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtDiskFile.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtDiskFile.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Implemenation of Rw11VirtDiskFile.
|
||||
*/
|
||||
|
||||
@ -65,7 +66,16 @@ Rw11VirtDiskFile::~Rw11VirtDiskFile()
|
||||
|
||||
bool Rw11VirtDiskFile::Open(const std::string& url, RerrMsg& emsg)
|
||||
{
|
||||
if (!fUrl.Set(url, "|wpro|", emsg)) return false;
|
||||
return Open(url, "file", emsg);
|
||||
}
|
||||
|
||||
//------------------------------------------+-----------------------------------
|
||||
//! FIXME_docs
|
||||
|
||||
bool Rw11VirtDiskFile::Open(const std::string& url, const std::string& scheme,
|
||||
RerrMsg& emsg)
|
||||
{
|
||||
if (!fUrl.Set(url, "|wpro|", scheme, emsg)) return false;
|
||||
|
||||
fWProt = fUrl.FindOpt("wpro");
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtDiskFile.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtDiskFile.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.0.2 Open(): add overload with scheme handling
|
||||
// 2017-04-07 868 1.0.1 Dump(): add detail arg
|
||||
// 2013-04-14 506 1.0 Initial version
|
||||
// 2013-02-13 488 0.1 First draft
|
||||
@ -21,7 +22,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtDiskFile.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtDiskFile.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Declaration of class Rw11VirtDiskFile.
|
||||
*/
|
||||
|
||||
@ -38,7 +39,9 @@ namespace Retro {
|
||||
explicit Rw11VirtDiskFile(Rw11Unit* punit);
|
||||
~Rw11VirtDiskFile();
|
||||
|
||||
bool Open(const std::string& url, RerrMsg& emsg);
|
||||
virtual bool Open(const std::string& url, RerrMsg& emsg);
|
||||
bool Open(const std::string& url, const std::string& scheme,
|
||||
RerrMsg& emsg);
|
||||
|
||||
virtual bool Read(size_t lba, size_t nblk, uint8_t* data,
|
||||
RerrMsg& emsg);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtDiskOver.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtDiskOver.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2017- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -13,13 +13,14 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.0.2 Open(): use overload with scheme handling
|
||||
// 2017-04-07 868 1.0.1 Dump(): add detail arg
|
||||
// 2017-03-10 859 1.0 Initial version
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtDiskOver.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtDiskOver.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Implemenation of Rw11VirtDiskOver.
|
||||
*/
|
||||
|
||||
@ -72,8 +73,7 @@ bool Rw11VirtDiskOver::WProt() const
|
||||
bool Rw11VirtDiskOver::Open(const std::string& url, RerrMsg& emsg)
|
||||
{
|
||||
// FIXME_code: do we need to handle wpro ?
|
||||
// FIXME_code: at this point assume that parent ignore proto
|
||||
return Rw11VirtDiskFile::Open(url, emsg);
|
||||
return Rw11VirtDiskFile::Open(url, "over", emsg);
|
||||
}
|
||||
|
||||
//------------------------------------------+-----------------------------------
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtDiskOver.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtDiskOver.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2017- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtDiskOver.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtDiskOver.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Declaration of class Rw11VirtDiskOver.
|
||||
*/
|
||||
|
||||
@ -48,7 +48,7 @@ namespace Retro {
|
||||
|
||||
virtual bool WProt() const;
|
||||
|
||||
bool Open(const std::string& url, RerrMsg& emsg);
|
||||
virtual bool Open(const std::string& url, RerrMsg& emsg);
|
||||
|
||||
virtual bool Read(size_t lba, size_t nblk, uint8_t* data,
|
||||
RerrMsg& emsg);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtStream.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtStream.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtStream.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtStream.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Declaration of class Rw11VirtStream.
|
||||
*/
|
||||
|
||||
@ -39,7 +39,7 @@ namespace Retro {
|
||||
explicit Rw11VirtStream(Rw11Unit* punit);
|
||||
~Rw11VirtStream();
|
||||
|
||||
bool Open(const std::string& url, RerrMsg& emsg);
|
||||
virtual bool Open(const std::string& url, RerrMsg& emsg);
|
||||
int Read(uint8_t* data, size_t count, RerrMsg& emsg);
|
||||
bool Write(const uint8_t* data, size_t count, RerrMsg& emsg);
|
||||
bool Flush(RerrMsg& emsg);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtTapeTap.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtTapeTap.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2015-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.0.2 Open(): set default scheme
|
||||
// 2017-04-07 868 1.0.1 Dump(): add detail arg
|
||||
// 2015-06-04 686 1.0 Initial version
|
||||
// 2015-05-17 683 0.1 First draft
|
||||
@ -20,7 +21,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtTapeTap.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtTapeTap.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Implemenation of Rw11VirtTapeTap.
|
||||
*/
|
||||
|
||||
@ -79,7 +80,7 @@ Rw11VirtTapeTap::~Rw11VirtTapeTap()
|
||||
|
||||
bool Rw11VirtTapeTap::Open(const std::string& url, RerrMsg& emsg)
|
||||
{
|
||||
if (!fUrl.Set(url, "|wpro|e11|cap=|", emsg)) return false;
|
||||
if (!fUrl.Set(url, "|wpro|e11|cap=|", "tap", emsg)) return false;
|
||||
|
||||
fWProt = fUrl.FindOpt("wpro");
|
||||
fPadOdd = fUrl.FindOpt("e11");
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtTapeTap.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtTapeTap.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2015-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtTapeTap.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtTapeTap.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Declaration of class Rw11VirtTapeTap.
|
||||
*/
|
||||
|
||||
@ -38,7 +38,7 @@ namespace Retro {
|
||||
explicit Rw11VirtTapeTap(Rw11Unit* punit);
|
||||
~Rw11VirtTapeTap();
|
||||
|
||||
bool Open(const std::string& url, RerrMsg& emsg);
|
||||
virtual bool Open(const std::string& url, RerrMsg& emsg);
|
||||
|
||||
virtual bool ReadRecord(size_t nbyt, uint8_t* data, size_t& ndone,
|
||||
int& opcode, RerrMsg& emsg);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtTermPty.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtTermPty.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.0.2 Open(): set default scheme
|
||||
// 2017-04-07 868 1.0.1 Dump(): add detail arg
|
||||
// 2013-03-06 495 1.0 Initial version
|
||||
// 2013-02-24 492 0.1 First draft
|
||||
@ -20,7 +21,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtTermPty.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtTermPty.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Implemenation of Rw11VirtTermPty.
|
||||
*/
|
||||
#define _XOPEN_SOURCE 600
|
||||
@ -69,6 +70,8 @@ Rw11VirtTermPty::~Rw11VirtTermPty()
|
||||
|
||||
bool Rw11VirtTermPty::Open(const std::string& url, RerrMsg& emsg)
|
||||
{
|
||||
if (!fUrl.Set(url, "", "pty", emsg)) return false;
|
||||
|
||||
int fd = posix_openpt(O_RDWR);
|
||||
if (fd < 0) {
|
||||
emsg.InitErrno("Rw11VirtTermPty::Open", "posix_openpt() failed: ", errno);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtTermPty.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtTermPty.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtTermPty.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtTermPty.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Declaration of class Rw11VirtTermPty.
|
||||
*/
|
||||
|
||||
@ -40,7 +40,7 @@ namespace Retro {
|
||||
explicit Rw11VirtTermPty(Rw11Unit* punit);
|
||||
~Rw11VirtTermPty();
|
||||
|
||||
bool Open(const std::string& url, RerrMsg& emsg);
|
||||
virtual bool Open(const std::string& url, RerrMsg& emsg);
|
||||
|
||||
virtual bool Snd(const uint8_t* data, size_t count, RerrMsg& emsg);
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtTermTcp.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtTermTcp.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -13,6 +13,7 @@
|
||||
//
|
||||
// Revision History:
|
||||
// Date Rev Version Comment
|
||||
// 2017-04-15 875 1.0.6 Open(): set default scheme
|
||||
// 2017-04-07 868 1.0.5 Dump(): add detail arg
|
||||
// 2014-08-22 584 1.0.4 use nullptr
|
||||
// 2013-05-17 512 1.0.3 use Rtools::String2Long
|
||||
@ -24,7 +25,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtTermTcp.cpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtTermTcp.cpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Implemenation of Rw11VirtTermTcp.
|
||||
*/
|
||||
|
||||
@ -118,7 +119,7 @@ Rw11VirtTermTcp::~Rw11VirtTermTcp()
|
||||
|
||||
bool Rw11VirtTermTcp::Open(const std::string& url, RerrMsg& emsg)
|
||||
{
|
||||
if (!fUrl.Set(url, "|port=|trace|", emsg)) return false;
|
||||
if (!fUrl.Set(url, "|port=|trace|", "tcp", emsg)) return false;
|
||||
if (!(fUrl.FindOpt("port"))) {
|
||||
emsg.Init("Rw11VirtTermTcp::Open", "port= option not specified");
|
||||
return false;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// $Id: Rw11VirtTermTcp.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
// $Id: Rw11VirtTermTcp.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
//
|
||||
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
||||
//
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
/*!
|
||||
\file
|
||||
\version $Id: Rw11VirtTermTcp.hpp 868 2017-04-07 20:09:33Z mueller $
|
||||
\version $Id: Rw11VirtTermTcp.hpp 875 2017-04-15 21:58:50Z mueller $
|
||||
\brief Declaration of class Rw11VirtTermTcp.
|
||||
*/
|
||||
|
||||
@ -41,7 +41,7 @@ namespace Retro {
|
||||
explicit Rw11VirtTermTcp(Rw11Unit* punit);
|
||||
~Rw11VirtTermTcp();
|
||||
|
||||
bool Open(const std::string& url, RerrMsg& emsg);
|
||||
virtual bool Open(const std::string& url, RerrMsg& emsg);
|
||||
|
||||
virtual bool Snd(const uint8_t* data, size_t count, RerrMsg& emsg);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user