include/rtl/bootstrap.h | 5 ++- include/tools/resary.hxx | 38 ++++++++++-------------------- tools/source/rc/resary.cxx | 57 +++++++++++++++++++++++++++++++++++++-------- 3 files changed, 64 insertions(+), 36 deletions(-)
New commits: commit 764600bc6175a32d119487afda2e8409f3395666 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Tue Nov 18 21:42:23 2014 -0500 Apply pimpl to ResStringArray, to hide its internals. Change-Id: I23969735f35e221a1aad39081ee63d02066d856f diff --git a/include/tools/resary.hxx b/include/tools/resary.hxx index 21a6625..90b6ba9 100644 --- a/include/tools/resary.hxx +++ b/include/tools/resary.hxx @@ -19,42 +19,30 @@ #ifndef INCLUDED_TOOLS_RESARY_HXX #define INCLUDED_TOOLS_RESARY_HXX -#include <boost/noncopyable.hpp> -#include <vector> #include <tools/toolsdllapi.h> -#include <tools/resid.hxx> +#include <rtl/ustring.hxx> #define RESARRAY_INDEX_NOTFOUND (0xffffffff) -class TOOLS_DLLPUBLIC ResStringArray : private boost::noncopyable -{ -private: - struct ImplResStringItem - { - OUString m_aStr; - sal_IntPtr m_nValue; +class ResId; - ImplResStringItem( const OUString& rStr, long nValue = 0 ) : - m_aStr( rStr ), - m_nValue( nValue ) - {} - }; +class TOOLS_DLLPUBLIC ResStringArray +{ + struct Impl; + Impl* mpImpl; - std::vector< ImplResStringItem > m_aStrings; + ResStringArray( const ResStringArray& ); // disabled + ResStringArray& operator=( const ResStringArray& ); // disabled public: ResStringArray( const ResId& rResId ); ~ResStringArray(); - const OUString GetString( sal_uInt32 nIndex ) const - { return (nIndex < m_aStrings.size()) ? m_aStrings[nIndex].m_aStr : OUString(); } - sal_IntPtr GetValue( sal_uInt32 nIndex ) const - { return (nIndex < m_aStrings.size()) ? m_aStrings[nIndex].m_nValue : -1; } - sal_uInt32 Count() const { return sal_uInt32(m_aStrings.size()); } - - sal_uInt32 FindIndex( sal_IntPtr nValue ) const; - - sal_uInt32 AddItem( const OUString& rString, sal_IntPtr nValue ); + OUString GetString( sal_uInt32 nIndex ) const; + sal_IntPtr GetValue( sal_uInt32 nIndex ) const; + sal_uInt32 Count() const; + sal_uInt32 FindIndex( sal_IntPtr nValue ) const; + sal_uInt32 AddItem( const OUString& rString, sal_IntPtr nValue ); }; #endif diff --git a/tools/source/rc/resary.cxx b/tools/source/rc/resary.cxx index dac1d94..03854d3 100644 --- a/tools/source/rc/resary.cxx +++ b/tools/source/rc/resary.cxx @@ -17,11 +17,34 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <tools/resmgr.hxx> #include <tools/resary.hxx> +#include <tools/resmgr.hxx> #include <tools/rcid.h> -ResStringArray::ResStringArray( const ResId& rResId ) +#include <vector> + +namespace { + +struct ImplResStringItem +{ + OUString m_aStr; + sal_IntPtr m_nValue; + + ImplResStringItem( const OUString& rStr, long nValue = 0 ) : + m_aStr(rStr), + m_nValue(nValue) + { } +}; + +} + +struct ResStringArray::Impl +{ + std::vector<ImplResStringItem> m_aStrings; +}; + +ResStringArray::ResStringArray( const ResId& rResId ) : + mpImpl(new Impl) { rResId.SetRT( RSC_STRINGARRAY ); ResMgr* pMgr = rResId.GetResMgr(); @@ -32,14 +55,14 @@ ResStringArray::ResStringArray( const ResId& rResId ) const sal_uInt32 nItems = pMgr->ReadLong(); if ( nItems ) { - m_aStrings.reserve( nItems ); + mpImpl->m_aStrings.reserve( nItems ); for ( sal_uInt32 i = 0; i < nItems; i++ ) { // load string - m_aStrings.push_back( ImplResStringItem( pMgr->ReadString() ) ); + mpImpl->m_aStrings.push_back(ImplResStringItem(pMgr->ReadString())); // load value - m_aStrings[i].m_nValue = pMgr->ReadLong(); + mpImpl->m_aStrings[i].m_nValue = pMgr->ReadLong(); } } } @@ -47,14 +70,30 @@ ResStringArray::ResStringArray( const ResId& rResId ) ResStringArray::~ResStringArray() { + delete mpImpl; +} + +OUString ResStringArray::GetString( sal_uInt32 nIndex ) const +{ + return (nIndex < mpImpl->m_aStrings.size()) ? mpImpl->m_aStrings[nIndex].m_aStr : OUString(); +} + +sal_IntPtr ResStringArray::GetValue( sal_uInt32 nIndex ) const +{ + return (nIndex < mpImpl->m_aStrings.size()) ? mpImpl->m_aStrings[nIndex].m_nValue : -1; +} + +sal_uInt32 ResStringArray::Count() const +{ + return sal_uInt32(mpImpl->m_aStrings.size()); } sal_uInt32 ResStringArray::FindIndex( sal_IntPtr nValue ) const { - const sal_uInt32 nItems = m_aStrings.size(); + const sal_uInt32 nItems = mpImpl->m_aStrings.size(); for ( sal_uInt32 i = 0; i < nItems; i++ ) { - if ( m_aStrings[i].m_nValue == nValue ) + if (mpImpl->m_aStrings[i].m_nValue == nValue) return i; } return RESARRAY_INDEX_NOTFOUND; @@ -62,8 +101,8 @@ sal_uInt32 ResStringArray::FindIndex( sal_IntPtr nValue ) const sal_uInt32 ResStringArray::AddItem( const OUString& rString, sal_IntPtr nValue ) { - m_aStrings.push_back( ImplResStringItem( rString, nValue)); - return m_aStrings.size(); + mpImpl->m_aStrings.push_back(ImplResStringItem(rString, nValue)); + return mpImpl->m_aStrings.size(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 1b9aaba0bfe8bc0872e7ea9f9aef5961e4b52f7c Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Tue Nov 18 21:39:25 2014 -0500 typo: boostrap -> bootstrap. Change-Id: I73eb3b253d43618cbe8e743e3ac5687be2ea3e4d diff --git a/include/rtl/bootstrap.h b/include/rtl/bootstrap.h index a4e109f..5a6e00d 100644 --- a/include/rtl/bootstrap.h +++ b/include/rtl/bootstrap.h @@ -160,13 +160,14 @@ typedef void * rtlBootstrapHandle; Opens a bootstrap argument container. @param pIniName [in] The name of the ini-file to use, if <code>NULL</code> defaults to the excutables name - @return Handle for a boostrap argument container + @return Handle for a bootstrap argument + container */ SAL_DLLPUBLIC rtlBootstrapHandle SAL_CALL rtl_bootstrap_args_open(rtl_uString * pIniName) SAL_THROW_EXTERN_C(); /** - Closes a boostrap agument container. + Closes a bootstrap agument container. @param handle [in] The handle got by <code>rtl_bootstrap_args_open()</code> */ SAL_DLLPUBLIC void SAL_CALL rtl_bootstrap_args_close(rtlBootstrapHandle handle) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits