diff options
author | Noel Grandin <noel@peralex.com> | 2014-12-28 14:22:51 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2015-01-06 10:59:42 +0200 |
commit | c29657e0d6bb707345584ac7a7f5ae5016f37297 (patch) | |
tree | 89cd11551729836a979570744da3c81090e330dd /include | |
parent | ec5bf66d366cd42774a87465e1187271f48a4ab1 (diff) |
fdo#84938: convert EXPORT_ #defines to 'enum class'
Change-Id: I2ed239fa073b5fa8fb56c1af9d4b0bac89acfacf
Diffstat (limited to 'include')
-rw-r--r-- | include/o3tl/typed_flags_set.hxx | 39 | ||||
-rw-r--r-- | include/xmloff/xmlexp.hxx | 46 |
2 files changed, 66 insertions, 19 deletions
diff --git a/include/o3tl/typed_flags_set.hxx b/include/o3tl/typed_flags_set.hxx index 4622d41e19f8..501a09a0cc68 100644 --- a/include/o3tl/typed_flags_set.hxx +++ b/include/o3tl/typed_flags_set.hxx @@ -101,6 +101,45 @@ inline typename o3tl::typed_flags<E>::Wrap operator ~( } template<typename E> +inline typename o3tl::typed_flags<E>::Wrap operator ^(E lhs, E rhs) { + assert(static_cast<O3TL_STD_UNDERLYING_TYPE_E>(lhs) >= 0); + assert(static_cast<O3TL_STD_UNDERLYING_TYPE_E>(rhs) >= 0); + return static_cast<typename o3tl::typed_flags<E>::Wrap>( + static_cast<O3TL_STD_UNDERLYING_TYPE_E>(lhs) + ^ static_cast<O3TL_STD_UNDERLYING_TYPE_E>(rhs)); +} + +template<typename E> +inline typename o3tl::typed_flags<E>::Wrap operator ^( + E lhs, typename o3tl::typed_flags<E>::Wrap rhs) +{ + assert(static_cast<O3TL_STD_UNDERLYING_TYPE_E>(lhs) >= 0); + return static_cast<typename o3tl::typed_flags<E>::Wrap>( + static_cast<O3TL_STD_UNDERLYING_TYPE_E>(lhs) + ^ static_cast<O3TL_STD_UNDERLYING_TYPE_E>(rhs)); +} + +template<typename E> +inline typename o3tl::typed_flags<E>::Wrap operator ^( + typename o3tl::typed_flags<E>::Wrap lhs, E rhs) +{ + assert(static_cast<O3TL_STD_UNDERLYING_TYPE_E>(rhs) >= 0); + return static_cast<typename o3tl::typed_flags<E>::Wrap>( + static_cast<O3TL_STD_UNDERLYING_TYPE_E>(lhs) + ^ static_cast<O3TL_STD_UNDERLYING_TYPE_E>(rhs)); +} + +template<typename E> +inline typename o3tl::typed_flags<E>::Wrap operator ^( + typename o3tl::typed_flags<E>::Wrap lhs, + typename o3tl::typed_flags<E>::Wrap rhs) +{ + return static_cast<typename o3tl::typed_flags<E>::Wrap>( + static_cast<O3TL_STD_UNDERLYING_TYPE_E>(lhs) + ^ static_cast<O3TL_STD_UNDERLYING_TYPE_E>(rhs)); +} + +template<typename E> inline typename o3tl::typed_flags<E>::Wrap operator &(E lhs, E rhs) { assert(static_cast<O3TL_STD_UNDERLYING_TYPE_E>(lhs) >= 0); assert(static_cast<O3TL_STD_UNDERLYING_TYPE_E>(rhs) >= 0); diff --git a/include/xmloff/xmlexp.hxx b/include/xmloff/xmlexp.hxx index d149aed89c32..d53983ec62c7 100644 --- a/include/xmloff/xmlexp.hxx +++ b/include/xmloff/xmlexp.hxx @@ -61,6 +61,7 @@ #include <tools/fldunit.hxx> #include <list> +#include <o3tl/typed_flags_set.hxx> class SvXMLNamespaceMap; class SvXMLAttributeList; @@ -83,20 +84,27 @@ namespace com { namespace sun { namespace star { } } } namespace comphelper { class UnoInterfaceToUniqueIdentifierMapper; } -#define EXPORT_META 0x0001 -#define EXPORT_STYLES 0x0002 -#define EXPORT_MASTERSTYLES 0x0004 -#define EXPORT_AUTOSTYLES 0x0008 -#define EXPORT_CONTENT 0x0010 -#define EXPORT_SCRIPTS 0x0020 -#define EXPORT_SETTINGS 0x0040 -#define EXPORT_FONTDECLS 0x0080 -#define EXPORT_EMBEDDED 0x0100 -#define EXPORT_NODOCTYPE 0x0200 -#define EXPORT_PRETTY 0x0400 -#define EXPORT_SAVEBACKWARDCOMPATIBLE 0x0800 -#define EXPORT_OASIS 0x8000 -#define EXPORT_ALL 0x7fff +enum class SvXMLExportFlags { + NONE = 0, + META = 0x0001, + STYLES = 0x0002, + MASTERSTYLES = 0x0004, + AUTOSTYLES = 0x0008, + CONTENT = 0x0010, + SCRIPTS = 0x0020, + SETTINGS = 0x0040, + FONTDECLS = 0x0080, + EMBEDDED = 0x0100, + NODOCTYPE = 0x0200, + PRETTY = 0x0400, + SAVEBACKWARDCOMPATIBLE = 0x0800, + OASIS = 0x8000, + ALL = 0x0fff +}; +namespace o3tl +{ + template<> struct typed_flags<SvXMLExportFlags> : is_typed_flags<SvXMLExportFlags, 0x8fff> {}; +} class XMLOFF_DLLPUBLIC SvXMLExport : public ::cppu::WeakImplHelper6< ::com::sun::star::document::XFilter, @@ -149,8 +157,8 @@ class XMLOFF_DLLPUBLIC SvXMLExport : public ::cppu::WeakImplHelper6< const enum ::xmloff::token::XMLTokenEnum meClass; SAL_DLLPRIVATE void _InitCtor(); - sal_uInt16 mnExportFlags; - sal_uInt16 mnErrorFlags; + SvXMLExportFlags mnExportFlags; + sal_uInt16 mnErrorFlags; public: @@ -174,7 +182,7 @@ private: void GetViewSettingsAndViews(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rProps); protected: - void setExportFlags( sal_uInt16 nExportFlags ) { mnExportFlags = nExportFlags; } + void setExportFlags( SvXMLExportFlags nExportFlags ) { mnExportFlags = nExportFlags; } // Get (modifyable) namespace map SvXMLNamespaceMap& _GetNamespaceMap() { return *mpNamespaceMap; } @@ -273,7 +281,7 @@ public: const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& xContext, OUString const & implementationName, const enum ::xmloff::token::XMLTokenEnum eClass = xmloff::token::XML_TOKEN_INVALID, - sal_uInt16 nExportFlag = EXPORT_ALL ); + SvXMLExportFlags nExportFlag = SvXMLExportFlags::ALL ); SvXMLExport( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& xContext, @@ -494,7 +502,7 @@ public: inline bool IsSaveLinkedSections() { return mbSaveLinkedSections; } // get export flags - sal_uInt16 getExportFlags() const { return mnExportFlags; } + SvXMLExportFlags getExportFlags() const { return mnExportFlags; } bool ExportEmbeddedOwnObject( ::com::sun::star::uno::Reference< |