From ef5b099dd4ba28c2b4cc9d95baa83fa623b7cc7c Mon Sep 17 00:00:00 2001 From: kevin Date: Fri, 20 Dec 2024 13:16:18 -0500 Subject: [PATCH] cwDynRefTbl.h/cpp : Added create( cfg_fname ) --- cwDynRefTbl.cpp | 21 +++++++++++++++++++++ cwDynRefTbl.h | 2 ++ 2 files changed, 23 insertions(+) diff --git a/cwDynRefTbl.cpp b/cwDynRefTbl.cpp index 2b08f46..aae346f 100644 --- a/cwDynRefTbl.cpp +++ b/cwDynRefTbl.cpp @@ -121,6 +121,27 @@ cw::rc_t cw::dyn_ref_tbl::create( handle_t& hRef, const object_t* cfg ) return rc; } +cw::rc_t cw::dyn_ref_tbl::create( handle_t& hRef, const char* cfg_fname ) +{ + rc_t rc; + object_t* cfg = nullptr; + + if((rc = objectFromFile( cfg_fname, cfg )) != kOkRC ) + { + cwLogError(rc,"Dynamics reference table parse cfg. parse failed on '%s'.",cwStringNullGuard(cfg_fname)); + goto errLabel; + } + + rc = create(hRef,cfg); + +errLabel: + cfg->free(); + + return rc; + +} + + cw::rc_t cw::dyn_ref_tbl::destroy( handle_t& hRef ) { rc_t rc = kOkRC; diff --git a/cwDynRefTbl.h b/cwDynRefTbl.h index 94e9cc2..033dda5 100644 --- a/cwDynRefTbl.h +++ b/cwDynRefTbl.h @@ -19,6 +19,8 @@ namespace cw // Parse object like: [ { mark:<> level:<>, vel:<> } ] rc_t create( handle_t& hRef, const object_t* cfg ); + rc_t create( handle_t& hRef, const char* cfg_fname ); + rc_t destroy( handle_t& hRef ); const char* level_to_marker( handle_t h, unsigned level );