17 #ifndef ADDEDITEMSDELTATYPE_HPP_
18 #define ADDEDITEMSDELTATYPE_HPP_
22 #ifdef KAA_USE_CONFIGURATION
26 #include <boost/any.hpp>
35 class AddedItemsDeltaType :
public EmptyDeltaType {
40 AddedItemsDeltaType() {}
45 AddedItemsDeltaType(
const AddedItemsDeltaType& type)
46 : addedItemsStorage_(type.addedItemsStorage_) {}
52 AddedItemsDeltaType(
const AddedItems& items)
53 : addedItemsStorage_(items) {}
59 virtual const AddedItems& getAddedItems() {
60 return addedItemsStorage_;
67 virtual std::string toString()
const;
72 void addItem(
const IDeltaType::DeltaValue& item) {
73 addedItemsStorage_.push_back(item);
78 std::list<IDeltaType::DeltaValue> addedItemsStorage_;
81 inline std::string AddedItemsDeltaType::toString()
const
84 bool toRecord =
false;
85 bool isKnownType =
true;
89 if (!addedItemsStorage_.empty()) {
91 boost::any_cast<ConfigurationDeltaPtr>(addedItemsStorage_.front());
95 boost::any_cast<DeltaTypePtr>(addedItemsStorage_.front());
102 for (
auto it = addedItemsStorage_.begin(); it != addedItemsStorage_.end();) {
104 ConfigurationDeltaPtr configurationDelta =
105 boost::any_cast<ConfigurationDeltaPtr>(*it);
106 ss << configurationDelta->toString();
108 DeltaTypePtr deltaType = boost::any_cast<DeltaTypePtr>(*it);
109 ss << deltaType->toString();
112 if (++it != addedItemsStorage_.end()) {
117 ss <<
"unknown type";