diff options
author | Adrian Szyndela <adrian.s@samsung.com> | 2020-10-28 08:02:08 +0100 |
---|---|---|
committer | Adrian Szyndela <adrian.s@samsung.com> | 2020-10-30 12:37:15 +0100 |
commit | 393bbb5dadb6a936e487f10dfae05f905b7d3d6b (patch) | |
tree | 7ae46871ddf52378581ebd367a371d8cfe67b8ec | |
parent | 6fbd21c76421008477a1c489d962a1130e951c5f (diff) | |
download | libdbuspolicy-393bbb5dadb6a936e487f10dfae05f905b7d3d6b.tar.gz libdbuspolicy-393bbb5dadb6a936e487f10dfae05f905b7d3d6b.tar.bz2 libdbuspolicy-393bbb5dadb6a936e487f10dfae05f905b7d3d6b.zip |
printing: add generic data extraction interface for XML db
Change-Id: Icf05d2d7a8d5077b9efa23aee7c99af8b9264242
-rw-r--r-- | src/internal/storage_backend_xml_printing.hpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/internal/storage_backend_xml_printing.hpp b/src/internal/storage_backend_xml_printing.hpp new file mode 100644 index 0000000..f2fd66a --- /dev/null +++ b/src/internal/storage_backend_xml_printing.hpp @@ -0,0 +1,81 @@ +#pragma once + +/* MIT License + * + * Copyright (c) 2020 Samsung Electronics Co., Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is furnished + * to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. */ + +#include "storage_backend_xml.hpp" + +namespace ldp_xml_parser { + +class StorageBackendXMLPrinting { +public: + auto itemAccessGetType(const ItemAccess &item) const + { return item.getType(); } + + auto itemAccessGetUid(const ItemAccess &item) const + { return item.getUid(); } + + auto itemAccessGetGid(const ItemAccess &item) const + { return item.getGid(); } + + template <typename ItemSR> + auto itemSrGetName(const ItemSR &item) const + { return item.getName(); } + + template <typename ItemSR> + auto itemSrGetIsNamePrefix(const ItemSR &item) const + { return item.isNamePrefix(); } + + template <typename ItemSR> + auto itemSrGetInterface(const ItemSR &item) const + { return item.getInterface(); } + + template <typename ItemSR> + auto itemSrGetMember(const ItemSR &item) const + { return item.getMember(); } + + template <typename ItemSR> + auto itemSrGetPath(const ItemSR &item) const + { return item.getPath(); } + + template <typename ItemSR> + auto itemSrGetMessageType(const ItemSR &item) const + { return item.getType(); } + + template <typename Item> + auto itemGetDecisionItem(const Item &item) const + { return item.getDecision(); } + + auto decisionItemGetDecision(const DecisionItem &item) const + { return item.getDecision(); } + + auto decisionItemGetPrivilege(const DecisionItem &item) const + { return item.getPrivilege(); } + + auto stringGetCStr(const boost::string_ref &str) const + { return str.data(); } + + auto stringGetSize(const boost::string_ref &str) const + { return str.size(); } +}; + +} |