include/item/base/ItemAdministrator.hxx | 2 +- include/item/base/ItemBase.hxx | 6 ++++-- include/item/base/ItemBuffered.hxx | 8 +++++--- include/item/base/ItemControlBlock.hxx | 5 +++-- item/source/base/ItemBase.cxx | 11 +++++++---- item/source/base/ItemBuffered.cxx | 19 ++++++++++--------- item/source/base/ItemControlBlock.cxx | 2 +- 7 files changed, 31 insertions(+), 22 deletions(-)
New commits: commit 4b0409c319abd3248360345cf7d86d66b932d513 Author: Armin Le Grand <armin.le.gr...@me.com> AuthorDate: Mon May 6 15:45:26 2019 +0200 Commit: Armin Le Grand <armin.le.gr...@me.com> CommitDate: Mon May 6 15:45:26 2019 +0200 WIP: Linux build changes Change-Id: I3ea79f9a48f626681604e871143c0adec7c0cb7a diff --git a/include/item/base/ItemAdministrator.hxx b/include/item/base/ItemAdministrator.hxx index 4b77f5ffafca..18a3a6eb953a 100644 --- a/include/item/base/ItemAdministrator.hxx +++ b/include/item/base/ItemAdministrator.hxx @@ -31,7 +31,7 @@ namespace Item { - class ItemAdministrator + class ITEM_DLLPUBLIC ItemAdministrator { private: std::function<ItemBuffered::ItemData*()> m_aConstructItem; diff --git a/include/item/base/ItemBase.hxx b/include/item/base/ItemBase.hxx index 44c597cddbed..b93d5b196ce9 100644 --- a/include/item/base/ItemBase.hxx +++ b/include/item/base/ItemBase.hxx @@ -42,7 +42,7 @@ namespace Item // PutValue/Any interface for automated instance creation from SfxType // mechanism (UNO API and sfx2 stuff) - virtual void putValues(const AnyIDArgs& rArgs); + virtual void putAnyValues(const AnyIDArgs& rArgs); private: // local reference to instance of ItemControlBlock for this @@ -55,10 +55,12 @@ namespace Item protected: // PutValue/Any interface for automated instance creation from SfxType // mechanism (UNO API and sfx2 stuff) - virtual void putValue(const css::uno::Any& rVal, sal_uInt8 nMemberId); + virtual void putAnyValue(const css::uno::Any& rVal, sal_uInt8 nMemberId); public: ItemBase(ItemControlBlock& rItemControlBlock); + virtual ~ItemBase(); + ItemBase(const ItemBase&); ItemBase& operator=(const ItemBase&); diff --git a/include/item/base/ItemBuffered.hxx b/include/item/base/ItemBuffered.hxx index 82647198efaf..43727586ffbf 100755 --- a/include/item/base/ItemBuffered.hxx +++ b/include/item/base/ItemBuffered.hxx @@ -29,6 +29,8 @@ namespace Item { + class ItemAdministrator; + class ITEM_DLLPUBLIC ItemBuffered : public ItemBase { public: @@ -44,7 +46,7 @@ namespace Item // PutValue/Any interface for automated instance creation from SfxType // mechanism (UNO API and sfx2 stuff) - virtual void putValue(const css::uno::Any& rVal, sal_uInt8 nMemberId); + virtual void putAnyValue(const css::uno::Any& rVal, sal_uInt8 nMemberId); public: ItemData(); @@ -67,7 +69,7 @@ namespace Item public: // PutValue/Any interface for automated instance creation from SfxType // mechanism (UNO API and sfx2 stuff) - virtual void putValues(const AnyIDArgs& rArgs); + virtual void putAnyValues(const AnyIDArgs& rArgs); protected: // Method to internally (thus protected) set a new ItemData @@ -90,7 +92,7 @@ namespace Item virtual ~ItemBuffered(); ItemBuffered& operator=(const ItemBuffered&); - virtual bool operator==(const ItemBuffered&) const; + virtual bool operator==(const ItemBase&) const; virtual std::unique_ptr<ItemBase> clone() const; }; } // end of namespace Item diff --git a/include/item/base/ItemControlBlock.hxx b/include/item/base/ItemControlBlock.hxx index b83f37333d29..80effd85a24a 100755 --- a/include/item/base/ItemControlBlock.hxx +++ b/include/item/base/ItemControlBlock.hxx @@ -22,15 +22,16 @@ #include <sal/types.h> #include <item/itemdllapi.h> +#include <item/base/ItemBase.hxx> #include <functional> +#include <memory> +#include <rtl/ustring.hxx> /////////////////////////////////////////////////////////////////////////////// namespace Item { // predefine - no need to include - class ItemBase; - class ITEM_DLLPUBLIC ItemControlBlock { private: diff --git a/item/source/base/ItemBase.cxx b/item/source/base/ItemBase.cxx index 158972837d15..40be2aeb73f8 100644 --- a/item/source/base/ItemBase.cxx +++ b/item/source/base/ItemBase.cxx @@ -8,7 +8,6 @@ */ #include <item/base/ItemBase.hxx> -// #include <item/base/ItemAdministrator.hxx> #include <item/base/ItemControlBlock.hxx> #include <cassert> @@ -86,18 +85,18 @@ Nonetheless these SlotItems STILL depend on the SfxItem-RANGES defined in the Sf namespace Item { - void ItemBase::putValues(const AnyIDArgs& rArgs) + void ItemBase::putAnyValues(const AnyIDArgs& rArgs) { if(!rArgs.empty()) { for(const auto& arg : rArgs) { - putValue(arg.first, arg.second); + putAnyValue(arg.first, arg.second); } } } - void ItemBase::putValue(const css::uno::Any& /*rVal*/, sal_uInt8 /*nMemberId*/) + void ItemBase::putAnyValue(const css::uno::Any& /*rVal*/, sal_uInt8 /*nMemberId*/) { } @@ -106,6 +105,10 @@ namespace Item { } + ItemBase::~ItemBase() + { + } + ItemBase::ItemBase(const ItemBase& rRef) : m_rItemControlBlock(rRef.m_rItemControlBlock) { diff --git a/item/source/base/ItemBuffered.cxx b/item/source/base/ItemBuffered.cxx index 4cfa20986e64..0006672ee768 100755 --- a/item/source/base/ItemBuffered.cxx +++ b/item/source/base/ItemBuffered.cxx @@ -15,7 +15,7 @@ namespace Item { - void ItemBuffered::ItemData::putValue(const css::uno::Any& /*rVal*/, sal_uInt8 /*nMemberId*/) + void ItemBuffered::ItemData::putAnyValue(const css::uno::Any& /*rVal*/, sal_uInt8 /*nMemberId*/) { // not intended to be used, error assert(false && "Error: Some instance tries to set an Any at an ::ItemData instance - implement ItemData::putValue method there (!)"); @@ -96,18 +96,18 @@ namespace Item } } - void ItemBuffered::putValues(const AnyIDArgs& rArgs) + void ItemBuffered::putAnyValues(const AnyIDArgs& rArgs) { - assert(nullptr != m_pItemData && "ItemBuffered::putValues called but m_pItemData not set (!)"); + assert(nullptr != m_pItemData && "ItemBuffered::putAnyValues called but m_pItemData not set (!)"); if(!rArgs.empty()) { ItemData* pNewItemData(m_pItemData->getItemAdministrator().createNewDataInstance()); - assert(nullptr != pNewItemData && "ItemBuffered::putValues could not create new ItemData instance (!)"); + assert(nullptr != pNewItemData && "ItemBuffered::putAnyValues could not create new ItemData instance (!)"); for(const auto& arg : rArgs) { - pNewItemData->putValue(arg.first, arg.second); + pNewItemData->putAnyValue(arg.first, arg.second); } setItemData(pNewItemData); @@ -145,13 +145,14 @@ namespace Item return *this; } - bool ItemBuffered::operator==(const ItemBuffered& rRef) const + bool ItemBuffered::operator==(const ItemBase& rRef) const { - assert(nullptr != m_pItemData && nullptr != rRef.m_pItemData && "ItemBuffered::operator== called but not all m_pItemData set (!)"); + const ItemBuffered& rTmpRef(static_cast<const ItemBuffered&>(rRef)); + assert(nullptr != m_pItemData && nullptr != rTmpRef.m_pItemData && "ItemBuffered::operator== called but not all m_pItemData set (!)"); return ( ItemBase::operator==(rRef) || // ptr-compare - m_pItemData == rRef.m_pItemData || // ItemData ptr-compare - *m_pItemData == *rRef.m_pItemData); // ItemData content compare + m_pItemData == rTmpRef.m_pItemData || // ItemData ptr-compare + *m_pItemData == *rTmpRef.m_pItemData); // ItemData content compare } std::unique_ptr<ItemBase> ItemBuffered::clone() const diff --git a/item/source/base/ItemControlBlock.cxx b/item/source/base/ItemControlBlock.cxx index d1fdfe1d5053..38822aee0ea4 100755 --- a/item/source/base/ItemControlBlock.cxx +++ b/item/source/base/ItemControlBlock.cxx @@ -53,7 +53,7 @@ namespace Item std::unique_ptr<const ItemBase> ItemControlBlock::createFromAny(const ItemBase::AnyIDArgs& rArgs) { ItemBase* pNewInstance(m_aConstructDefaultItem()); - pNewInstance->putValues(rArgs); + pNewInstance->putAnyValues(rArgs); return std::unique_ptr<const ItemBase>(pNewInstance); } } // end of namespace Item _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits