Fix some warnings by cppcheck

Warning message:

```
dbusSensor.hpp:28:9: performance: Variable 'servName' is assigned in
constructor body. Consider performing initialization in
initialization list. [useInitializationList]
        servName = getService(bus, path, sensorIntf);
        ^
virtualSensor.hpp:69:55: performance: Function parameter 'path'
should be passed by const reference. [passedByValue]
  SensorParam(sdbusplus::bus::bus& bus, std::string path, void* ctx):
                                                      ^
virtualSensor.hpp:271:44: performance: Function parameter
'configFile' should be passed by const reference. [passedByValue]
    Json parseConfigFile(const std::string configFile);
                                           ^
virtualSensor.cpp:334:26: style: Local variable 'objPath' shadows
outer argument [shadowArgument]
   auto objPath = sensorDbusPath + sensorType + "/" + name;
                         ^
virtualSensor.cpp:255:58: note: Shadowed declaration
                                    const std::string& objPath)
                                                         ^
virtualSensor.cpp:334:26: note: Shadow variable
    auto objPath = sensorDbusPath + sensorType + "/" + name;
          ^
virtualSensor.cpp:338:33: style: Local variable 'name' shadows outer
variable [shadowVariable]
    std::string name = j["ParamName"];
                ^
virtualSensor.cpp:330:29: note: Shadowed declaration
    std::string name = desc.value("Name", "");
                ^
virtualSensor.cpp:338:33: note: Shadow variable
   std::string name = j["ParamName"];
               ^
virtualSensor.cpp:649:56: performance: Function parameter
'configFile' should be passed by const reference. [passedByValue]
Json VirtualSensors::parseConfigFile(const std::string configFile)
```

Tested: Verify that there are no such warnings in local CI.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I8afaf35043c97d0ca6bfcbe9d50c847d126f8e2d
3 files changed
tree: 150923303456b41cb6e799436a7351432d49302c
  1. subprojects/
  2. .clang-format
  3. .gitignore
  4. dbusSensor.hpp
  5. dbusUtils.hpp
  6. exprtkTools.hpp
  7. LICENSE
  8. MAINTAINERS
  9. meson.build
  10. OWNERS
  11. phosphor-virtual-sensor.service.in
  12. README.md
  13. thresholds.hpp
  14. virtual_sensor_config.json
  15. virtualSensor.cpp
  16. virtualSensor.hpp
README.md

phosphor-virtual-sensor

phosphor-virtual-sensor reads in virtual_sensor_config.json There are two types of data in this file:

virtual sensor configuration information

See virtual_sensor_config.json in this repository for an example. Sensors added this way can use any expression that is accepted by exprtk.

information to get a virtual sensor configuraton from D-Bus

For example:

{
  "Desc": {
    "Config": "D-Bus",
    "Type": "modifiedMedian"
  }
}

Sensors added this way can only use a set of restricted calculations. At this stage the only type supported is modifiedMedian.

The virtual sensor configuration information needs to be added into the relevant hardware configuration file in entity-manager. This method of adding a virtual sensor allows a recipe that builds for different hardware configurations to have different virtual sensors for each configuration.

The virtual sensor configuration in entity manager follows a different format to the JSON in virtual_sensor_config.json (specified in entity-manager/schemas/VirtualSensor.json).