You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2018/11/01 18:40:07 UTC
[mynewt-newt] 06/09: logcfg: use ValSetting (generic setting value)
This is an automated email from the ASF dual-hosted git repository.
ccollins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-newt.git
commit 55944f752e33547b2f4eac65af47662084815095
Author: Christopher Collins <cc...@apache.org>
AuthorDate: Wed Oct 24 17:06:34 2018 -0700
logcfg: use ValSetting (generic setting value)
---
newt/logcfg/logcfg.go | 46 +++++-----------------------------------------
1 file changed, 5 insertions(+), 41 deletions(-)
diff --git a/newt/logcfg/logcfg.go b/newt/logcfg/logcfg.go
index 1cd5b27..6b2d66b 100644
--- a/newt/logcfg/logcfg.go
+++ b/newt/logcfg/logcfg.go
@@ -35,23 +35,12 @@ import (
"mynewt.apache.org/newt/newt/newtutil"
"mynewt.apache.org/newt/newt/pkg"
"mynewt.apache.org/newt/newt/syscfg"
+ "mynewt.apache.org/newt/newt/val"
"mynewt.apache.org/newt/util"
)
const HEADER_PATH = "logcfg/logcfg.h"
-type LogSetting struct {
- // The exact text specified as the YAML map key.
- Text string
-
- // If this setting refers to a syscfg setting via the `MYNEWT_VAL(...)`
- // notation, this contains the name of the setting. Otherwise, "".
- RefName string
-
- // The setting value, after setting references are resolved.
- Value string
-}
-
type Log struct {
// Log name; equal to the name of the YAML map that defines the log.
Name string
@@ -60,10 +49,10 @@ type Log struct {
Source *pkg.LocalPackage
// The log's numeric module ID.
- Module LogSetting
+ Module val.ValSetting
// The level assigned to this log.
- Level LogSetting
+ Level val.ValSetting
}
// Map of: [log-name] => log
@@ -107,31 +96,6 @@ func NewLCfg() LCfg {
}
}
-// IntVal Extracts a log setting's integer value.
-func (ls *LogSetting) IntVal() (int, error) {
- iv, err := util.AtoiNoOct(ls.Value)
- if err != nil {
- return 0, util.ChildNewtError(err)
- }
-
- return iv, nil
-}
-
-// Constructs a log setting from a YAML string.
-func resolveLogVal(s string, cfg *syscfg.Cfg) (LogSetting, error) {
- refName, val, err := cfg.ExpandRef(s)
- if err != nil {
- return LogSetting{},
- util.FmtNewtError("value \"%s\" references undefined setting", s)
- }
-
- return LogSetting{
- Text: s,
- RefName: refName,
- Value: val,
- }, nil
-}
-
// Parses a single log definition from a YAML map. The `logMapItf` parameter
// should be a map with the following elements:
// "module": <module-string>
@@ -155,7 +119,7 @@ func parseOneLog(name string, lpkg *pkg.LocalPackage, logMapItf interface{},
return cl, util.FmtNewtError(
"\"%s\" missing required field \"module\"", name)
}
- mod, err := resolveLogVal(modStr, cfg)
+ mod, err := val.ResolveValSetting(modStr, cfg)
if err != nil {
return cl, util.FmtNewtError(
"\"%s\" contains invalid \"module\": %s",
@@ -171,7 +135,7 @@ func parseOneLog(name string, lpkg *pkg.LocalPackage, logMapItf interface{},
return cl, util.FmtNewtError(
"\"%s\" missing required field \"level\"", name)
}
- level, err := resolveLogVal(levelStr, cfg)
+ level, err := val.ResolveValSetting(levelStr, cfg)
if err != nil {
return cl, util.FmtNewtError(
"\"%s\" contains invalid \"level\": %s",