sc/inc/arealink.hxx           |    4 ++--
 sc/inc/autoform.hxx           |   24 ++++++++++++------------
 sc/inc/cellvalue.hxx          |   18 +++++++++---------
 sc/inc/colorscale.hxx         |   16 ++++++++--------
 sc/inc/conditio.hxx           |   22 +++++++++++-----------
 sc/inc/dpdimsave.hxx          |   14 +++++++-------
 sc/inc/dpshttab.hxx           |    6 +++---
 sc/inc/patattr.hxx            |   34 +++++++++++++++++-----------------
 sc/inc/postit.hxx             |   16 ++++++++--------
 sc/inc/rangeutl.hxx           |   14 +++++++-------
 sc/inc/refdata.hxx            |   34 +++++++++++++++++-----------------
 sc/inc/stlpool.hxx            |    8 ++++----
 sc/inc/tabprotection.hxx      |   20 ++++++++++----------
 sc/source/ui/inc/impex.hxx    |   14 +++++++-------
 sc/source/ui/inc/undobase.hxx |    2 +-
 sc/source/ui/inc/undoblk.hxx  |    8 ++++----
 16 files changed, 127 insertions(+), 127 deletions(-)

New commits:
commit 0eeb12b4243b7af92b99daddbce4eee0b828b6be
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Sat Apr 27 16:06:37 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sat Apr 27 20:12:31 2024 +0200

    reduce symbol visibility in sc
    
    Change-Id: I7a1c7dbe61e302584b977fdf202d041d987d0833
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166777
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Tested-by: Jenkins

diff --git a/sc/inc/arealink.hxx b/sc/inc/arealink.hxx
index 5eff082b6b80..aabe8b8a8c7e 100644
--- a/sc/inc/arealink.hxx
+++ b/sc/inc/arealink.hxx
@@ -27,7 +27,7 @@
 class SfxObjectShell;
 class ScDocShell;
 
-class SC_DLLPUBLIC ScAreaLink final : public ::sfx2::SvBaseLink, public 
ScRefreshTimer
+class SAL_DLLPUBLIC_RTTI ScAreaLink final : public ::sfx2::SvBaseLink, public 
ScRefreshTimer
 {
 private:
     ScDocShell*     m_pDocSh;
@@ -42,7 +42,7 @@ private:
     static bool FindExtRange( ScRange& rRange, const ScDocument& rSrcDoc, 
const OUString& rAreaName );
 
 public:
-    ScAreaLink( ScDocShell* pShell, OUString aFile,
+    SC_DLLPUBLIC ScAreaLink( ScDocShell* pShell, OUString aFile,
                     OUString aFilter, OUString aOpt,
                     OUString aArea, const ScRange& rDest, sal_Int32 
nRefreshDelaySeconds );
     virtual ~ScAreaLink() override;
diff --git a/sc/inc/autoform.hxx b/sc/inc/autoform.hxx
index b6facd437e12..923a8f0afd58 100644
--- a/sc/inc/autoform.hxx
+++ b/sc/inc/autoform.hxx
@@ -109,7 +109,7 @@ public:
     bool    Save( SvStream& rStream, sal_uInt16 fileVersion );
 };
 
-class SC_DLLPUBLIC ScAutoFormatData
+class SAL_DLLPUBLIC_RTTI ScAutoFormatData
 {
 private:
     OUString               aName;
@@ -134,8 +134,8 @@ private:
 
 public:
     ScAutoFormatData();
-    ScAutoFormatData( const ScAutoFormatData& rData );
-    ~ScAutoFormatData();
+    SC_DLLPUBLIC ScAutoFormatData( const ScAutoFormatData& rData );
+    SC_DLLPUBLIC ~ScAutoFormatData();
 
     void            SetName( const OUString& rName )              { aName = 
rName; nStrResId = USHRT_MAX; }
     const OUString& GetName() const { return aName; }
@@ -177,7 +177,7 @@ struct DefaultFirstEntry {
     bool operator() (const OUString& left, const OUString& right) const;
 };
 
-class SC_DLLPUBLIC ScAutoFormat
+class SAL_DLLPUBLIC_RTTI ScAutoFormat
 {
     typedef std::map<OUString, std::unique_ptr<ScAutoFormatData>, 
DefaultFirstEntry> MapType;
     MapType m_Data;
@@ -193,23 +193,23 @@ public:
 
     ScAutoFormat();
     void Load();
-    bool Save();
+    SC_DLLPUBLIC bool Save();
 
     void SetSaveLater( bool bSet );
     bool IsSaveLater() const { return mbSaveLater; }
 
     const ScAutoFormatData* findByIndex(size_t nIndex) const;
-    ScAutoFormatData* findByIndex(size_t nIndex);
-    iterator find(const OUString& rName);
+    SC_DLLPUBLIC ScAutoFormatData* findByIndex(size_t nIndex);
+    SC_DLLPUBLIC iterator find(const OUString& rName);
 
-    iterator insert(std::unique_ptr<ScAutoFormatData> pNew);
-    void erase(const iterator& it);
+    SC_DLLPUBLIC iterator insert(std::unique_ptr<ScAutoFormatData> pNew);
+    SC_DLLPUBLIC void erase(const iterator& it);
 
-    size_t size() const;
+    SC_DLLPUBLIC size_t size() const;
     const_iterator begin() const;
     const_iterator end() const;
-    iterator begin();
-    iterator end();
+    SC_DLLPUBLIC iterator begin();
+    SC_DLLPUBLIC iterator end();
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/inc/cellvalue.hxx b/sc/inc/cellvalue.hxx
index 03f8294c543c..d5a29c607c90 100644
--- a/sc/inc/cellvalue.hxx
+++ b/sc/inc/cellvalue.hxx
@@ -104,7 +104,7 @@ public:
  * this class any longer than necessary, and absolutely not after the
  * original cell has been destroyed.
  */
-struct SC_DLLPUBLIC ScRefCellValue
+struct SAL_DLLPUBLIC_RTTI ScRefCellValue
 {
 private:
     CellType meType;
@@ -116,8 +116,8 @@ private:
     };
 public:
 
-    ScRefCellValue();
-    ScRefCellValue( double fValue );
+    SC_DLLPUBLIC ScRefCellValue();
+    SC_DLLPUBLIC ScRefCellValue( double fValue );
     ScRefCellValue( const svl::SharedString* pString );
     ScRefCellValue( const EditTextObject* pEditText );
     ScRefCellValue( ScFormulaCell* pFormula );
@@ -125,8 +125,8 @@ public:
     /**
      * Take cell value from specified position in specified document.
      */
-    ScRefCellValue( ScDocument& rDoc, const ScAddress& rPos );
-    ScRefCellValue( ScDocument& rDoc, const ScAddress& rPos, 
sc::ColumnBlockPosition& rBlockPos );
+    SC_DLLPUBLIC ScRefCellValue( ScDocument& rDoc, const ScAddress& rPos );
+    SC_DLLPUBLIC ScRefCellValue( ScDocument& rDoc, const ScAddress& rPos, 
sc::ColumnBlockPosition& rBlockPos );
 
     void clear();
 
@@ -139,7 +139,7 @@ public:
     /**
      * Take cell value from specified position in specified document.
      */
-    void assign( ScDocument& rDoc, const ScAddress& rPos );
+    SC_DLLPUBLIC void assign( ScDocument& rDoc, const ScAddress& rPos );
     void assign( ScDocument& rDoc, const ScAddress& rPos, 
sc::ColumnBlockPosition& rBlockPos );
 
     /**
@@ -149,7 +149,7 @@ public:
 
     bool hasString() const;
 
-    bool hasNumeric() const;
+    SC_DLLPUBLIC bool hasNumeric() const;
 
     bool hasError() const;
 
@@ -173,7 +173,7 @@ public:
      *          specific fields can not be resolved. See
      *          ScEditUtil::GetString().
      */
-    OUString getString( const ScDocument* pDoc ) const;
+    SC_DLLPUBLIC OUString getString( const ScDocument* pDoc ) const;
 
     /**
      * Retrieve a string value without modifying the states of any objects in
@@ -183,7 +183,7 @@ public:
      */
     OUString getRawString( const ScDocument& rDoc ) const;
 
-    bool isEmpty() const;
+    SC_DLLPUBLIC bool isEmpty() const;
 
     bool hasEmptyValue();
 
diff --git a/sc/inc/colorscale.hxx b/sc/inc/colorscale.hxx
index cbef08b6e05d..9e81360215e9 100644
--- a/sc/inc/colorscale.hxx
+++ b/sc/inc/colorscale.hxx
@@ -221,13 +221,13 @@ struct ScIconSetMap {
     sal_Int32 nElements;
 };
 
-class SC_DLLPUBLIC ScColorFormat : public ScFormatEntry
+class SAL_DLLPUBLIC_RTTI ScColorFormat : public ScFormatEntry
 {
 public:
     ScColorFormat(ScDocument* pDoc);
-    virtual ~ScColorFormat() override;
+    SC_DLLPUBLIC virtual ~ScColorFormat() override;
 
-    const ScRangeList& GetRange() const;
+    SC_DLLPUBLIC const ScRangeList& GetRange() const;
     void SetCache(const std::vector<double>& aValues) const;
     std::vector<double> GetCache() const;
 
@@ -297,10 +297,10 @@ public:
     void EnsureSize();
 };
 
-class SC_DLLPUBLIC ScDataBarFormat final : public ScColorFormat
+class SAL_DLLPUBLIC_RTTI ScDataBarFormat final : public ScColorFormat
 {
 public:
-    ScDataBarFormat(ScDocument* pDoc);
+    SC_DLLPUBLIC ScDataBarFormat(ScDocument* pDoc);
     ScDataBarFormat(ScDocument* pDoc, const ScDataBarFormat& rFormat);
     virtual ScColorFormat* Clone(ScDocument* pDoc) const override;
 
@@ -308,9 +308,9 @@ public:
 
     std::unique_ptr<ScDataBarInfo> GetDataBarInfo(const ScAddress& rAddr) 
const;
 
-    void SetDataBarData( ScDataBarFormatData* pData );
-    const ScDataBarFormatData* GetDataBarData() const;
-    ScDataBarFormatData* GetDataBarData();
+    SC_DLLPUBLIC  void SetDataBarData( ScDataBarFormatData* pData );
+    SC_DLLPUBLIC const ScDataBarFormatData* GetDataBarData() const;
+    SC_DLLPUBLIC ScDataBarFormatData* GetDataBarData();
 
     bool IsEqual(const ScFormatEntry& r, bool bIgnoreSrcPos) const override;
 
diff --git a/sc/inc/conditio.hxx b/sc/inc/conditio.hxx
index ee4e030d0bab..430858122a75 100644
--- a/sc/inc/conditio.hxx
+++ b/sc/inc/conditio.hxx
@@ -300,7 +300,7 @@ public:
     }
 };
 
-class SC_DLLPUBLIC ScConditionEntry : public ScFormatEntry
+class SAL_DLLPUBLIC_RTTI ScConditionEntry : public ScFormatEntry
 {
                                         // stored data:
     ScConditionMode     eOp;
@@ -370,23 +370,23 @@ public:
     ScConditionMode GetOperation() const        { return eOp; }
     void SetOperation(ScConditionMode eMode);
     bool            IsIgnoreBlank() const       { return ( nOptions & 
SC_COND_NOBLANKS ) == 0; }
-    void            SetIgnoreBlank(bool bSet);
+    SC_DLLPUBLIC void SetIgnoreBlank(bool bSet);
     const OUString& GetSrcString() const         { return aSrcString; }
     const ScAddress& GetSrcPos() const           { return aSrcPos; }
 
-    ScAddress       GetValidSrcPos() const;     // adjusted to allow textual 
representation of expressions
+    SC_DLLPUBLIC ScAddress GetValidSrcPos() const;     // adjusted to allow 
textual representation of expressions
 
-    void            SetSrcString( const OUString& rNew );     // for XML import
+    SC_DLLPUBLIC void SetSrcString( const OUString& rNew );     // for XML 
import
 
     void            SetFormula1( const ScTokenArray& rArray );
     void            SetFormula2( const ScTokenArray& rArray );
 
-    OUString          GetExpression( const ScAddress& rCursor, sal_uInt16 
nPos, sal_uInt32 nNumFmt = 0,
+    SC_DLLPUBLIC OUString GetExpression( const ScAddress& rCursor, sal_uInt16 
nPos, sal_uInt32 nNumFmt = 0,
                                     const formula::FormulaGrammar::Grammar 
eGrammar = formula::FormulaGrammar::GRAM_DEFAULT ) const;
 
                     /** Create a flat copy using ScTokenArray copy-ctor with
                         shared tokens. */
-    std::unique_ptr<ScTokenArray> CreateFlatCopiedTokenArray( sal_uInt16 nPos 
) const;
+    SC_DLLPUBLIC std::unique_ptr<ScTokenArray> CreateFlatCopiedTokenArray( 
sal_uInt16 nPos ) const;
 
     void            CompileAll();
     void            CompileXML();
@@ -448,13 +448,13 @@ private:
 };
 
 //  single condition entry for conditional formatting
-class SC_DLLPUBLIC ScCondFormatEntry final : public ScConditionEntry
+class SAL_DLLPUBLIC_RTTI ScCondFormatEntry final : public ScConditionEntry
 {
     OUString aStyleName;
     Type eCondFormatType = Type::Condition;
 
 public:
-            ScCondFormatEntry( ScConditionMode eOper,
+    SC_DLLPUBLIC ScCondFormatEntry( ScConditionMode eOper,
                                 const OUString& rExpr1, const OUString& rExpr2,
                                 ScDocument& rDocument, const ScAddress& rPos,
                                 OUString aStyle,
@@ -463,13 +463,13 @@ public:
                                 formula::FormulaGrammar::Grammar eGrammar1 = 
formula::FormulaGrammar::GRAM_DEFAULT,
                                 formula::FormulaGrammar::Grammar eGrammar2 = 
formula::FormulaGrammar::GRAM_DEFAULT,
                                 Type eType = Type::Condition);
-            ScCondFormatEntry( ScConditionMode eOper,
+    SC_DLLPUBLIC ScCondFormatEntry( ScConditionMode eOper,
                                 const ScTokenArray* pArr1, const ScTokenArray* 
pArr2,
                                 ScDocument& rDocument, const ScAddress& rPos,
                                 OUString aStyle );
-            ScCondFormatEntry( const ScCondFormatEntry& r );
+    SC_DLLPUBLIC ScCondFormatEntry( const ScCondFormatEntry& r );
             ScCondFormatEntry( ScDocument& rDocument, const ScCondFormatEntry& 
r );
-    virtual ~ScCondFormatEntry() override;
+    SC_DLLPUBLIC virtual ~ScCondFormatEntry() override;
 
     bool            IsEqual( const ScFormatEntry& r, bool bIgnoreSrcPos ) 
const override;
 
diff --git a/sc/inc/dpdimsave.hxx b/sc/inc/dpdimsave.hxx
index 95496783a157..0a7903ed9178 100644
--- a/sc/inc/dpdimsave.hxx
+++ b/sc/inc/dpdimsave.hxx
@@ -43,15 +43,15 @@ class ScDPSaveGroupDimension;
  * These have to be applied before the other ScDPSaveData settings.
  */
 
-class SC_DLLPUBLIC ScDPSaveGroupItem
+class SAL_DLLPUBLIC_RTTI ScDPSaveGroupItem
 {
     OUString aGroupName;                        ///< name of group
     std::vector<OUString> aElements;            ///< names of items in 
original dimension
     mutable std::vector<ScDPItemData> maItems;  ///< items converted from the 
strings.
 
 public:
-    ScDPSaveGroupItem( OUString aName );
-    ~ScDPSaveGroupItem();
+    SC_DLLPUBLIC ScDPSaveGroupItem( OUString aName );
+    SC_DLLPUBLIC ~ScDPSaveGroupItem();
 
     ScDPSaveGroupItem(ScDPSaveGroupItem const &) = default;
     ScDPSaveGroupItem(ScDPSaveGroupItem &&) = default;
@@ -60,16 +60,16 @@ public:
 
     void AddToData(ScDPGroupDimension& rDataDim) const;
 
-    void    AddElement( const OUString& rName );
+    SC_DLLPUBLIC void AddElement( const OUString& rName );
     void    AddElementsFromGroup( const ScDPSaveGroupItem& rGroup );
     const OUString& GetGroupName() const { return aGroupName; }
 
     /// @return true if found (removed)
     bool    RemoveElement( const OUString& rName );
 
-    bool    IsEmpty() const;
-    size_t  GetElementCount() const;
-    const OUString* GetElementByIndex(size_t nIndex) const;
+    SC_DLLPUBLIC bool IsEmpty() const;
+    SC_DLLPUBLIC size_t GetElementCount() const;
+    SC_DLLPUBLIC const OUString* GetElementByIndex(size_t nIndex) const;
 
     void Rename( const OUString& rNewName );
 
diff --git a/sc/inc/dpshttab.hxx b/sc/inc/dpshttab.hxx
index 3299771b4214..c9b45755fbc6 100644
--- a/sc/inc/dpshttab.hxx
+++ b/sc/inc/dpshttab.hxx
@@ -83,7 +83,7 @@ private:
 /**
  * Implementation of ScDPTableData with sheet data.
  */
-class SC_DLLPUBLIC ScSheetDPData final : public ScDPTableData
+class SAL_DLLPUBLIC_RTTI ScSheetDPData final : public ScDPTableData
 {
 private:
     ScQueryParam    aQuery;
@@ -93,8 +93,8 @@ private:
     ScDPFilteredCache  aCacheTable;
 
 public:
-    ScSheetDPData(const ScDocument* pD, const ScSheetSourceDesc& rDesc, const 
ScDPCache& rCache);
-    virtual ~ScSheetDPData() override;
+    SC_DLLPUBLIC ScSheetDPData(const ScDocument* pD, const ScSheetSourceDesc& 
rDesc, const ScDPCache& rCache);
+    SC_DLLPUBLIC virtual ~ScSheetDPData() override;
 
     virtual sal_Int32               GetColumnCount() override;
     virtual OUString                getDimensionName(sal_Int32 nColumn) 
override;
diff --git a/sc/inc/patattr.hxx b/sc/inc/patattr.hxx
index 79d4ac9fc41c..5db0e8f9c82c 100644
--- a/sc/inc/patattr.hxx
+++ b/sc/inc/patattr.hxx
@@ -121,7 +121,7 @@ public:
     static bool areSame(const CellAttributeHolder* p1, const 
CellAttributeHolder* p2);
 };
 
-class SC_DLLPUBLIC ScPatternAttr final
+class SAL_DLLPUBLIC_RTTI ScPatternAttr final
 {
     friend class CellAttributeHelper;
 
@@ -140,14 +140,14 @@ class SC_DLLPUBLIC ScPatternAttr final
 #endif
 
 public:
-    ScPatternAttr(CellAttributeHelper& rHelper, const SfxItemSet* pItemSet = 
nullptr, const OUString* pStyleName = nullptr);
-    ScPatternAttr(const ScPatternAttr& rPatternAttr);
-    ~ScPatternAttr();
+    SC_DLLPUBLIC ScPatternAttr(CellAttributeHelper& rHelper, const SfxItemSet* 
pItemSet = nullptr, const OUString* pStyleName = nullptr);
+    SC_DLLPUBLIC ScPatternAttr(const ScPatternAttr& rPatternAttr);
+    SC_DLLPUBLIC ~ScPatternAttr();
 
     bool operator==(const ScPatternAttr& rCmp) const;
 
     // version that allows nullptrs
-    static bool areSame(const ScPatternAttr* pItem1, const ScPatternAttr* 
pItem2);
+    SC_DLLPUBLIC static bool areSame(const ScPatternAttr* pItem1, const 
ScPatternAttr* pItem2);
     bool isRegistered() const { return 0 != mnRefCount; }
     bool isDefault() const { return this == 
&pCellAttributeHelper->getDefaultCellAttribute(); }
     CellAttributeHelper& getCellAttributeHelper() const { return 
*pCellAttributeHelper; }
@@ -161,7 +161,7 @@ public:
     static const SfxPoolItem& GetItem(sal_uInt16 nWhich, const SfxItemSet& 
rItemSet, const SfxItemSet* pCondSet);
     template<class T> static const T& GetItem(TypedWhichId<T> nWhich, const 
SfxItemSet& rItemSet, const SfxItemSet* pCondSet)
         { return static_cast<const T&>(GetItem(sal_uInt16(nWhich), rItemSet, 
pCondSet)); }
-    const SfxPoolItem& GetItem( sal_uInt16 nWhich, const SfxItemSet* pCondSet 
) const;
+    SC_DLLPUBLIC const SfxPoolItem& GetItem( sal_uInt16 nWhich, const 
SfxItemSet* pCondSet ) const;
     template<class T> const T& GetItem(TypedWhichId<T> nWhich, const 
SfxItemSet* pCondSet) const
         { return static_cast<const T&>(GetItem(sal_uInt16(nWhich), pCondSet)); 
}
 
@@ -174,7 +174,7 @@ public:
     SvxCellOrientation GetCellOrientation( const SfxItemSet* pCondSet = 
nullptr ) const;
 
     /** Static helper function to fill a font object from the passed item set. 
*/
-    static void fillFontOnly(vcl::Font& rFont, const SfxItemSet& rItemSet,
+    SC_DLLPUBLIC static void fillFontOnly(vcl::Font& rFont, const SfxItemSet& 
rItemSet,
                                         const OutputDevice* pOutDev = nullptr,
                                         const Fraction* pScale = nullptr,
                                         const SfxItemSet* pCondSet = nullptr,
@@ -188,7 +188,7 @@ public:
                                         SvtScriptType nScript = 
SvtScriptType::NONE, const Color* pBackConfigColor = nullptr,
                                         const Color* pTextConfigColor = 
nullptr);
 
-    static void fillColor(model::ComplexColor& rComplexColor,
+    SC_DLLPUBLIC static void fillColor(model::ComplexColor& rComplexColor,
                             const SfxItemSet& rItemSet,
                             ScAutoFontColorMode eAutoMode,
                             const SfxItemSet* pCondSet = nullptr,
@@ -196,7 +196,7 @@ public:
                             const Color* pTextConfigColor = nullptr);
 
 
-    static ScDxfFont        GetDxfFont(const SfxItemSet& rSet, SvtScriptType 
nScript);
+    SC_DLLPUBLIC static ScDxfFont        GetDxfFont(const SfxItemSet& rSet, 
SvtScriptType nScript);
 
     void fillColor(model::ComplexColor& rComplexColor,
                     ScAutoFontColorMode eAutoMode,
@@ -229,22 +229,22 @@ public:
     }
 
     /** Converts all Calc items contained in rSrcSet to edit engine items and 
puts them into rEditSet. */
-    static void             FillToEditItemSet( SfxItemSet& rEditSet, const 
SfxItemSet& rSrcSet, const SfxItemSet* pCondSet = nullptr );
+    SC_DLLPUBLIC static void             FillToEditItemSet( SfxItemSet& 
rEditSet, const SfxItemSet& rSrcSet, const SfxItemSet* pCondSet = nullptr );
     /** Converts all Calc items contained in the own item set to edit engine 
items and puts them into pEditSet. */
-    void                    FillEditItemSet( SfxItemSet* pEditSet, const 
SfxItemSet* pCondSet = nullptr ) const;
+    SC_DLLPUBLIC void                    FillEditItemSet( SfxItemSet* 
pEditSet, const SfxItemSet* pCondSet = nullptr ) const;
 
     /** Converts all edit engine items contained in rEditSet to Calc items and 
puts them into rDestSet. */
-    static void             GetFromEditItemSet( SfxItemSet& rDestSet, const 
SfxItemSet& rEditSet );
+    SC_DLLPUBLIC static void             GetFromEditItemSet( SfxItemSet& 
rDestSet, const SfxItemSet& rEditSet );
     /** Converts all edit engine items contained in pEditSet to Calc items and 
puts them into the own item set. */
-    void                    GetFromEditItemSet( const SfxItemSet* pEditSet );
+    SC_DLLPUBLIC void                    GetFromEditItemSet( const SfxItemSet* 
pEditSet );
 
     void                    FillEditParaItems( SfxItemSet* pSet ) const;
 
     CellAttributeHolder     MigrateToDocument( ScDocument* pDestDoc, 
ScDocument* pSrcDoc ) const;
 
-    void                    SetStyleSheet(ScStyleSheet* pNewStyle, bool 
bClearDirectFormat = true);
+    SC_DLLPUBLIC void                    SetStyleSheet(ScStyleSheet* 
pNewStyle, bool bClearDirectFormat = true);
     const ScStyleSheet*     GetStyleSheet() const  { return pStyle; }
-    const OUString*         GetStyleName() const;
+    SC_DLLPUBLIC const OUString*         GetStyleName() const;
     bool                    UpdateStyleSheet(const ScDocument& rDoc);
     void                    StyleToName();
 
@@ -255,11 +255,11 @@ public:
                                 with text encoding RTL_TEXTENC_SYMBOL */
     bool                    IsSymbolFont() const;
 
-    sal_uInt32              GetNumberFormat( SvNumberFormatter* ) const;
+    SC_DLLPUBLIC sal_uInt32              GetNumberFormat( SvNumberFormatter* ) 
const;
     sal_uInt32              GetNumberFormat( const ScInterpreterContext& 
rContext ) const;
     sal_uInt32              GetNumberFormat( SvNumberFormatter* pFormatter,
                                              const SfxItemSet* pCondSet ) 
const;
-    sal_uInt32              GetNumberFormat( const ScInterpreterContext& 
rContext,
+    SC_DLLPUBLIC sal_uInt32              GetNumberFormat( const 
ScInterpreterContext& rContext,
                                              const SfxItemSet* pCondSet ) 
const;
 
     Degree100               GetRotateVal( const SfxItemSet* pCondSet ) const;
diff --git a/sc/inc/postit.hxx b/sc/inc/postit.hxx
index 5e7f6f81d16f..922a1ebae748 100644
--- a/sc/inc/postit.hxx
+++ b/sc/inc/postit.hxx
@@ -54,10 +54,10 @@ struct ScNoteData
 /**
  * Additional class containing cell annotation data.
  */
-class SC_DLLPUBLIC ScPostIt
+class SAL_DLLPUBLIC_RTTI ScPostIt
 {
 public:
-    static sal_uInt32 mnLastPostItId;
+    static SC_DLLPUBLIC sal_uInt32 mnLastPostItId;
 
     /** Creates an empty note and its caption object and places it according to
         the passed cell position. */
@@ -110,7 +110,7 @@ public:
     /** Returns the author date of this note. */
     const OUString& GetAuthor() const { return maNoteData.maAuthor;}
     /** Sets a new author date for this note. */
-    void SetAuthor( const OUString& rAuthor );
+    SC_DLLPUBLIC void SetAuthor( const OUString& rAuthor );
 
     /** Sets date and author from system settings. */
     void                AutoStamp();
@@ -118,12 +118,12 @@ public:
     /** Returns the pointer to the current outliner object, or null. */
     const OutlinerParaObject* GetOutlinerObject() const;
     /** Returns the pointer to the current edit text object, or null. */
-    const EditTextObject* GetEditTextObject() const;
+    SC_DLLPUBLIC const EditTextObject* GetEditTextObject() const;
 
     /** Returns the caption text of this note. */
-    OUString     GetText() const;
+    SC_DLLPUBLIC OUString     GetText() const;
     /** Changes the caption text of this note. All text formatting will be 
lost. */
-    void                SetText( const ScAddress& rPos, const OUString& rText 
);
+    SC_DLLPUBLIC void SetText( const ScAddress& rPos, const OUString& rText );
 
     /** Returns an existing note caption object. returns null, if the note
         contains initial caption data needed to construct a caption object.
@@ -134,7 +134,7 @@ public:
         the note contains initial caption data instead of the caption.
         The SdrCaptionObj* returned is still managed by the underlying
         ScNoteData::ScCaptionPtr and must not be stored elsewhere. */
-    SdrCaptionObj*      GetOrCreateCaption( const ScAddress& rPos ) const;
+    SC_DLLPUBLIC SdrCaptionObj*      GetOrCreateCaption( const ScAddress& rPos 
) const;
 
     /** Forgets the pointer to the note caption object.
 
@@ -145,7 +145,7 @@ public:
     void                ForgetCaption( bool bPreserveData = false );
 
     /** Shows or hides the note caption object. */
-    void                ShowCaption( const ScAddress& rPos, bool bShow );
+    SC_DLLPUBLIC void ShowCaption( const ScAddress& rPos, bool bShow );
     /** Returns true, if the caption object is visible. */
     bool IsCaptionShown() const { return maNoteData.mbShown;}
 
diff --git a/sc/inc/rangeutl.hxx b/sc/inc/rangeutl.hxx
index 852c82b11bb4..6e1a40fc0292 100644
--- a/sc/inc/rangeutl.hxx
+++ b/sc/inc/rangeutl.hxx
@@ -41,7 +41,7 @@ enum RutlNameScope
     RUTL_DBASE
 };
 
-class SC_DLLPUBLIC ScRangeUtil
+class SAL_DLLPUBLIC_RTTI ScRangeUtil
 {
 public:
     ScRangeUtil() = delete;
@@ -62,7 +62,7 @@ public:
                                   bool              bAcceptCellRef = false,
                                   ScAddress::Details const & rDetails = 
ScAddress::detailsOOOa1 );
 
-    static bool IsAbsArea       ( const OUString& rAreaStr,
+    SC_DLLPUBLIC static bool IsAbsArea       ( const OUString& rAreaStr,
                                   const ScDocument& rDoc,
                                   SCTAB     nTab,
                                   OUString*     pCompleteStr,
@@ -70,7 +70,7 @@ public:
                                   ScRefAddress* pEndPos      = nullptr,
                                   ScAddress::Details const & rDetails = 
ScAddress::detailsOOOa1 );
 
-    static bool IsAbsPos        ( const OUString& rPosStr,
+    SC_DLLPUBLIC static bool IsAbsPos        ( const OUString& rPosStr,
                                   const ScDocument& rDoc,
                                   SCTAB     nTab,
                                   OUString*       pCompleteStr,
@@ -86,7 +86,7 @@ public:
                                   bool bUseDetailsPos = false );
 };
 
-class SC_DLLPUBLIC ScRangeStringConverter
+class SAL_DLLPUBLIC_RTTI ScRangeStringConverter
 {
 public:
 
@@ -124,7 +124,7 @@ public:
                             const OUString& rTabName);
 
 /// String to Range core
-    static bool     GetAddressFromString(
+    SC_DLLPUBLIC static bool GetAddressFromString(
                             ScAddress& rAddress,
                             std::u16string_view rAddressStr,
                             const ScDocument& rDocument,
@@ -140,7 +140,7 @@ public:
                             sal_Int32& nOffset,
                             sal_Unicode cSeparator = ' ',
                             sal_Unicode cQuote = '\'');
-    static bool     GetRangeListFromString(
+    SC_DLLPUBLIC static bool GetRangeListFromString(
                             ScRangeList& rRangeList,
                             std::u16string_view rRangeListStr,
                             const ScDocument& rDocument,
@@ -182,7 +182,7 @@ public:
                             sal_Unicode cSeparator = ' ',
                             bool bAppendStr = false,
                             ScRefFlags nFormatFlags = ScRefFlags::VALID | 
ScRefFlags::TAB_3D );
-    static void         GetStringFromRangeList(
+    SC_DLLPUBLIC static void GetStringFromRangeList(
                             OUString& rString,
                             const ScRangeList* pRangeList,
                             const ScDocument* pDocument,
diff --git a/sc/inc/refdata.hxx b/sc/inc/refdata.hxx
index d893248ba0bc..b4740417b98c 100644
--- a/sc/inc/refdata.hxx
+++ b/sc/inc/refdata.hxx
@@ -26,7 +26,7 @@
 struct ScSheetLimits;
 
 /// Single reference (one address) into the sheet
-struct SC_DLLPUBLIC ScSingleRefData
+struct SAL_DLLPUBLIC_RTTI ScSingleRefData
 {
 private:
     SCCOL mnCol;
@@ -53,7 +53,7 @@ public:
     /// No default ctor, because used in ScRawToken union, set InitFlags!
     void InitFlags() { mnFlagValue = 0; }    ///< all FALSE
     /// InitAddress: InitFlags and set address
-    void InitAddress( const ScAddress& rAdr );
+    SC_DLLPUBLIC void InitAddress( const ScAddress& rAdr );
     void InitAddress( SCCOL nCol, SCROW nRow, SCTAB nTab );
     /// InitAddressRel: InitFlags and set address, everything relative to rPos
     void InitAddressRel( const ScDocument& rDoc, const ScAddress& rAdr, const 
ScAddress& rPos );
@@ -68,23 +68,23 @@ public:
     void SetTabRel( bool bVal ) { Flags.bTabRel = bVal; }
     bool IsTabRel() const { return Flags.bTabRel; }
 
-    void SetAbsCol( SCCOL nVal );
-    void SetRelCol( SCCOL nVal );
+    SC_DLLPUBLIC void SetAbsCol( SCCOL nVal );
+    SC_DLLPUBLIC void SetRelCol( SCCOL nVal );
     void IncCol( SCCOL nInc );
-    void SetAbsRow( SCROW nVal );
-    void SetRelRow( SCROW nVal );
+    SC_DLLPUBLIC void SetAbsRow( SCROW nVal );
+    SC_DLLPUBLIC void SetRelRow( SCROW nVal );
     void IncRow( SCROW nInc );
-    void SetAbsTab( SCTAB nVal );
-    void SetRelTab( SCTAB nVal );
+    SC_DLLPUBLIC void SetAbsTab( SCTAB nVal );
+    SC_DLLPUBLIC void SetRelTab( SCTAB nVal );
     void IncTab( SCTAB nInc );
 
-    void SetColDeleted( bool bVal );
+    SC_DLLPUBLIC void SetColDeleted( bool bVal );
     bool IsColDeleted() const { return Flags.bColDeleted;}
-    void SetRowDeleted( bool bVal );
+    SC_DLLPUBLIC void SetRowDeleted( bool bVal );
     bool IsRowDeleted() const { return Flags.bRowDeleted;}
-    void SetTabDeleted( bool bVal );
+    SC_DLLPUBLIC void SetTabDeleted( bool bVal );
     bool IsTabDeleted() const { return Flags.bTabDeleted;}
-    bool IsDeleted() const;
+    SC_DLLPUBLIC bool IsDeleted() const;
 
     void SetFlag3D( bool bVal ) { Flags.bFlag3D = bVal; }
     bool IsFlag3D() const { return Flags.bFlag3D; }
@@ -101,11 +101,11 @@ public:
     bool ValidExternal(const ScDocument& rDoc) const;
 
     ScAddress toAbs( const ScSheetLimits& rLimits, const ScAddress& rPos ) 
const;
-    ScAddress toAbs( const ScDocument& rDoc, const ScAddress& rPos ) const;
-    void SetAddress( const ScSheetLimits& rLimits, const ScAddress& rAddr, 
const ScAddress& rPos );
-    SCROW Row() const;
-    SCCOL Col() const;
-    SCTAB Tab() const;
+    SC_DLLPUBLIC ScAddress toAbs( const ScDocument& rDoc, const ScAddress& 
rPos ) const;
+    SC_DLLPUBLIC void SetAddress( const ScSheetLimits& rLimits, const 
ScAddress& rAddr, const ScAddress& rPos );
+    SC_DLLPUBLIC SCROW Row() const;
+    SC_DLLPUBLIC SCCOL Col() const;
+    SC_DLLPUBLIC SCTAB Tab() const;
 
     /** Adjust ordering (front-top-left/rear-bottom-right) to a new position. 
*/
     static void PutInOrder( ScSingleRefData& rRef1, ScSingleRefData& rRef2, 
const ScAddress& rPos );
diff --git a/sc/inc/stlpool.hxx b/sc/inc/stlpool.hxx
index 131b82c749ef..2d31c4ee8024 100644
--- a/sc/inc/stlpool.hxx
+++ b/sc/inc/stlpool.hxx
@@ -25,7 +25,7 @@
 class ScStyleSheet;
 class ScDocument;
 
-class SC_DLLPUBLIC ScStyleSheetPool final : public SfxStyleSheetPool
+class SAL_DLLPUBLIC_RTTI ScStyleSheetPool final : public SfxStyleSheetPool
 {
 public:
                         ScStyleSheetPool( const SfxItemPool& rPool,
@@ -42,7 +42,7 @@ public:
     SfxStyleSheetBase*  GetActualStyleSheet ()
                                 { return pActualStyleSheet; }
 
-    void                CreateStandardStyles();
+    SC_DLLPUBLIC void   CreateStandardStyles();
     void                CopyStdStylesFrom( ScStyleSheetPool* pSrcPool );
 
     void                CopyUsedGraphicStylesFrom( SfxStyleSheetBasePool* 
pSrcPool );
@@ -52,11 +52,11 @@ public:
 
     bool                HasStandardStyles() const { return bHasStandardStyles; 
}
 
-    ScStyleSheet*       FindCaseIns( const OUString& rName, SfxStyleFamily 
eFam );
+    SC_DLLPUBLIC ScStyleSheet* FindCaseIns( const OUString& rName, 
SfxStyleFamily eFam );
     // Finds Para style with given name case-insensitively, or 
STR_STYLENAME_STANDARD
     ScStyleSheet*       FindAutoStyle(const OUString& rName);
 
-    virtual SfxStyleSheetBase& Make( const OUString&, SfxStyleFamily eFam,
+    SC_DLLPUBLIC virtual SfxStyleSheetBase& Make( const OUString&, 
SfxStyleFamily eFam,
                                      SfxStyleSearchBits nMask = 
SfxStyleSearchBits::All) override;
 
     void setAllParaStandard();
diff --git a/sc/inc/tabprotection.hxx b/sc/inc/tabprotection.hxx
index 2ff6188154d5..55a663137de6 100644
--- a/sc/inc/tabprotection.hxx
+++ b/sc/inc/tabprotection.hxx
@@ -92,7 +92,7 @@ public:
     virtual bool verifyPassword(const OUString& aPassText) const = 0;
 };
 
-class SC_DLLPUBLIC ScDocProtection final : public ScPassHashProtectable
+class SAL_DLLPUBLIC_RTTI ScDocProtection final : public ScPassHashProtectable
 {
 public:
     enum Option
@@ -102,29 +102,29 @@ public:
         NONE        ///< last item - used to resize the vector
     };
 
-    explicit ScDocProtection();
+    SC_DLLPUBLIC explicit ScDocProtection();
     explicit ScDocProtection(const ScDocProtection& r);
-    virtual ~ScDocProtection() override;
+    SC_DLLPUBLIC virtual ~ScDocProtection() override;
 
-    virtual bool isProtected() const override;
+    SC_DLLPUBLIC virtual bool isProtected() const override;
     virtual bool isProtectedWithPass() const override;
-    virtual void setProtected(bool bProtected) override;
+    SC_DLLPUBLIC virtual void setProtected(bool bProtected) override;
 
     virtual bool isPasswordEmpty() const override;
     virtual bool hasPasswordHash(ScPasswordHash eHash, ScPasswordHash eHash2 = 
PASSHASH_UNSPECIFIED) const override;
     virtual void setPassword(const OUString& aPassText) override;
-    virtual css::uno::Sequence<sal_Int8> getPasswordHash(
+    SC_DLLPUBLIC virtual css::uno::Sequence<sal_Int8> getPasswordHash(
         ScPasswordHash eHash, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED) 
const override;
     virtual const ScOoxPasswordHash& getPasswordHash() const override;
-    virtual void setPasswordHash(
+    SC_DLLPUBLIC virtual void setPasswordHash(
         const css::uno::Sequence<sal_Int8>& aPassword,
         ScPasswordHash eHash, ScPasswordHash eHash2 = PASSHASH_UNSPECIFIED) 
override;
     virtual void setPasswordHash( const OUString& rAlgorithmName, const 
OUString& rHashValue,
             const OUString& rSaltValue, sal_uInt32 nSpinCount ) override;
-    virtual bool verifyPassword(const OUString& aPassText) const override;
+    SC_DLLPUBLIC virtual bool verifyPassword(const OUString& aPassText) const 
override;
 
-    bool isOptionEnabled(Option eOption) const;
-    void setOption(Option eOption, bool bEnabled);
+    SC_DLLPUBLIC bool isOptionEnabled(Option eOption) const;
+    SC_DLLPUBLIC void setOption(Option eOption, bool bEnabled);
 
 private:
     std::unique_ptr<ScTableProtectionImpl> mpImpl;
diff --git a/sc/source/ui/inc/impex.hxx b/sc/source/ui/inc/impex.hxx
index 827fd7f73fc6..28e948f44499 100644
--- a/sc/source/ui/inc/impex.hxx
+++ b/sc/source/ui/inc/impex.hxx
@@ -45,7 +45,7 @@ struct ScExportTextOptions
     bool mbAddQuotes;
 };
 
-class SC_DLLPUBLIC ScImportExport
+class SAL_DLLPUBLIC_RTTI ScImportExport
 {
     ScDocShell* pDocSh;
     ScDocument& rDoc;
@@ -93,9 +93,9 @@ class SC_DLLPUBLIC ScImportExport
 public:
     ScImportExport( ScDocument& );                  // the whole document
     ScImportExport( ScDocument&, const OUString& );   // Range/cell input
-    ScImportExport( ScDocument&, const ScAddress& );
-    ScImportExport( ScDocument&, const ScRange& );
-   ~ScImportExport() COVERITY_NOEXCEPT_FALSE;
+    SC_DLLPUBLIC ScImportExport( ScDocument&, const ScAddress& );
+    SC_DLLPUBLIC ScImportExport( ScDocument&, const ScRange& );
+    SC_DLLPUBLIC ~ScImportExport() COVERITY_NOEXCEPT_FALSE;
 
     void SetExtOptions( const ScAsciiOptions& rOpt );
     void SetFilterOptions( const OUString& rFilterOptions );
@@ -103,7 +103,7 @@ public:
 
     const ScRange& GetRange() const { return aRange; }
 
-    static void EmbeddedNullTreatment( OUString & rStr );
+    SC_DLLPUBLIC static void EmbeddedNullTreatment( OUString & rStr );
 
     static bool  IsFormatSupported( SotClipboardFormatId nFormat );
     static const sal_Unicode* ScanNextFieldFromString( const sal_Unicode* p,
@@ -139,8 +139,8 @@ public:
     bool ExportString( OUString&, SotClipboardFormatId );
     bool ExportByteString( OString&, rtl_TextEncoding, SotClipboardFormatId );
 
-    bool ImportStream( SvStream&, const OUString& rBaseURL, 
SotClipboardFormatId );
-    bool ExportStream( SvStream&, const OUString& rBaseURL, 
SotClipboardFormatId );
+    SC_DLLPUBLIC bool ImportStream( SvStream&, const OUString& rBaseURL, 
SotClipboardFormatId );
+    SC_DLLPUBLIC bool ExportStream( SvStream&, const OUString& rBaseURL, 
SotClipboardFormatId );
 
     bool ExportData( std::u16string_view rMimeType,
                      css::uno::Any & rValue  );
diff --git a/sc/source/ui/inc/undobase.hxx b/sc/source/ui/inc/undobase.hxx
index 25cee7e5c5a5..f7eca9ba8777 100644
--- a/sc/source/ui/inc/undobase.hxx
+++ b/sc/source/ui/inc/undobase.hxx
@@ -31,7 +31,7 @@ class SdrUndoAction;
 class ScRefUndoData;
 class ScDBData;
 
-class SC_DLLPUBLIC ScSimpleUndo: public SfxUndoAction
+class SAL_DLLPUBLIC_RTTI ScSimpleUndo: public SfxUndoAction
 {
     ScSimpleUndo(const ScSimpleUndo&) = delete;
 
diff --git a/sc/source/ui/inc/undoblk.hxx b/sc/source/ui/inc/undoblk.hxx
index 6a52ef059b0c..8c8805b3dce8 100644
--- a/sc/source/ui/inc/undoblk.hxx
+++ b/sc/source/ui/inc/undoblk.hxx
@@ -131,10 +131,10 @@ private:
     void            SetChangeTrack();
 };
 
-class SC_DLLPUBLIC ScUndoCut: public ScBlockUndo
+class SAL_DLLPUBLIC_RTTI ScUndoCut: public ScBlockUndo
 {
 public:
-    ScUndoCut(ScDocShell* pNewDocShell,
+    SC_DLLPUBLIC ScUndoCut(ScDocShell* pNewDocShell,
               const ScRange& aRange, // adjusted for merged cells
               const ScAddress& aOldEnd, // end position without adjustment
               const ScMarkData& rMark, // selected sheets
@@ -177,10 +177,10 @@ struct ScUndoPasteOptions
     {}
 };
 
-class SC_DLLPUBLIC ScUndoPaste: public ScMultiBlockUndo
+class SAL_DLLPUBLIC_RTTI ScUndoPaste: public ScMultiBlockUndo
 {
 public:
-    ScUndoPaste(ScDocShell* pNewDocShell, const ScRangeList& rRanges,
+    SC_DLLPUBLIC ScUndoPaste(ScDocShell* pNewDocShell, const ScRangeList& 
rRanges,
                 const ScMarkData& rMark,
                 ScDocumentUniquePtr pNewUndoDoc, ScDocumentUniquePtr 
pNewRedoDoc,
                 InsertDeleteFlags nNewFlags,

Reply via email to