History log of /openbmc/phosphor-dbus-monitor/src/propertywatch.hpp (Results 1 – 15 of 15)
Revision Date Author Comments
# eab4f8c0 16-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: I9bb0aaa05541fe88ccabfaa5d00e3117e489ea8d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 0c1e024f 17-Jun-2024 Manojkiran Eda <manojkiran.eda@gmail.com>

Fix spelling mistakes using codespell

This commit corrects various spelling mistakes throughout the
repository. The corrections were made automatically using `codespell`[1]
tool.

[1]: https://githu

Fix spelling mistakes using codespell

This commit corrects various spelling mistakes throughout the
repository. The corrections were made automatically using `codespell`[1]
tool.

[1]: https://github.com/codespell-project/codespell

Change-Id: Iccc8a6107616afb3a6b772420651e717a688ce86
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>

show more ...


# 413a4857 22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I6a559082fed34ae62b648345ead793436d2d03f6

show more ...


# ecef1191 06-Jul-2022 George Liu <liuxiwei@inspur.com>

Fix cppcheck warnings

Warning message:
mslverify/verify.cpp:30:5: style: Struct 'BusMeetsMSL < decltype ( arg . second ) :: value_type >' has a constructor with 1 argument that is not explicit. [noE

Fix cppcheck warnings

Warning message:
mslverify/verify.cpp:30:5: style: Struct 'BusMeetsMSL < decltype ( arg . second ) :: value_type >' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
BusMeetsMSL(const std::string& p) : path(p)
^
src/callback.hpp:222:5: warning: Member variable 'DeferrableCallback::ctx' is not initialized in the constructor. [uninitMemberVar]
DeferrableCallback(const std::vector<size_t>& graphEntry, Conditional& cond,
^
src/elog.hpp:102:5: style: Class 'Elog' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
Elog(Args&&... arguments) :
^
src/propertywatch.hpp:133:5: style: Class 'PropertyWatchOfType' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
PropertyWatchOfType(const PropertyIndex& watchIndex,
^
src/event_manager.cpp:56:18: style: Local variable 'path' shadows outer variable [shadowVariable]
fs::path path(eventQueue.back()->objectPath);
^
src/event_manager.cpp:44:10: note: Shadowed declaration
auto path = "path="s + objectPath;
^
src/event_manager.cpp:56:18: note: Shadow variable
fs::path path(eventQueue.back()->objectPath);
^
src/snmp_trap.hpp:65:10: style: The function 'operator()' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride]
void operator()(Context /* ctx */)
^
src/callback.hpp:41:18: note: Virtual function in base class
virtual void operator()(Context /* ctx */) = 0;
^
src/snmp_trap.hpp:65:10: note: Function in derived class
void operator()(Context /* ctx */)
^
src/snmp_trap.hpp:72:10: style: The function 'operator()' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride]
void operator()(Context /* ctx */, sdbusplus::message::message& msg)
^
src/callback.hpp:50:18: note: Virtual function in base class
virtual void operator()(Context /* ctx */,
^
src/snmp_trap.hpp:72:10: note: Function in derived class
void operator()(Context /* ctx */, sdbusplus::message::message& msg)
^
src/snmp_trap.cpp:44:17: style: Consider using std::accumulate algorithm instead of a raw loop. [useStlAlgorithm]
message += " " + s;
^
src/test/pathgentest.cpp:118:21: style: Local variable 'meta' shadows outer variable [shadowVariable]
const auto& meta = std::get<1>(pathMeta[i]).get();
^
src/test/pathgentest.hpp:1:34: note: Shadowed declaration
const std::array<std::string, 3> meta = {
^
src/test/pathgentest.cpp:118:21: note: Shadow variable
const auto& meta = std::get<1>(pathMeta[i]).get();
^
src/test/propertygentest.cpp:133:25: style: Local variable 'expectedMeta' shadows outer variable [shadowVariable]
const auto& expectedMeta = std::get<1>(expectedGroups[i][j]).get();
^
src/test/propertygentest.cpp:17:34: note: Shadowed declaration
const std::array<std::string, 3> expectedMeta = {
^
src/test/propertygentest.cpp:133:25: note: Shadow variable
const auto& expectedMeta = std::get<1>(expectedGroups[i][j]).get();
^
src/test/propertywatchtest.cpp:263:21: style: Local variable 'interfaces' shadows outer variable [shadowVariable]
const auto& interfaces = o.second;
^
src/test/propertywatchtest.cpp:18:34: note: Shadowed declaration
const std::array<std::string, 2> interfaces = {
^
src/test/propertywatchtest.cpp:263:21: note: Shadow variable
const auto& interfaces = o.second;
^
src/test/propertywatchtest.cpp:280:25: style: Local variable 'properties' shadows outer variable [shadowVariable]
const auto& properties = i.second;
^
src/test/propertywatchtest.cpp:23:34: note: Shadowed declaration
const std::array<std::string, 2> properties = {
^
src/test/propertywatchtest.cpp:280:25: note: Shadow variable
const auto& properties = i.second;
^

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Ica5d54cefe22fed961f01aa6288b4cf76a9db563

show more ...


# 3fe976cc 20-Jun-2022 George Liu <liuxiwei@inspur.com>

Update clang-format

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I58738190d06bf216a13048d768aa4054d820d2e8


# 98d6462a 24-May-2022 Lei YU <yulei.sh@bytedance.com>

propertywatch: Add ignore_start_callback config

Add an optional `ignore_start_callback` config to indicate if the
callback shall be ignored on start.

By default the callbacks in property watch are

propertywatch: Add ignore_start_callback config

Add an optional `ignore_start_callback` config to indicate if the
callback shall be ignored on start.

By default the callbacks in property watch are called on start.
There are cases where we do not want such behavior and only expect
callbacks on property changes.

Add the `ignore_start_callback` so that we could config a watch to not
trigger the start callback.

Tested: Verify the callback is not called if the watch config has
`ignore_start_callback: true`

Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Change-Id: I7e5887cc8b0d0775d9b3d689f1511250667aaa5b

show more ...


# ae4c95c6 16-May-2020 Andrew Geissler <geissonator@yahoo.com>

string: ensure string included

Latest upstream yocto appears to have removed a free include of string.
This is causing compile failures for files which do not include it
properly.

string: ensure string included

Latest upstream yocto appears to have removed a free include of string.
This is causing compile failures for files which do not include it
properly.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ie93f251b00db4d4a543b361262fad2201923e2c5

show more ...


# efe0158c 09-Sep-2019 Matthew Barth <msbarth@us.ibm.com>

Create Filters class to store filter functions

Enhanced the generated code to now store the filter functions within an
array contained in a struct similar to other configured parameters.

Create Filters class to store filter functions

Enhanced the generated code to now store the filter functions within an
array contained in a struct similar to other configured parameters.
This allows the generated property watches to use an index within that
array to access a pointer to a Filters class containing a given set of
filter functions. The set of filter functions would then be applied
against all the properties being watched.

Tested:
Generated code provides structure needed to access filter functions
Filter functions filter property values that fail the filter(s)

Change-Id: I8f1f882704de521f2ab393530ad7ef096314975d
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# ae786ef6 04-Sep-2019 Matthew Barth <msbarth@us.ibm.com>

Add filters option to property watch class

Each property changed signal calls a defined callback, an optional set
of filters can be defined to filter out property values not intended to

Add filters option to property watch class

Each property changed signal calls a defined callback, an optional set
of filters can be defined to filter out property values not intended to
be used within the callback. These filters can be setup to eliminate
property value(s) that should be ignored per property group and its
configured callback.

ex.) Handle errant sensor values that could occur from a faulty device
so these values do not cause unwanted results from a callback function.

Example config entry to throw out an ambient temperature less than 0C or
greater than 100C:

- name: watch ambient temps
description: >
'Filter the ambient temps, discarding any value that
does not pass, then trigger the callback logic.'
class: watch
watch: property
paths: ambient sensors
properties: ambient temp
callback: median temps
filters:
- op: '>='
bound: 0
- op: '<='
bound: 100000

Tested:
Generate a single filter function against a group of properties
Generate multiple filter functions against a group of properties
Property values are cleared when it fails to pass a filter
Property values that pass all filters are updated

Change-Id: Id5126263096b4787a40befdb14cf3514038df3ed
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>

show more ...


# 3d6d3182 31-Aug-2018 Patrick Venture <venture@google.com>

update .clang-format

Added the header inclusion order to the .clang-format file generated
these changes.

Change-Id: I4f51a20f469de431ee6a5ba78e3f4da39c980fab
Signed-off-by:

update .clang-format

Added the header inclusion order to the .clang-format file generated
these changes.

Change-Id: I4f51a20f469de431ee6a5ba78e3f4da39c980fab
Signed-off-by: Patrick Venture <venture@google.com>

show more ...


# d1eac88d 29-Mar-2018 Brad Bishop <bradleyb@fuzziesquirrel.com>

Enable clang-format

Fix up errors and enable clang-format during CI builds.

Change-Id: I4176b81f8b85a287af9354165e09ff66aeb9fb29
Signed-off-by: Brad Bishop <bradleyb@fuzziesquir

Enable clang-format

Fix up errors and enable clang-format during CI builds.

Change-Id: I4176b81f8b85a287af9354165e09ff66aeb9fb29
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...


# a45e086d 21-Feb-2018 Ratan Gupta <ratagupt@in.ibm.com>

Add callback contexts

Add the notion of a callback context. This enables callbacks
to have logic around the conditions they were invoked in.

There are two context on which call

Add callback contexts

Add the notion of a callback context. This enables callbacks
to have logic around the conditions they were invoked in.

There are two context on which call back can be invoked
1) Startup: during startup all the call backs will be called
2) Signal: As part of condition match on the watched properties.

Callback would behave differently based on the context.
eg: eventCallback
1) Startup: Don't take any action.
2) Signal: Create the Dbus Object for the event.

Change-Id: If455558798ac3e44bbd8a93de0ce1b09d2e308ae
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>

show more ...


# ce4fbe11 06-Jun-2017 Brad Bishop <bradleyb@fuzziesquirrel.com>

expose watch callbacks

Allow watch class users to explicitly invoke the watch
callback.

Since watches and callbacks share a common pool of state
all watches must complete th

expose watch callbacks

Allow watch class users to explicitly invoke the watch
callback.

Since watches and callbacks share a common pool of state
all watches must complete their initialization prior to
invoking their callback methods.

Change-Id: I62ebad64da88a145f3d5006b07c01381b0eb6728
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...


# fccdc39f 22-May-2017 Brad Bishop <bradleyb@fuzziesquirrel.com>

Link watches to callbacks

Callbacks must ultimately be triggered when a property
is updated by a watch. Add that support.

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.co

Link watches to callbacks

Callbacks must ultimately be triggered when a property
is updated by a watch. Add that support.

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Change-Id: I20130a11c19ddcf2c4ae45800f2068b31950bcd6

show more ...


# 4b916f13 23-May-2017 Brad Bishop <bradleyb@fuzziesquirrel.com>

Add property watches

Property watches cache DBus property values given an externally
supplied index of property names and paths, in an externally
supplied storage location.

Add property watches

Property watches cache DBus property values given an externally
supplied index of property names and paths, in an externally
supplied storage location.

Change-Id: I155081da88c3ab0e4f6a13b012fc9719203b1888
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...