28#ifndef __PNS_LOG_FILE_H
29#define __PNS_LOG_FILE_H
35#include <wx/filename.h>
76 bool Load(
const wxFileName& logFileName,
REPORTER* aRpt,
const wxString boardFileName = wxT(
"") );
77 const std::optional<wxString>
GetLogBoardHash(
const wxString& logFileName );
92 std::vector<std::unique_ptr<PNS::ITEM>> aParsedItems )
111 std::shared_ptr<SHAPE>
parseShape(
const nlohmann::json& aJSON );
113 std::unique_ptr<PNS::ITEM>
parseItem(
const nlohmann::json& aJSON );
A base class derived from BOARD_ITEM for items that can be connected and have a net,...
Base class for PNS router board items.
Contain all persistent settings of the router, such as the mode, optimization effort,...
bool parseCommonPnsProps(const nlohmann::json &aJSON, PNS::ITEM *aItem)
BOARD_CONNECTED_ITEM * ItemById(const PNS::LOGGER::EVENT_ENTRY &evt)
void SetExpectedResult(const COMMIT_STATE &aCommitState, std::vector< std::unique_ptr< PNS::ITEM > > aParsedItems)
void SetBoard(std::shared_ptr< BOARD > brd)
std::optional< PNS::LOGGER::TEST_CASE_TYPE > GetTestCaseType() const
void SetTestCaseType(PNS::LOGGER::TEST_CASE_TYPE aType)
std::unique_ptr< PNS::VIA > parseLegacyPnsViaFromString(wxStringTokenizer &aTokens)
const std::optional< wxString > GetLogBoardHash(const wxString &logFileName)
const COMMIT_STATE & GetExpectedResult() const
bool SaveLog(const wxFileName &logFileName, REPORTER *aRpt)
bool loadLegacyLog(const wxString &aFilename, REPORTER *aRpt)
std::shared_ptr< BOARD > m_board
bool parseLegacyCommonPnsProps(PNS::ITEM *aItem, const wxString &cmd, wxStringTokenizer &aTokens)
std::shared_ptr< SETTINGS_MANAGER > m_settingsMgr
std::shared_ptr< SHAPE > parseShape(const nlohmann::json &aJSON)
std::unique_ptr< PNS::ITEM > parseItem(const nlohmann::json &aJSON)
std::shared_ptr< SHAPE > parseLegacyShape(SHAPE_TYPE expectedType, wxStringTokenizer &aTokens)
std::vector< std::unique_ptr< PNS::ITEM > > m_parsed_items
PNS::ROUTING_SETTINGS * GetRoutingSettings() const
std::optional< wxString > m_boardHash
void SetMode(PNS::ROUTER_MODE aMode)
COMMIT_STATE m_commitState
PNS::ROUTER_MODE GetMode() const
std::vector< PNS::LOGGER::EVENT_ENTRY > & Events()
bool loadJsonLog(const wxString &aFilename, REPORTER *aRpt, bool aHashOnly=false)
std::shared_ptr< BOARD > GetBoard() const
std::vector< PNS::LOGGER::EVENT_ENTRY > m_events
std::vector< BOARD_CONNECTED_ITEM * > ItemsById(const PNS::LOGGER::EVENT_ENTRY &evt)
std::unique_ptr< PNS::SEGMENT > parseLegacyPnsSegmentFromString(wxStringTokenizer &aTokens)
std::optional< PNS::LOGGER::TEST_CASE_TYPE > m_testCaseType
std::unique_ptr< PNS::ROUTING_SETTINGS > m_routerSettings
bool Load(const wxFileName &logFileName, REPORTER *aRpt, const wxString boardFileName=wxT(""))
std::unique_ptr< PNS::ITEM > parseLegacyItemFromString(wxStringTokenizer &aTokens)
A pure virtual class used to derive REPORTER objects from.
SHAPE_TYPE
Lists all supported shapes.
std::set< KIID > m_removedIds
COMMIT_STATE(const COMMIT_STATE &aOther)
bool Compare(const COMMIT_STATE &aOther)
std::vector< PNS::ITEM * > m_addedItems
std::vector< PNS::ITEM * > m_heads