LCOV - code coverage report
Current view: top level - usr/local/src/libreoffice/forms/source/component - DatabaseForm.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 3 8 37.5 %
Date: 2013-07-09 Functions: 5 10 50.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #ifndef _FRM_DATABASEFORM_HXX_
      21             : #define _FRM_DATABASEFORM_HXX_
      22             : 
      23             : #include "propertybaghelper.hxx"
      24             : #include <com/sun/star/sdbc/XDataSource.hpp>
      25             : #include <com/sun/star/sdb/XSQLErrorListener.hpp>
      26             : #include <com/sun/star/io/XPersistObject.hpp>
      27             : #include <com/sun/star/sdb/XSQLErrorBroadcaster.hpp>
      28             : #include <com/sun/star/form/FormSubmitMethod.hpp>
      29             : #include <com/sun/star/form/FormSubmitEncoding.hpp>
      30             : #include <com/sun/star/form/XSubmit.hpp>
      31             : #include <com/sun/star/form/XReset.hpp>
      32             : #include <com/sun/star/form/XDatabaseParameterBroadcaster2.hpp>
      33             : #include <com/sun/star/sdb/XCompletedExecution.hpp>
      34             : #include <com/sun/star/sdbc/XRowSet.hpp>
      35             : #include <com/sun/star/sdbcx/XDeleteRows.hpp>
      36             : #include <com/sun/star/sdbc/XResultSetUpdate.hpp>
      37             : #include <com/sun/star/sdb/XRowSetApproveListener.hpp>
      38             : #include <com/sun/star/sdb/XRowSetApproveBroadcaster.hpp>
      39             : #include <com/sun/star/form/NavigationBarMode.hpp>
      40             : #include <com/sun/star/form/XLoadable.hpp>
      41             : #include <com/sun/star/form/XLoadListener.hpp>
      42             : #include <com/sun/star/form/XForm.hpp>
      43             : #include <com/sun/star/awt/XTabControllerModel.hpp>
      44             : #include <com/sun/star/script/XEventAttacherManager.hpp>
      45             : #include <com/sun/star/sdbc/XRowSetListener.hpp>
      46             : #include <com/sun/star/sdb/XResultSetAccess.hpp>
      47             : #include <com/sun/star/sdbc/XCloseable.hpp>
      48             : #include <com/sun/star/container/XNamed.hpp>
      49             : #include <com/sun/star/lang/XServiceInfo.hpp>
      50             : #include <com/sun/star/sdbc/XParameters.hpp>
      51             : #include <com/sun/star/sdbc/XConnection.hpp>
      52             : #include <com/sun/star/task/XInteractionHandler.hpp>
      53             : #include <com/sun/star/beans/XPropertyContainer.hpp>
      54             : #include <com/sun/star/beans/XPropertyAccess.hpp>
      55             : #include <com/sun/star/sdbc/XWarningsSupplier.hpp>
      56             : 
      57             : 
      58             : #include <tools/link.hxx>
      59             : #include "InterfaceContainer.hxx"
      60             : 
      61             : #include <connectivity/parameters.hxx>
      62             : #include <connectivity/filtermanager.hxx>
      63             : #include <connectivity/warningscontainer.hxx>
      64             : 
      65             : #include "listenercontainers.hxx"
      66             : #include "ids.hxx"
      67             : #include <comphelper/propmultiplex.hxx>
      68             : #include <comphelper/uno3.hxx>
      69             : #include <comphelper/proparrhlp.hxx>
      70             : #include <cppuhelper/implbase12.hxx>
      71             : #include <cppuhelper/implbase4.hxx>
      72             : #include <cppuhelper/implbase7.hxx>
      73             : 
      74             : namespace com { namespace sun { namespace star { namespace sdbc {
      75             :     class SQLException;
      76             : } } } }
      77             : 
      78             : class Timer;
      79             : class INetMIMEMessage;
      80             : 
      81             : //.........................................................................
      82             : namespace frm
      83             : {
      84             : //.........................................................................
      85             : 
      86             : //========================================================================
      87             : //= html tools
      88             : //========================================================================
      89             : 
      90             : const sal_uInt16 SUCCESSFUL_REPRESENT_TEXT          = 0x0001;
      91             : const sal_uInt16 SUCCESSFUL_REPRESENT_FILE          = 0x0002;
      92             : 
      93             : //------------------------------------------------------------------------------
      94           0 : class HtmlSuccessfulObj
      95             : {
      96             : public:
      97             :     OUString     aName;
      98             :     OUString     aValue;
      99             :     sal_uInt16          nRepresentation;
     100             : 
     101           0 :     HtmlSuccessfulObj( const OUString& _rName, const OUString& _rValue,
     102             :         sal_uInt16 _nRepresent = SUCCESSFUL_REPRESENT_TEXT )
     103             :         :aName( _rName )
     104             :         ,aValue( _rValue )
     105           0 :         ,nRepresentation( _nRepresent )
     106             :     {
     107           0 :     }
     108             : 
     109             :     HtmlSuccessfulObj()
     110             :     {
     111             :     }
     112             : };
     113             : 
     114             : 
     115             : DECLARE_STL_VECTOR(HtmlSuccessfulObj, HtmlSuccessfulObjList);
     116             : 
     117             : //========================================================================
     118             : class OGroupManager;
     119             : class OFormSubmitResetThread;
     120             : typedef ::cppu::ImplHelper12    <   ::com::sun::star::form::XForm
     121             :                                 ,   ::com::sun::star::awt::XTabControllerModel
     122             :                                 ,   ::com::sun::star::form::XLoadListener
     123             :                                 ,   ::com::sun::star::sdbc::XRowSetListener
     124             :                                 ,   ::com::sun::star::sdb::XRowSetApproveListener
     125             :                                 ,   ::com::sun::star::form::XDatabaseParameterBroadcaster2
     126             :                                 ,   ::com::sun::star::sdb::XSQLErrorListener
     127             :                                 ,   ::com::sun::star::sdb::XSQLErrorBroadcaster
     128             :                                 ,   ::com::sun::star::form::XReset
     129             :                                 ,   ::com::sun::star::form::XSubmit
     130             :                                 ,   ::com::sun::star::form::XLoadable
     131             :                                 ,   ::com::sun::star::container::XNamed
     132             :                                 >   ODatabaseForm_BASE1;
     133             : 
     134             : 
     135             : typedef ::cppu::ImplHelper4 <   ::com::sun::star::lang::XServiceInfo
     136             :                             ,   ::com::sun::star::beans::XPropertyContainer
     137             :                             ,   ::com::sun::star::beans::XPropertyAccess
     138             :                             ,   ::com::sun::star::sdbc::XWarningsSupplier
     139             :                             >   ODatabaseForm_BASE2;
     140             : 
     141             : typedef ::cppu::ImplHelper7<    ::com::sun::star::sdbc::XCloseable,
     142             :                                 ::com::sun::star::sdbc::XRowSet,
     143             :                                 ::com::sun::star::sdb::XCompletedExecution,
     144             :                                 ::com::sun::star::sdb::XRowSetApproveBroadcaster,
     145             :                                 ::com::sun::star::sdbc::XResultSetUpdate,
     146             :                                 ::com::sun::star::sdbcx::XDeleteRows,
     147             :                                 ::com::sun::star::sdbc::XParameters > ODatabaseForm_BASE3;
     148             : 
     149             : 
     150             : class ODatabaseForm :public OFormComponents
     151             :                     ,public OPropertySetAggregationHelper
     152             :                     ,public OPropertyChangeListener
     153             :                     ,public ODatabaseForm_BASE1
     154             :                     ,public ODatabaseForm_BASE2
     155             :                     ,public ODatabaseForm_BASE3
     156             :                     ,public IPropertyBagHelperContext
     157             : {
     158             :     friend class OFormSubmitResetThread;
     159             : 
     160             :     OImplementationIdsRef               m_aHoldIdHelper;
     161             : 
     162             :         // listener administration
     163             :     ::cppu::OInterfaceContainerHelper   m_aLoadListeners;
     164             :     ::cppu::OInterfaceContainerHelper   m_aRowSetApproveListeners;
     165             :     ::cppu::OInterfaceContainerHelper   m_aRowSetListeners;
     166             :     ::cppu::OInterfaceContainerHelper   m_aSubmitListeners;
     167             :     ::cppu::OInterfaceContainerHelper   m_aErrorListeners;
     168             :     ResetListeners                      m_aResetListeners;
     169             :     ::osl::Mutex                        m_aResetSafety;
     170             :     ::com::sun::star::uno::Any          m_aCycle;
     171             :     ::com::sun::star::uno::Any          m_aIgnoreResult; // set when we are a subform and our master form positioned on a new row
     172             :     ::com::sun::star::uno::Sequence< OUString >                      m_aMasterFields;
     173             :     ::com::sun::star::uno::Sequence< OUString >                      m_aDetailFields;
     174             : 
     175             :     // the object doin' most of the work - an SDB-rowset
     176             :     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation>      m_xAggregate;
     177             :     // same object, interface as member because of performance reasons
     178             :     ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>          m_xAggregateAsRowSet;
     179             : 
     180             :     PropertyBagHelper           m_aPropertyBagHelper;
     181             :     ::dbtools::WarningsContainer    m_aWarnings;
     182             :     OPropertyChangeMultiplexer* m_pAggregatePropertyMultiplexer;
     183             :     // Verwaltung der ControlGruppen
     184             :     OGroupManager*              m_pGroupManager;
     185             :     ::dbtools::ParameterManager m_aParameterManager;
     186             :     ::dbtools::FilterManager    m_aFilterManager;
     187             :     Timer*                      m_pLoadTimer;
     188             : 
     189             :     OFormSubmitResetThread*     m_pThread;
     190             :     OUString             m_sCurrentErrorContext;
     191             :                 // will be used as additional context information
     192             :                 // when an exception is catched and forwarded to the listeners
     193             : 
     194             :     sal_Int32                       m_nResetsPending;
     195             : //  <overwritten_properties>
     196             :     sal_Int32                   m_nPrivileges;
     197             :     sal_Bool                    m_bInsertOnly;
     198             : //  </overwritten_properties>
     199             : 
     200             : //  <properties>
     201             :     ::com::sun::star::uno::Any  m_aControlBorderColorFocus;
     202             :     ::com::sun::star::uno::Any  m_aControlBorderColorMouse;
     203             :     ::com::sun::star::uno::Any  m_aControlBorderColorInvalid;
     204             :     ::com::sun::star::uno::Any  m_aDynamicControlBorder;
     205             :     OUString             m_sName;
     206             :     OUString             m_aTargetURL;
     207             :     OUString             m_aTargetFrame;
     208             :     ::com::sun::star::form::FormSubmitMethod    m_eSubmitMethod;
     209             :     ::com::sun::star::form::FormSubmitEncoding  m_eSubmitEncoding;
     210             :     ::com::sun::star::form::NavigationBarMode   m_eNavigation;
     211             :     sal_Bool                    m_bAllowInsert : 1;
     212             :     sal_Bool                    m_bAllowUpdate : 1;
     213             :     sal_Bool                    m_bAllowDelete : 1;
     214             : //  </properties>
     215             :     sal_Bool                    m_bLoaded : 1;
     216             :     sal_Bool                    m_bSubForm : 1;
     217             :     sal_Bool                    m_bForwardingConnection : 1;    // sal_True if we're setting the ActiveConnection on the aggregate
     218             :     sal_Bool                    m_bSharingConnection : 1;       // sal_True if the connection we're using is shared with out parent
     219             : 
     220             : public:
     221             :     ODatabaseForm(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext>& _rxFactory);
     222             :     ODatabaseForm( const ODatabaseForm& _cloneSource );
     223             :     ~ODatabaseForm();
     224             : 
     225             :     // UNO binding
     226      157044 :     DECLARE_UNO3_AGG_DEFAULTS(ODatabaseForm, OFormComponents);
     227             :     virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation(const ::com::sun::star::uno::Type& _rType) throw(::com::sun::star::uno::RuntimeException);
     228             : 
     229             :     // XTypeProvider
     230             :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type> SAL_CALL getTypes(  ) throw(::com::sun::star::uno::RuntimeException);
     231             :     virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL getImplementationId(  ) throw(::com::sun::star::uno::RuntimeException);
     232             : 
     233             :     // ::com::sun::star::lang::XComponent
     234             :     virtual void SAL_CALL disposing();
     235             : 
     236             :     // property handling
     237             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
     238             :     virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
     239             :     virtual void SAL_CALL getFastPropertyValue(::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const;
     240             :     virtual sal_Bool SAL_CALL convertFastPropertyValue(::com::sun::star::uno::Any& rConvertedValue, ::com::sun::star::uno::Any& rOldValue, sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::lang::IllegalArgumentException);
     241             :     virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue) throw ( ::com::sun::star::uno::Exception );
     242             : 
     243             :     ::com::sun::star::uno::Any  SAL_CALL getFastPropertyValue( sal_Int32 nHandle )
     244             :        throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     245             :     void fire( sal_Int32 * pnHandles, const ::com::sun::star::uno::Any * pNewValues, const ::com::sun::star::uno::Any * pOldValues, sal_Int32 nCount, sal_Bool bVetoable );
     246             : 
     247             :     // IPropertyBagHelperContext
     248             :     virtual ::osl::Mutex&   getMutex();
     249             :     virtual void            describeFixedAndAggregateProperties(
     250             :         ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property >& _out_rFixedProperties,
     251             :         ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property >& _out_rAggregateProperties
     252             :     ) const;
     253             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertySet >
     254             :                             getPropertiesInterface();
     255             : 
     256             :     // com::sun::star::beans::XPropertyState
     257             :     virtual ::com::sun::star::beans::PropertyState getPropertyStateByHandle(sal_Int32 nHandle);
     258             :     virtual void setPropertyToDefaultByHandle(sal_Int32 nHandle);
     259             :     virtual ::com::sun::star::uno::Any getPropertyDefaultByHandle(sal_Int32 nHandle) const;
     260             : 
     261             :     // com::sun::star::sdbc::XSQLErrorBroadcaster
     262             :     virtual void SAL_CALL addSQLErrorListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLErrorListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     263             :     virtual void SAL_CALL removeSQLErrorListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLErrorListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     264             : 
     265             :     // com::sun::star::form::XForm
     266             :     // nothing to implement
     267             : 
     268             :     // com::sun::star::form::XReset
     269             :     virtual void SAL_CALL reset() throw(::com::sun::star::uno::RuntimeException);
     270             :     virtual void SAL_CALL addResetListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XResetListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     271             :     virtual void SAL_CALL removeResetListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XResetListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     272             : 
     273             :     // com::sun::star::form::XSubmit
     274             :     virtual void SAL_CALL submit(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& aControl, const ::com::sun::star::awt::MouseEvent& aMouseEvt) throw(::com::sun::star::uno::RuntimeException);
     275             :     virtual void SAL_CALL addSubmitListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XSubmitListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     276             :     virtual void SAL_CALL removeSubmitListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XSubmitListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     277             : 
     278             :     // com::sun::star::container::XChild
     279        1492 :     virtual InterfaceRef SAL_CALL getParent() throw ( ::com::sun::star::uno::RuntimeException) { return OFormComponents::getParent(); }
     280             :     virtual void SAL_CALL setParent(const InterfaceRef& Parent) throw ( :: com::sun::star::lang::NoSupportException , ::com::sun::star::uno::RuntimeException);
     281             : 
     282             :     // com::sun::star::container::XNamed
     283             :     virtual OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException);
     284             :     virtual void SAL_CALL setName(const OUString& aName) throw(::com::sun::star::uno::RuntimeException);
     285             : 
     286             :     // com::sun::star::awt::XTabControllerModel
     287             :     virtual sal_Bool SAL_CALL getGroupControl() throw(::com::sun::star::uno::RuntimeException);
     288           0 :     virtual void SAL_CALL setGroupControl(sal_Bool /*_bGroupControl*/) throw(::com::sun::star::uno::RuntimeException) { }
     289             :     virtual void SAL_CALL setControlModels(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > >& _rControls) throw(::com::sun::star::uno::RuntimeException);
     290             :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > > SAL_CALL getControlModels() throw(::com::sun::star::uno::RuntimeException);
     291             :     virtual void SAL_CALL setGroup(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > >& _rGroup, const OUString& _rGroupName) throw(::com::sun::star::uno::RuntimeException);
     292             :     virtual sal_Int32 SAL_CALL getGroupCount() throw(::com::sun::star::uno::RuntimeException);
     293             :     virtual void SAL_CALL getGroup(sal_Int32 _nGroup, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > >& _rxGroup, OUString& _rName) throw(::com::sun::star::uno::RuntimeException);
     294             :     virtual void SAL_CALL getGroupByName(const OUString& _rName, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > >& _rxGroup) throw(::com::sun::star::uno::RuntimeException);
     295             : 
     296             :     // com::sun::star::lang::XEventListener
     297             :     virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& _rSource) throw(::com::sun::star::uno::RuntimeException);
     298             : 
     299             :     // com::sun::star::form::XLoadListener
     300             :     virtual void SAL_CALL loaded(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
     301             :     virtual void SAL_CALL unloading(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
     302             :     virtual void SAL_CALL unloaded(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
     303             :     virtual void SAL_CALL reloading(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
     304             :     virtual void SAL_CALL reloaded(const ::com::sun::star::lang::EventObject& aEvent) throw(::com::sun::star::uno::RuntimeException);
     305             : 
     306             :     // com::sun::star::form::XLoadable
     307             :     virtual void SAL_CALL load() throw(::com::sun::star::uno::RuntimeException);
     308             :     virtual void SAL_CALL unload() throw(::com::sun::star::uno::RuntimeException);
     309             :     virtual void SAL_CALL reload() throw(::com::sun::star::uno::RuntimeException);
     310             :     virtual sal_Bool SAL_CALL isLoaded() throw(::com::sun::star::uno::RuntimeException);
     311             :     virtual void SAL_CALL addLoadListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XLoadListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     312             :     virtual void SAL_CALL removeLoadListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XLoadListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     313             : 
     314             :     // com::sun::star::sdbc::XCloseable
     315             :     virtual void SAL_CALL close() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     316             : 
     317             :     // com::sun::star::sdbc::XRowSetListener
     318             :     virtual void SAL_CALL cursorMoved(const ::com::sun::star::lang::EventObject& event) throw(::com::sun::star::uno::RuntimeException);
     319             :     virtual void SAL_CALL rowChanged(const ::com::sun::star::lang::EventObject& event) throw(::com::sun::star::uno::RuntimeException);
     320             :     virtual void SAL_CALL rowSetChanged(const ::com::sun::star::lang::EventObject& event) throw(::com::sun::star::uno::RuntimeException);
     321             : 
     322             :     // com::sun::star::sdb::XRowSetApproveListener
     323             :     virtual sal_Bool SAL_CALL approveCursorMove(const ::com::sun::star::lang::EventObject& event) throw(::com::sun::star::uno::RuntimeException);
     324             :     virtual sal_Bool SAL_CALL approveRowChange(const ::com::sun::star::sdb::RowChangeEvent& event) throw(::com::sun::star::uno::RuntimeException);
     325             :     virtual sal_Bool SAL_CALL approveRowSetChange(const ::com::sun::star::lang::EventObject& event) throw(::com::sun::star::uno::RuntimeException);
     326             : 
     327             :     // com::sun::star::sdb::XRowSetApproveBroadcaster
     328             :     virtual void SAL_CALL addRowSetApproveListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     329             :     virtual void SAL_CALL removeRowSetApproveListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     330             : 
     331             :     // com::sun:star::form::XDatabaseParameterBroadcaster2
     332             :     virtual void SAL_CALL addDatabaseParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     333             :     virtual void SAL_CALL removeDatabaseParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     334             : 
     335             :     // com::sun:star::form::XDatabaseParameterBroadcaster
     336             :     virtual void SAL_CALL addParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     337             :     virtual void SAL_CALL removeParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     338             : 
     339             :     // com::sun::star::sdbc::XRowSet
     340             :     virtual void SAL_CALL execute() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     341             :     virtual void SAL_CALL addRowSetListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     342             :     virtual void SAL_CALL removeRowSetListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener>& _rxListener) throw(::com::sun::star::uno::RuntimeException);
     343             : 
     344             :     // com::sun::star::sdb::XCompletedExecution
     345             :     virtual void SAL_CALL executeWithCompletion( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& handler ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     346             : 
     347             :     // com::sun::star::sdbc::XResultSet
     348             :     virtual sal_Bool SAL_CALL next() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     349             :     virtual sal_Bool SAL_CALL isBeforeFirst() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     350             :     virtual sal_Bool SAL_CALL isAfterLast() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     351             :     virtual sal_Bool SAL_CALL isFirst() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     352             :     virtual sal_Bool SAL_CALL isLast() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     353             :     virtual void SAL_CALL beforeFirst() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     354             :     virtual void SAL_CALL afterLast() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     355             :     virtual sal_Bool SAL_CALL first() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     356             :     virtual sal_Bool SAL_CALL last() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     357             :     virtual sal_Int32 SAL_CALL getRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     358             :     virtual sal_Bool SAL_CALL absolute(sal_Int32 row) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     359             :     virtual sal_Bool SAL_CALL relative(sal_Int32 rows) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     360             :     virtual sal_Bool SAL_CALL previous() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     361             :     virtual void SAL_CALL refreshRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     362             :     virtual sal_Bool SAL_CALL rowUpdated() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     363             :     virtual sal_Bool SAL_CALL rowInserted() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     364             :     virtual sal_Bool SAL_CALL rowDeleted() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     365             :     virtual InterfaceRef SAL_CALL getStatement() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     366             : 
     367             :     // com::sun::star::sdbc::XResultSetUpdate
     368             :     virtual void SAL_CALL insertRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     369             :     virtual void SAL_CALL updateRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     370             :     virtual void SAL_CALL deleteRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     371             :     virtual void SAL_CALL cancelRowUpdates() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     372             :     virtual void SAL_CALL moveToInsertRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     373             :     virtual void SAL_CALL moveToCurrentRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     374             : 
     375             :     // com::sun::star::sdbcx::XDeleteRows
     376             :     virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL deleteRows(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any>& rows) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     377             : 
     378             :     // com::sun::star::lang::XServiceInfo
     379             :     virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName)  throw(::com::sun::star::uno::RuntimeException);
     380             :     virtual OUString SAL_CALL getImplementationName()  throw(::com::sun::star::uno::RuntimeException);
     381             :     virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()  throw(::com::sun::star::uno::RuntimeException);
     382             : 
     383             :     // com::sun::star::lang::XServiceInfo - static version
     384             :     static  OUString SAL_CALL getImplementationName_Static();
     385             :     static  ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames_Static();
     386             :     static  ::com::sun::star::uno::Sequence< OUString > SAL_CALL getCurrentServiceNames_Static();
     387             :     static  ::com::sun::star::uno::Sequence< OUString > SAL_CALL getCompatibleServiceNames_Static();
     388             :     static  ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL Create( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory );
     389             : 
     390             :     // com::sun::star::io::XPersistObject
     391             :     virtual OUString SAL_CALL getServiceName() throw(::com::sun::star::uno::RuntimeException);
     392             :     virtual void SAL_CALL write(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectOutputStream>& _rxOutStream) throw(::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
     393             :     virtual void SAL_CALL read(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectInputStream>& _rxInStream) throw(::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
     394             : 
     395             :     // com::sun::star::sdbc::XSQLErrorListener
     396             :     virtual void SAL_CALL errorOccured(const ::com::sun::star::sdb::SQLErrorEvent& aEvent) throw(::com::sun::star::uno::RuntimeException);
     397             : 
     398             :     // com::sun::star::sdbc::XParameters
     399             :     virtual void SAL_CALL setNull(sal_Int32 parameterIndex, sal_Int32 sqlType) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     400             :     virtual void SAL_CALL setObjectNull(sal_Int32 parameterIndex, sal_Int32 sqlType, const OUString& typeName) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     401             :     virtual void SAL_CALL setBoolean(sal_Int32 parameterIndex, sal_Bool x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     402             :     virtual void SAL_CALL setByte(sal_Int32 parameterIndex, sal_Int8 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     403             :     virtual void SAL_CALL setShort(sal_Int32 parameterIndex, sal_Int16 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     404             :     virtual void SAL_CALL setInt(sal_Int32 parameterIndex, sal_Int32 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     405             :     virtual void SAL_CALL setLong(sal_Int32 parameterIndex, sal_Int64 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     406             :     virtual void SAL_CALL setFloat(sal_Int32 parameterIndex, float x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     407             :     virtual void SAL_CALL setDouble(sal_Int32 parameterIndex, double x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     408             :     virtual void SAL_CALL setString(sal_Int32 parameterIndex, const OUString& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     409             :     virtual void SAL_CALL setBytes(sal_Int32 parameterIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     410             :     virtual void SAL_CALL setDate(sal_Int32 parameterIndex, const ::com::sun::star::util::Date& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     411             :     virtual void SAL_CALL setTime(sal_Int32 parameterIndex, const ::com::sun::star::util::Time& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     412             :     virtual void SAL_CALL setTimestamp(sal_Int32 parameterIndex, const ::com::sun::star::util::DateTime& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     413             :     virtual void SAL_CALL setBinaryStream(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream>& x, sal_Int32 length) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     414             :     virtual void SAL_CALL setCharacterStream(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream>& x, sal_Int32 length) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     415             :     virtual void SAL_CALL setObject(sal_Int32 parameterIndex, const ::com::sun::star::uno::Any& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     416             :     virtual void SAL_CALL setObjectWithInfo(sal_Int32 parameterIndex, const ::com::sun::star::uno::Any& x, sal_Int32 targetSqlType, sal_Int32 scale) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     417             :     virtual void SAL_CALL setRef(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef>& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     418             :     virtual void SAL_CALL setBlob(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob>& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     419             :     virtual void SAL_CALL setClob(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob>& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     420             :     virtual void SAL_CALL setArray(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray>& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     421             :     virtual void SAL_CALL clearParameters() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     422             : 
     423             :     // XPropertyChangeListener
     424             :     virtual void SAL_CALL propertyChange( const ::com::sun::star::beans::PropertyChangeEvent& evt ) throw (::com::sun::star::uno::RuntimeException);
     425             : 
     426             :     // XPropertyContainer
     427             :     virtual void SAL_CALL addProperty( const OUString& Name, ::sal_Int16 Attributes, const ::com::sun::star::uno::Any& DefaultValue ) throw (::com::sun::star::beans::PropertyExistException, ::com::sun::star::beans::IllegalTypeException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
     428             :     virtual void SAL_CALL removeProperty( const OUString& Name ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::NotRemoveableException, ::com::sun::star::uno::RuntimeException);
     429             : 
     430             :     // XPropertyAccess
     431             :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getPropertyValues(  ) throw (::com::sun::star::uno::RuntimeException);
     432             :     virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aProps ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     433             :     using OPropertySetAggregationHelper::setPropertyValues;
     434             : 
     435             :     // XWarningsSupplier
     436             :     virtual ::com::sun::star::uno::Any SAL_CALL getWarnings(  ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     437             :     virtual void SAL_CALL clearWarnings(  ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
     438             : 
     439             :     // XCloneable
     440             :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone(  ) throw (::com::sun::star::uno::RuntimeException);
     441             : 
     442             :     inline void submitNBC( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& Control, const ::com::sun::star::awt::MouseEvent& MouseEvt );
     443             : 
     444             : protected:
     445             :     // OPropertySetAggregationHelper overridables
     446             :     virtual void SAL_CALL forwardingPropertyValue( sal_Int32 _nHandle );
     447             :     virtual void SAL_CALL forwardedPropertyValue( sal_Int32 _nHandle, bool _bSuccess );
     448             : 
     449             :     // OInterfaceContainer overridables
     450             :     virtual void implInserted( const ElementDescription* _pElement );
     451             :     virtual void implRemoved(const InterfaceRef& _rxObject);
     452             : 
     453             :     // OPropertyChangeListener
     454             :     virtual void _propertyChanged( const ::com::sun::star::beans::PropertyChangeEvent& ) throw(::com::sun::star::uno::RuntimeException);
     455             : 
     456             : private:
     457             :     sal_Bool executeRowSet(::osl::ResettableMutexGuard& _rClearForNotifies, sal_Bool bMoveToFirst = sal_True,
     458             :                     const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxCompletionHandler = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >());
     459             :     bool    fillParameters(::osl::ResettableMutexGuard& _rClearForNotifies,
     460             :                     const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxCompletionHandler = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >());
     461             :     void    updateParameterInfo();
     462             :     bool    hasValidParent() const;
     463             : 
     464             :     // impl methods
     465             :     void    load_impl(sal_Bool bCausedByParentForm, sal_Bool bMoveToFirst = sal_True,
     466             :         const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxCompletionHandler = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >())
     467             :         throw(::com::sun::star::uno::RuntimeException);
     468             :     void    reload_impl(sal_Bool bMoveToFirst,
     469             :         const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxCompletionHandler = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >())
     470             :         throw(::com::sun::star::uno::RuntimeException);
     471             :     void    submit_impl(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& Control, const ::com::sun::star::awt::MouseEvent& MouseEvt, bool _bAproveByListeners);
     472             :     void    reset_impl(bool _bAproveByListeners);
     473             : 
     474             :     sal_Bool    implEnsureConnection();
     475             : 
     476             :     // connection sharing
     477             : 
     478             :     /// checks if we can re-use (aka share) the connection of the given parent
     479             :     sal_Bool    canShareConnection( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxParentProps );
     480             : 
     481             :     /// starts sharing the connection with the parent
     482             :     void        doShareConnection( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxParentProps );
     483             : 
     484             :     /// stops sharing the connection with the parent
     485             :     void        stopSharingConnection( );
     486             : 
     487             :     /// called when the connection which we share with our parent is beeing disposed
     488             :     void        disposingSharedConnection( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConn );
     489             : 
     490             :     /// checks if we currently share our connection with our parent
     491          37 :     sal_Bool    isSharingConnection( ) const { return m_bSharingConnection; }
     492             : 
     493             :     /** calls our row set approval listeners
     494             : 
     495             :         @param _rEvent
     496             :             the event to notify
     497             :         @param _bAllowSQLException
     498             :             <TRUE/> if SQLExceptions are allowed to leave the method
     499             :         @param _rGuard
     500             :             the guard to be cleared before actually calling into the listeners, but after making
     501             :             a copy of the listeners array to operate on.
     502             :         @return
     503             :             <TRUE/> if and only if the execution has been approved
     504             :     */
     505             :     bool    impl_approveRowChange_throw(
     506             :         const ::com::sun::star::lang::EventObject& _rEvent,
     507             :         const bool _bAllowSQLException,
     508             :         ::osl::ClearableMutexGuard& _rGuard
     509             :     );
     510             : 
     511             :     /// invalidate all our parameter-related stuff
     512             :     void        invlidateParameters();
     513             : 
     514             :     void        saveInsertOnlyState( );
     515             :     void        restoreInsertOnlyState( );
     516             : 
     517             :     // error handling
     518             :     void    onError(const ::com::sun::star::sdb::SQLErrorEvent& _rEvent);
     519             :     void    onError(const ::com::sun::star::sdbc::SQLException&, const OUString& _rContextDescription);
     520             : 
     521             :     // html tools
     522             :     OUString         GetDataEncoded(bool _bURLEncoded,const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& SubmitButton, const ::com::sun::star::awt::MouseEvent& MouseEvt);
     523             :     OUString         GetDataURLEncoded(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& SubmitButton, const ::com::sun::star::awt::MouseEvent& MouseEvt);
     524             :     OUString         GetDataTextEncoded(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& SubmitButton, const ::com::sun::star::awt::MouseEvent& MouseEvt);
     525             :     ::com::sun::star::uno::Sequence<sal_Int8>   GetDataMultiPartEncoded(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& SubmitButton, const ::com::sun::star::awt::MouseEvent& MouseEvt,
     526             :                                              OUString& rContentType);
     527             : 
     528             :     void AppendComponent(HtmlSuccessfulObjList& rList, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& xComponentSet, const OUString& rNamePrefix,
     529             :                      const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& rxSubmitButton, const ::com::sun::star::awt::MouseEvent& MouseEvt);
     530             : 
     531             :     void FillSuccessfulList(HtmlSuccessfulObjList& rList, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& rxSubmitButton, const ::com::sun::star::awt::MouseEvent& MouseEvt);
     532             : 
     533             :     void InsertTextPart(INetMIMEMessage& rParent, const OUString& rName, const OUString& rData);
     534             :     sal_Bool InsertFilePart(INetMIMEMessage& rParent, const OUString& rName, const OUString& rFileName);
     535             :     void Encode(OUString& rString) const;
     536             : 
     537             :     ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > getConnection();
     538             : 
     539             :     void    impl_createLoadTimer();
     540             : 
     541             :     void    impl_construct();
     542             : 
     543             :     DECL_LINK( OnTimeout, void* );
     544             : protected:
     545             :     using OPropertySetHelper::getPropertyValues;
     546             : };
     547             : 
     548             : inline void ODatabaseForm::submitNBC(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& Control, const ::com::sun::star::awt::MouseEvent& MouseEvt)
     549             : {
     550             :     submit_impl(Control, MouseEvt, sal_False);
     551             : }
     552             : 
     553             : //.........................................................................
     554             : }   // namespace frm
     555             : //.........................................................................
     556             : 
     557             : #endif // _FRM_DATABASEFORM_HXX_
     558             : 
     559             : 
     560             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10