diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-02-09 01:27:38 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-02-15 17:43:18 +0000 |
commit | c1f4798d36e63842c97692ca1a36c0975da18c09 (patch) | |
tree | 8268892833c89fba16aa364ef129c91afb455105 /events.cpp | |
parent | 02ca0219c1e20f4f51eba068a9a9e272a60f7385 (diff) | |
download | phosphor-inventory-manager-c1f4798d36e63842c97692ca1a36c0975da18c09.tar.gz phosphor-inventory-manager-c1f4798d36e63842c97692ca1a36c0975da18c09.zip |
Merge actions.hpp and events.hpp
Move all action/filter functors to a common functor.hpp.
The intent of this refactoring is to facilitate reuse
of functors in more than one context.
- Moved functors from actions.hpp and events.hpp to functor.hpp.
- Renamed events.cpp to functor.cpp.
- Moved Action/Filter types to types.hpp.
- Minor namespace shuffling.
- Update pimgen to render according to the new namespaces.
Change-Id: I630ec1587b8a48f6dc2eac1111365035873310d9
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'events.cpp')
-rw-r--r-- | events.cpp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/events.cpp b/events.cpp deleted file mode 100644 index 6f5bb59..0000000 --- a/events.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright © 2017 IBM Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "events.hpp" -#include <sdbusplus/bus.hpp> - -namespace phosphor -{ -namespace inventory -{ -namespace manager -{ -namespace filters -{ -namespace property_condition -{ - -bool PropertyConditionBase::operator()( - sdbusplus::bus::bus& bus, - sdbusplus::message::message&, - Manager&) const -{ - std::string host; - - if (_service) - { - host.assign(_service); - } - else - { - auto mapperCall = bus.new_method_call( - "xyz.openbmc_project.ObjectMapper", - "/xyz/openbmc_project/ObjectMapper", - "xyz.openbmc_project.ObjectMapper", - "GetObject"); - mapperCall.append(_path); - mapperCall.append(std::vector<std::string>({_iface})); - - auto mapperResponseMsg = bus.call(mapperCall); - if (mapperResponseMsg.is_method_error()) - { - return false; - } - - std::map<std::string, std::vector<std::string>> mapperResponse; - mapperResponseMsg.read(mapperResponse); - - if (mapperResponse.begin() == mapperResponse.end()) - { - return false; - } - - host = mapperResponse.begin()->first; - - if (host == bus.get_unique_name()) - { - // TODO I can't call myself here. - return false; - } - } - auto hostCall = bus.new_method_call( - host.c_str(), - _path.c_str(), - "org.freedesktop.DBus.Properties", - "Get"); - hostCall.append(_iface); - hostCall.append(_property); - - auto hostResponseMsg = bus.call(hostCall); - if (hostResponseMsg.is_method_error()) - { - return false; - } - - return eval(hostResponseMsg); -} - -} // namespace property_condition -} // namespace filters -} // namespace manager -} // namespace inventory -} // namespace phosphor - -// vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 |