summaryrefslogtreecommitdiff
path: root/editeng/source/uno/unotext2.cxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2011-09-09 14:03:27 +0200
committerStephan Bergmann <sbergman@redhat.com>2011-09-09 17:46:37 +0200
commit21d97438e2944861e26e4984195f959a0cce1e41 (patch)
tree0a980fe781bae8aa564412165c17ebd6d4795749 /editeng/source/uno/unotext2.cxx
parent34e5e5ecec9779bae3ee48f698d52318f0be5f89 (diff)
sb140: #i117082# avoid unncessary static class data members (which are destroyed too late)
plus sb140: #i117082# extra indirections to apeace MSC sb140: #i117082# avoid warnings about not intializing boost::noncopyable base in copy ctors
Diffstat (limited to 'editeng/source/uno/unotext2.cxx')
-rw-r--r--editeng/source/uno/unotext2.cxx199
1 files changed, 17 insertions, 182 deletions
diff --git a/editeng/source/uno/unotext2.cxx b/editeng/source/uno/unotext2.cxx
index 33fcf225eb2d..23f01936b693 100644
--- a/editeng/source/uno/unotext2.cxx
+++ b/editeng/source/uno/unotext2.cxx
@@ -43,10 +43,6 @@ using namespace ::rtl;
using namespace ::cppu;
using namespace ::com::sun::star;
-#define QUERYINT( xint ) \
- if( rType == ::getCppuType((const uno::Reference< xint >*)0) ) \
- return uno::makeAny(uno::Reference< xint >(this))
-
// ====================================================================
// SvxUnoTextContentEnumeration
// ====================================================================
@@ -119,7 +115,7 @@ static SvxUnoText* getDummyText() throw()
}
SvxUnoTextContent::SvxUnoTextContent() throw()
-: SvxUnoTextRangeBase(*getDummyText())
+: SvxUnoTextContent_Base(*getDummyText())
, mnParagraph(0)
, mrParentText(*getDummyText())
, maDisposeListeners(maDisposeContainerMutex)
@@ -128,7 +124,7 @@ SvxUnoTextContent::SvxUnoTextContent() throw()
}
SvxUnoTextContent::SvxUnoTextContent( const SvxUnoTextBase& rText, sal_uInt16 nPara ) throw()
-: SvxUnoTextRangeBase(rText)
+: SvxUnoTextContent_Base(rText)
, mnParagraph(nPara)
, mrParentText(rText)
, maDisposeListeners(maDisposeContainerMutex)
@@ -140,11 +136,7 @@ SvxUnoTextContent::SvxUnoTextContent( const SvxUnoTextBase& rText, sal_uInt16 nP
}
SvxUnoTextContent::SvxUnoTextContent( const SvxUnoTextContent& rContent ) throw()
-: SvxUnoTextRangeBase(rContent)
-, text::XTextContent()
-, container::XEnumerationAccess()
-, lang::XTypeProvider()
-, cppu::OWeakAggObject()
+: SvxUnoTextContent_Base(rContent)
, mrParentText(rContent.mrParentText)
, maDisposeListeners(maDisposeContainerMutex)
, mbDisposing( false )
@@ -158,89 +150,6 @@ SvxUnoTextContent::~SvxUnoTextContent() throw()
{
}
-// uno::XInterface
-uno::Any SAL_CALL SvxUnoTextContent::queryAggregation( const uno::Type & rType ) throw( uno::RuntimeException )
-{
- QUERYINT( text::XTextRange );
- else QUERYINT( beans::XMultiPropertyStates );
- else QUERYINT( beans::XPropertySet );
- else QUERYINT( beans::XMultiPropertySet );
- else QUERYINT( beans::XPropertyState );
- else QUERYINT( text::XTextContent );
- else QUERYINT( text::XTextRangeCompare );
- else QUERYINT( lang::XComponent );
- else QUERYINT( container::XEnumerationAccess );
- else QUERYINT( container::XElementAccess );
- else QUERYINT( lang::XServiceInfo );
- else QUERYINT( lang::XTypeProvider );
- else QUERYINT( lang::XUnoTunnel );
- else
- return OWeakAggObject::queryAggregation( rType );
-}
-
-uno::Any SAL_CALL SvxUnoTextContent::queryInterface( const uno::Type & rType ) throw( uno::RuntimeException )
-{
- return OWeakAggObject::queryInterface(rType);
-}
-
-void SAL_CALL SvxUnoTextContent::acquire() throw( )
-{
- OWeakAggObject::acquire();
-}
-
-void SAL_CALL SvxUnoTextContent::release() throw( )
-{
- OWeakAggObject::release();
-}
-
-// XTypeProvider
-
-namespace
-{
- struct theSvxUnoTextContentTypes :
- public rtl::StaticWithInit<uno::Sequence<uno::Type>, theSvxUnoTextContentTypes>
- {
- uno::Sequence<uno::Type> operator () ()
- {
- uno::Sequence< uno::Type > aTypeSequence;
-
- aTypeSequence.realloc( 11 ); // !DANGER! keep this updated
- uno::Type* pTypes = aTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRange >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertyStates >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertyState >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRangeCompare >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextContent >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< container::XEnumerationAccess >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XServiceInfo >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XTypeProvider >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XUnoTunnel >*)0);
-
- return aTypeSequence;
- }
- };
-}
-
-uno::Sequence< uno::Type > SAL_CALL SvxUnoTextContent::getTypes()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextContentTypes::get();
-}
-
-namespace
-{
- class theSvxUnoTextContentImplementationId : public rtl::Static< UnoTunnelIdInit, theSvxUnoTextContentImplementationId > {};
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL SvxUnoTextContent::getImplementationId()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextContentImplementationId::get().getSeq();
-}
-
// text::XTextRange
uno::Reference< text::XText > SAL_CALL SvxUnoTextContent::getText()
@@ -493,6 +402,18 @@ uno::Any SAL_CALL SvxUnoTextRangeEnumeration::nextElement()
// class SvxUnoTextCursor
// ====================================================================
+SvxUnoTextCursor_Base::SvxUnoTextCursor_Base(SvxUnoTextCursor_Base const & base)
+ throw ():
+ SvxUnoTextCursor_Base0(base)
+{}
+
+SvxUnoTextCursor_Base::SvxUnoTextCursor_Base(SvxUnoTextRangeBase const & base)
+ throw ():
+ SvxUnoTextCursor_Base0(base)
+{}
+
+SvxUnoTextCursor_Base::~SvxUnoTextCursor_Base() throw () {}
+
uno::Reference< uno::XInterface > SvxUnoTextCursor_NewInstance()
{
SvxUnoText aText;
@@ -502,16 +423,13 @@ uno::Reference< uno::XInterface > SvxUnoTextCursor_NewInstance()
}
SvxUnoTextCursor::SvxUnoTextCursor( const SvxUnoTextBase& rText ) throw()
-: SvxUnoTextRangeBase(rText),
+: SvxUnoTextCursor_Base(rText),
mxParentText( const_cast<SvxUnoTextBase*>(&rText) )
{
}
SvxUnoTextCursor::SvxUnoTextCursor( const SvxUnoTextCursor& rCursor ) throw()
-: SvxUnoTextRangeBase(rCursor)
-, text::XTextCursor()
-, lang::XTypeProvider()
-, cppu::OWeakAggObject()
+: SvxUnoTextCursor_Base(rCursor)
, mxParentText(rCursor.mxParentText)
{
}
@@ -520,89 +438,6 @@ SvxUnoTextCursor::~SvxUnoTextCursor() throw()
{
}
-// Comment out automatically - [getIdlClass(es) or queryInterface]
-// Please use the XTypeProvider!
-//sal_Bool SvxUnoTextCursor::queryInterface( uno::Uik aUIK, Reference< uno::XInterface > & xRef)
-uno::Any SAL_CALL SvxUnoTextCursor::queryAggregation( const uno::Type & rType )
- throw(uno::RuntimeException)
-{
- if( rType == ::getCppuType((const uno::Reference< text::XTextRange >*)0) )
- return uno::makeAny(uno::Reference< text::XTextRange >((text::XText*)(this)));
- else QUERYINT( text::XTextCursor );
- else QUERYINT( beans::XMultiPropertyStates );
- else QUERYINT( beans::XPropertySet );
- else QUERYINT( beans::XMultiPropertySet );
- else QUERYINT( beans::XPropertyState );
- else QUERYINT( text::XTextRangeCompare );
- else QUERYINT( lang::XServiceInfo );
- else QUERYINT( lang::XTypeProvider );
- else QUERYINT( lang::XUnoTunnel );
- else
- return OWeakAggObject::queryAggregation( rType );
-}
-
-uno::Any SAL_CALL SvxUnoTextCursor::queryInterface( const uno::Type & rType )
- throw(uno::RuntimeException)
-{
- return OWeakAggObject::queryInterface(rType);
-}
-
-void SAL_CALL SvxUnoTextCursor::acquire() throw ( )
-{
- OWeakAggObject::acquire();
-}
-
-void SAL_CALL SvxUnoTextCursor::release() throw ( )
-{
- OWeakAggObject::release();
-}
-
-namespace
-{
- struct theSvxUnoTextCursorTypes :
- public rtl::StaticWithInit<uno::Sequence<uno::Type>, theSvxUnoTextCursorTypes>
- {
- uno::Sequence<uno::Type> operator () ()
- {
- uno::Sequence< uno::Type > aTypeSequence;
-
- aTypeSequence.realloc( 10 ); // !DANGER! keep this updated
- uno::Type* pTypes = aTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRange >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextCursor >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertySet >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XMultiPropertyStates >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< beans::XPropertyState >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< text::XTextRangeCompare >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XServiceInfo >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XTypeProvider >*)0);
- *pTypes++ = ::getCppuType(( const uno::Reference< lang::XUnoTunnel >*)0);
-
- return aTypeSequence;
- }
- };
-}
-
-// XTypeProvider
-uno::Sequence< uno::Type > SAL_CALL SvxUnoTextCursor::getTypes()
- throw(uno::RuntimeException)
-{
- return theSvxUnoTextCursorTypes::get();
-}
-
-namespace
-{
- class theSvxUnoTextCursorImplementationId : public rtl::Static< UnoTunnelIdInit, theSvxUnoTextCursorImplementationId > {};
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL SvxUnoTextCursor::getImplementationId()
- throw (uno::RuntimeException)
-{
- return theSvxUnoTextCursorImplementationId::get().getSeq();
-}
-
// text::XTextCursor
void SAL_CALL SvxUnoTextCursor::collapseToStart()
throw(uno::RuntimeException)