From ce8633f273a9963f6585261b6c522b854fd34589 Mon Sep 17 00:00:00 2001 From: sb Date: Tue, 4 Aug 2009 10:36:31 +0200 Subject: #i101955# consolidating xcs/xcu files in xcd files (for now in new postprocess/packregistry); extended configmgr2 to search for multiple xcd files per layer; removed some (relative, wrong) DOCTYPE SYSTEM paths from xcu files to avoid xsltproc warnings; extended scp2 EXTRA_ALL_LANG to work with extensions other than zip (i.e., xcd) --- extensions/source/oooimprovement/Jobs.xcu | 1 - 1 file changed, 1 deletion(-) (limited to 'extensions') diff --git a/extensions/source/oooimprovement/Jobs.xcu b/extensions/source/oooimprovement/Jobs.xcu index 438ab2d23e8e..206d83dd7eb2 100644 --- a/extensions/source/oooimprovement/Jobs.xcu +++ b/extensions/source/oooimprovement/Jobs.xcu @@ -1,5 +1,4 @@ - -- cgit From a6f7d824766bc20c3e7ade1ac57c261a713e675f Mon Sep 17 00:00:00 2001 From: sb Date: Fri, 4 Sep 2009 12:24:40 +0200 Subject: merged in DEV300_m57 --- extensions/source/abpilot/makefile.mk | 1 + extensions/source/activex/main/SOActiveX.h | 2 +- extensions/source/dbpilots/listcombowizard.cxx | 3 - extensions/source/ole/oleobjw.hxx | 6 +- extensions/source/oooimprovecore/makefile.mk | 1 + extensions/source/oooimprovement/config.cxx | 2 + extensions/source/oooimprovement/config.hxx | 2 + .../source/oooimprovement/corecontroller.cxx | 12 - .../source/oooimprovement/corecontroller.hxx | 4 +- extensions/source/oooimprovement/invite_job.cxx | 16 +- extensions/source/oooimprovement/invite_job.hxx | 4 +- .../oooimprovement/myconfigurationhelper.cxx | 27 - .../oooimprovement/myconfigurationhelper.hxx | 34 -- extensions/source/oooimprovement/soaprequest.cxx | 21 +- .../source/propctrlr/eformspropertyhandler.cxx | 12 + .../source/propctrlr/eformspropertyhandler.hxx | 2 + extensions/source/propctrlr/makefile.mk | 1 + extensions/source/scanner/sanedlg.cxx | 13 + extensions/source/scanner/scanunx.cxx | 9 +- extensions/source/update/check/updatecheckjob.cxx | 62 ++- extensions/util/hidother.src | 570 +++++++++++++-------- 21 files changed, 482 insertions(+), 322 deletions(-) (limited to 'extensions') diff --git a/extensions/source/abpilot/makefile.mk b/extensions/source/abpilot/makefile.mk index 85a19ade9996..8830b9144409 100644 --- a/extensions/source/abpilot/makefile.mk +++ b/extensions/source/abpilot/makefile.mk @@ -94,6 +94,7 @@ SHL1STDLIBS= \ $(COMPHELPERLIB) \ $(TKLIB) \ $(UNOTOOLSLIB) \ + $(SVXCORELIB) \ $(SVXLIB) SHL1LIBS= $(SLB)$/$(TARGET).lib diff --git a/extensions/source/activex/main/SOActiveX.h b/extensions/source/activex/main/SOActiveX.h index f7017d582be9..2bf33f96b4e9 100644 --- a/extensions/source/activex/main/SOActiveX.h +++ b/extensions/source/activex/main/SOActiveX.h @@ -163,7 +163,7 @@ public: HRESULT GetUrlStruct( OLECHAR* sUrl, CComPtr& pdispUrl ); HRESULT Cleanup(); HRESULT TerminateOffice(); - HRESULT CSOActiveX::GetURL( const OLECHAR* url, + HRESULT GetURL( const OLECHAR* url, const OLECHAR* target ); void CallbackCreateXInputStream( CBindStatusCallback* pbsc, BYTE* pBytes, DWORD dwSize ); diff --git a/extensions/source/dbpilots/listcombowizard.cxx b/extensions/source/dbpilots/listcombowizard.cxx index 7b36f27626c4..f86b284b72fd 100644 --- a/extensions/source/dbpilots/listcombowizard.cxx +++ b/extensions/source/dbpilots/listcombowizard.cxx @@ -223,9 +223,6 @@ namespace dbp // the bound field getContext().xObjectModel->setPropertyValue(::rtl::OUString::createFromAscii("DataField"), makeAny(::rtl::OUString(getSettings().sLinkedFormField))); - - // by default, create a drop down control - getContext().xObjectModel->setPropertyValue(::rtl::OUString::createFromAscii("Dropdown"), ::cppu::bool2any(sal_True)); } catch(Exception&) { diff --git a/extensions/source/ole/oleobjw.hxx b/extensions/source/ole/oleobjw.hxx index 2addf2f037a7..255d66f46ea8 100644 --- a/extensions/source/ole/oleobjw.hxx +++ b/extensions/source/ole/oleobjw.hxx @@ -32,8 +32,10 @@ #define __OLEOBJW_HXX #include "ole2uno.hxx" +#ifdef _MSC_VER #pragma warning (push,1) #pragma warning (disable:4548) +#endif #include #define _WIN32_WINNT 0x0400 @@ -46,7 +48,9 @@ #include #include +#ifdef _MSC_VER #pragma warning (pop) +#endif #include #include @@ -88,7 +92,7 @@ public: ~IUnknownWrapper_Impl(); //XInterface - Any SAL_CALL IUnknownWrapper_Impl::queryInterface(const Type& t) + Any SAL_CALL queryInterface(const Type& t) throw (RuntimeException); // XInvokation diff --git a/extensions/source/oooimprovecore/makefile.mk b/extensions/source/oooimprovecore/makefile.mk index 53de4e333994..74a9ad9aee19 100644 --- a/extensions/source/oooimprovecore/makefile.mk +++ b/extensions/source/oooimprovecore/makefile.mk @@ -62,6 +62,7 @@ SHL1STDLIBS= \ $(SVLLIB) \ $(SVTOOLLIB) \ $(SFXLIB) \ + $(SVXCORELIB) \ $(SVXLIB) \ $(TOOLSLIB) diff --git a/extensions/source/oooimprovement/config.cxx b/extensions/source/oooimprovement/config.cxx index daf1e81bc60d..bece7e089f1a 100644 --- a/extensions/source/oooimprovement/config.cxx +++ b/extensions/source/oooimprovement/config.cxx @@ -222,6 +222,7 @@ namespace oooimprovement return result; } +#ifdef FUTURE sal_Int32 Config::getFailedAttempts() const { sal_Int32 result = 0; @@ -231,6 +232,7 @@ namespace oooimprovement MyConfigurationHelper::E_READONLY) >>= result; return result; } +#endif sal_Int32 Config::getOfficeStartCounterdown() const { diff --git a/extensions/source/oooimprovement/config.hxx b/extensions/source/oooimprovement/config.hxx index ff032a6032a5..c5ea887fa76f 100644 --- a/extensions/source/oooimprovement/config.hxx +++ b/extensions/source/oooimprovement/config.hxx @@ -53,7 +53,9 @@ namespace oooimprovement ::rtl::OUString getSoapId() const; ::rtl::OUString getSoapUrl() const; sal_Int32 getReportCount() const; +#ifdef FUTURE sal_Int32 getFailedAttempts() const; +#endif sal_Int32 getOfficeStartCounterdown() const; sal_Int32 incrementEventCount(sal_Int32 by); sal_Int32 incrementReportCount(sal_Int32 by); diff --git a/extensions/source/oooimprovement/corecontroller.cxx b/extensions/source/oooimprovement/corecontroller.cxx index 34fc24e42302..3c9245d3faa9 100644 --- a/extensions/source/oooimprovement/corecontroller.cxx +++ b/extensions/source/oooimprovement/corecontroller.cxx @@ -33,7 +33,6 @@ #include "corecontroller.hxx" #include "config.hxx" - using ::rtl::OUString; using namespace ::com::sun::star::lang; using namespace ::com::sun::star::uno; @@ -41,14 +40,6 @@ using namespace ::com::sun::star::uno; namespace oooimprovement { - - CoreController::CoreController(const Reference& context) - : m_ServiceFactory(Reference( - context->getServiceManager()->createInstanceWithContext( - OUString::createFromAscii("com.sun.star.lang.XMultiServiceFactory"), context), - UNO_QUERY)) - { } - CoreController::CoreController(const Reference& sf) : m_ServiceFactory(sf) { } @@ -96,9 +87,6 @@ namespace oooimprovement return aServiceNames; } - Reference SAL_CALL CoreController::Create(const Reference& context) - { return *(new CoreController(context)); } - Reference SAL_CALL CoreController::Create(const Reference& sm) { return *(new CoreController(sm)); } } diff --git a/extensions/source/oooimprovement/corecontroller.hxx b/extensions/source/oooimprovement/corecontroller.hxx index 3f1cadb82b69..4f62e9d026b6 100644 --- a/extensions/source/oooimprovement/corecontroller.hxx +++ b/extensions/source/oooimprovement/corecontroller.hxx @@ -54,8 +54,8 @@ namespace oooimprovement // css::lang::XServiceInfo - static version static ::rtl::OUString SAL_CALL getImplementationName_static(); static css::uno::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames_static(); - static css::uno::Reference< css::uno::XInterface> SAL_CALL Create( - const css::uno::Reference& context); + //static css::uno::Reference< css::uno::XInterface> SAL_CALL Create( + // const css::uno::Reference& context); static css::uno::Reference< css::uno::XInterface> SAL_CALL Create( const css::uno::Reference< css::lang::XMultiServiceFactory>& sm); diff --git a/extensions/source/oooimprovement/invite_job.cxx b/extensions/source/oooimprovement/invite_job.cxx index 20efafcaa69a..bb1ce11d23fe 100644 --- a/extensions/source/oooimprovement/invite_job.cxx +++ b/extensions/source/oooimprovement/invite_job.cxx @@ -67,12 +67,12 @@ namespace namespace oooimprovement { - InviteJob::InviteJob(const Reference& context) - : m_ServiceFactory(Reference( - context->getServiceManager()->createInstanceWithContext( - OUString::createFromAscii("com.sun.star.lang.XMultiServiceFactory"), context), - UNO_QUERY)) - { } +// InviteJob::InviteJob(const Reference& context) +// : m_ServiceFactory(Reference( +// context->getServiceManager()->createInstanceWithContext( +// OUString::createFromAscii("com.sun.star.lang.XMultiServiceFactory"), context), +// UNO_QUERY)) +// { } InviteJob::InviteJob(const Reference& sf) : m_ServiceFactory(sf) @@ -128,8 +128,8 @@ namespace oooimprovement return aServiceNames; } - Reference InviteJob::Create(const Reference& context) - { return *(new InviteJob(context)); } +// Reference InviteJob::Create(const Reference& context) +// { return *(new InviteJob(context)); } Reference InviteJob::Create(const Reference& sm) { return *(new InviteJob(sm)); } diff --git a/extensions/source/oooimprovement/invite_job.hxx b/extensions/source/oooimprovement/invite_job.hxx index 17e5c2586003..8c1cd57f07a8 100644 --- a/extensions/source/oooimprovement/invite_job.hxx +++ b/extensions/source/oooimprovement/invite_job.hxx @@ -53,8 +53,8 @@ namespace oooimprovement // XServiceInfo - static version static ::rtl::OUString SAL_CALL getImplementationName_static(); static css::uno::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames_static(); - static css::uno::Reference< css::uno::XInterface> SAL_CALL Create( - const css::uno::Reference< css::uno::XComponentContext>& context); + //static css::uno::Reference< css::uno::XInterface> SAL_CALL Create( + // const css::uno::Reference< css::uno::XComponentContext>& context); static css::uno::Reference< css::uno::XInterface> SAL_CALL Create(const css::uno::Reference< css::lang::XMultiServiceFactory>& sm); diff --git a/extensions/source/oooimprovement/myconfigurationhelper.cxx b/extensions/source/oooimprovement/myconfigurationhelper.cxx index c6e68e92a064..e0f14c6ec445 100644 --- a/extensions/source/oooimprovement/myconfigurationhelper.cxx +++ b/extensions/source/oooimprovement/myconfigurationhelper.cxx @@ -149,33 +149,6 @@ namespace oooimprovement xProps->setPropertyValue(sKey, aValue); } - Reference MyConfigurationHelper::makeSureSetNodeExists( - const Reference xCFG, - const OUString& sRelPathToSet, - const OUString& sSetNode) - { - Reference xAccess(xCFG, UNO_QUERY_THROW); - Reference xSet; - xAccess->getByHierarchicalName(sRelPathToSet) >>= xSet; - if (!xSet.is()) - throw css::container::NoSuchElementException( - noSuchElement(sRelPathToSet), - Reference()); - - Reference xNode; - if (xSet->hasByName(sSetNode)) - xSet->getByName(sSetNode) >>= xNode; - else - { - Reference xNodeFactory(xSet, UNO_QUERY_THROW); - xNode = xNodeFactory->createInstance(); - Reference xSetReplace(xSet, UNO_QUERY_THROW); - xSetReplace->insertByName(sSetNode, makeAny(xNode)); - } - - return xNode; - } - Any MyConfigurationHelper::readDirectKey( const Reference xSMGR, const OUString& sPackage, diff --git a/extensions/source/oooimprovement/myconfigurationhelper.hxx b/extensions/source/oooimprovement/myconfigurationhelper.hxx index a5d0c749e81a..5c5cb38b6a68 100644 --- a/extensions/source/oooimprovement/myconfigurationhelper.hxx +++ b/extensions/source/oooimprovement/myconfigurationhelper.hxx @@ -162,40 +162,6 @@ namespace oooimprovement const ::rtl::OUString& sKey, const css::uno::Any& aValue); - //----------------------------------------------- - /** it checks if the specified set node exists ... or create an empty one - * otherwise. - * - * This method must be used in combination with openConfig(). - * The cached configuration access must be provided here ... and - * all operations are made relativ to this access point. - * - * Further this method must be used only with configuration set's. - * Atomic keys can't be "created" ... they "exists everytimes". - * - * @param xCFG - * the configuration root, where sRelPathToSet should be interpreted - * as relativ path. - * - * @param sRelPathToSet - * path relative to xCFG parameter. - * - * @param sSetNode - * the set node, which should be checked if its exists ... - * or which should be created with default values. - * - * @return A reference to the found (or new created) set node. - * Cant be NULL .. in such case an exception occure ! - * - * @throw css::uno::Any exceptions the underlying configuration can throw. - * E.g. css::uno::Exception if the provided configuration - * access does not allow writing for this set. - */ - static css::uno::Reference< css::uno::XInterface> makeSureSetNodeExists( - const css::uno::Reference< css::uno::XInterface> xCFG, - const ::rtl::OUString& sRelPathToSet, - const ::rtl::OUString& sSetNode); - //----------------------------------------------- /** commit all changes made on the specified configuration access. * diff --git a/extensions/source/oooimprovement/soaprequest.cxx b/extensions/source/oooimprovement/soaprequest.cxx index d67ce911d204..94099cc21aee 100644 --- a/extensions/source/oooimprovement/soaprequest.cxx +++ b/extensions/source/oooimprovement/soaprequest.cxx @@ -33,6 +33,7 @@ #include "soaprequest.hxx" #include "errormail.hxx" +#include "config.hxx" #include #include #include @@ -56,7 +57,7 @@ namespace { static unsigned long asUlong(sal_Int8 input) { - return *reinterpret_cast(&input) ; + return *reinterpret_cast(&input); }; static Sequence base64_encode(const Sequence& input) @@ -150,10 +151,22 @@ namespace "\n"); static const OString SOAP_ITEM_END("]]>\n"); - static const OString getSoapSoapId(const OString& soap_id) + static const OString getSoapOfficeversion(const Reference& sf) { OStringBuffer buf = - "" + xmlEncode(soap_id) + "\n"; + "\n"; + return buf.makeStringAndClear(); + }; + + static const OString getSoapSoapId(const Reference& sf, const OString& soap_id) + { + OStringBuffer buf; + buf.append(""); + buf.append(xmlEncode(soap_id)).append("\n"); + buf.append(getSoapOfficeversion(sf)); + buf.append("\n"); return buf.makeStringAndClear(); }; @@ -180,7 +193,7 @@ namespace oooimprovement writeString(target, SOAP_START); writeString( target, - getSoapSoapId(rtl::OUStringToOString(m_SoapId, RTL_TEXTENCODING_ASCII_US))); + getSoapSoapId(m_ServiceFactory, rtl::OUStringToOString(m_SoapId, RTL_TEXTENCODING_ASCII_US))); writeString(target, SOAP_ITEMS_START); writeString(target, getSoapItemStart("reportmail.xml")); writeString(target, Errormail(m_ServiceFactory).getXml()); diff --git a/extensions/source/propctrlr/eformspropertyhandler.cxx b/extensions/source/propctrlr/eformspropertyhandler.cxx index d0ac0de3857a..b200d37cb83b 100644 --- a/extensions/source/propctrlr/eformspropertyhandler.cxx +++ b/extensions/source/propctrlr/eformspropertyhandler.cxx @@ -411,6 +411,18 @@ namespace pcr return Sequence< ::rtl::OUString >( &(*aInterestedInActuations.begin()), aInterestedInActuations.size() ); } + //-------------------------------------------------------------------- + Sequence< ::rtl::OUString > SAL_CALL EFormsPropertyHandler::getSupersededProperties( ) throw (RuntimeException) + { + ::osl::MutexGuard aGuard( m_aMutex ); + if ( !m_pHelper.get() ) + return Sequence< ::rtl::OUString >(); + + Sequence< ::rtl::OUString > aReturn( 1 ); + aReturn[ 0 ] = PROPERTY_INPUT_REQUIRED; + return aReturn; + } + //-------------------------------------------------------------------- LineDescriptor SAL_CALL EFormsPropertyHandler::describePropertyLine( const ::rtl::OUString& _rPropertyName, const Reference< XPropertyControlFactory >& _rxControlFactory ) diff --git a/extensions/source/propctrlr/eformspropertyhandler.hxx b/extensions/source/propctrlr/eformspropertyhandler.hxx index 700cf43431cf..55c464d77076 100644 --- a/extensions/source/propctrlr/eformspropertyhandler.hxx +++ b/extensions/source/propctrlr/eformspropertyhandler.hxx @@ -77,6 +77,8 @@ namespace pcr virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& _rPropertyName, const ::com::sun::star::uno::Any& _rValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getActuatingProperties( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > + SAL_CALL getSupersededProperties( ) throw (::com::sun::star::uno::RuntimeException); virtual ::com::sun::star::inspection::LineDescriptor SAL_CALL describePropertyLine( const ::rtl::OUString& _rPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControlFactory >& _rxControlFactory ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::NullPointerException, ::com::sun::star::uno::RuntimeException); virtual ::com::sun::star::inspection::InteractiveSelectionResult diff --git a/extensions/source/propctrlr/makefile.mk b/extensions/source/propctrlr/makefile.mk index c043850e3c73..9b9ffe47aa15 100644 --- a/extensions/source/propctrlr/makefile.mk +++ b/extensions/source/propctrlr/makefile.mk @@ -120,6 +120,7 @@ SHL1TARGET= $(TARGET)$(DLLPOSTFIX) SHL1VERSIONMAP= $(TARGET).map SHL1STDLIBS= \ + $(SVXCORELIB) \ $(SVXLIB) \ $(SFXLIB) \ $(SVTOOLLIB)\ diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx index c0374bbb3ce5..de2e7f272350 100644 --- a/extensions/source/scanner/sanedlg.cxx +++ b/extensions/source/scanner/sanedlg.cxx @@ -224,6 +224,19 @@ void SaneDlg::InitFields() maReslBox.SetMin( (long)pDouble[0] ); maReslBox.SetMax( (long)pDouble[1] ); maReslBox.InsertValue( (long)pDouble[0] ); + // mh@openoffice.org: issue 68557: Can only select 75 and 2400 dpi in Scanner dialogue + // scanner allows random setting of dpi resolution, a slider might be useful + // support that + // workaround: offer at least some more standard dpi resolution between + // min and max value + int bGot300 = 0; + for ( int nRes = (long) pDouble[0] * 2; nRes < (long) pDouble[1]; nRes = nRes * 2 ) + { + if ( !bGot300 && nRes > 300 ) { + nRes = 300; bGot300 = 1; + } + maReslBox.InsertValue(nRes); + } maReslBox.InsertValue( (long)pDouble[1] ); } if( pDouble ) diff --git a/extensions/source/scanner/scanunx.cxx b/extensions/source/scanner/scanunx.cxx index 2e0d470b3241..0b1d1e68f9f3 100644 --- a/extensions/source/scanner/scanunx.cxx +++ b/extensions/source/scanner/scanunx.cxx @@ -197,7 +197,14 @@ void ScannerThread::run() void ScannerManager::DestroyData() { - // unused + // was unused, now because of i99835: "Scanning interface not SANE API compliant" + // delete all SaneHolder to get Sane Dtor called + int i; + for ( i = allSanes.Count(); i > 0; i-- ) + { + SaneHolder *pSaneHolder = allSanes.GetObject(i-1); + if ( pSaneHolder ) delete pSaneHolder; + } } // ----------------------------------------------------------------------------- diff --git a/extensions/source/update/check/updatecheckjob.cxx b/extensions/source/update/check/updatecheckjob.cxx index 3bc292e4c8ef..f64ba851e679 100644 --- a/extensions/source/update/check/updatecheckjob.cxx +++ b/extensions/source/update/check/updatecheckjob.cxx @@ -36,12 +36,15 @@ #include "updatehdl.hxx" #include "updateprotocol.hxx" -#include +#include #include +#include "com/sun/star/frame/XDesktop.hpp" +#include "com/sun/star/frame/XTerminateListener.hpp" #include namespace beans = com::sun::star::beans ; +namespace frame = com::sun::star::frame ; namespace lang = com::sun::star::lang ; namespace task = com::sun::star::task ; namespace uno = com::sun::star::uno ; @@ -61,6 +64,7 @@ public: virtual void SAL_CALL onTerminated(); void showDialog(); + void setTerminating() { m_bTerminating = true; } protected: ~InitUpdateCheckJobThread(); @@ -70,10 +74,11 @@ private: uno::Reference m_xContext; uno::Sequence m_xParameters; bool m_bShowDialog; + bool m_bTerminating; }; class UpdateCheckJob : - public ::cppu::WeakImplHelper2< task::XJob, lang::XServiceInfo > + public ::cppu::WeakImplHelper3< task::XJob, lang::XServiceInfo, frame::XTerminateListener > { virtual ~UpdateCheckJob(); @@ -100,8 +105,19 @@ public: virtual uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames() throw (uno::RuntimeException); + // XEventListener + virtual void SAL_CALL disposing( ::com::sun::star::lang::EventObject const & evt ) + throw (::com::sun::star::uno::RuntimeException); + + // XTerminateListener + virtual void SAL_CALL queryTermination( lang::EventObject const & evt ) + throw ( frame::TerminationVetoException, uno::RuntimeException ); + virtual void SAL_CALL notifyTermination( lang::EventObject const & evt ) + throw ( uno::RuntimeException ); + private: uno::Reference m_xContext; + uno::Reference< frame::XDesktop > m_xDesktop; InitUpdateCheckJobThread *m_pInitThread; void handleExtensionUpdates( const uno::Sequence< beans::NamedValue > &rListProp ); @@ -115,7 +131,8 @@ InitUpdateCheckJobThread::InitUpdateCheckJobThread( const uno::Sequence< beans::NamedValue > &xParameters ) : m_xContext( xContext ), m_xParameters( xParameters ), - m_bShowDialog( false ) + m_bShowDialog( false ), + m_bTerminating( false ) { create(); } @@ -132,6 +149,9 @@ void SAL_CALL InitUpdateCheckJobThread::run() m_aCondition.wait( &tv ); + if ( m_bTerminating ) + return; + rtl::Reference< UpdateCheck > aController( UpdateCheck::get() ); aController->initialize( m_xParameters, m_xContext ); @@ -156,10 +176,13 @@ void InitUpdateCheckJobThread::showDialog() //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ -UpdateCheckJob::UpdateCheckJob(const uno::Reference& xContext) : +UpdateCheckJob::UpdateCheckJob( const uno::Reference& xContext ) : m_xContext(xContext), m_pInitThread( NULL ) { + m_xDesktop.set( xContext->getServiceManager()->createInstanceWithContext( UNISTRING("com.sun.star.frame.Desktop"), xContext ), uno::UNO_QUERY ); + if ( m_xDesktop.is() ) + m_xDesktop->addTerminateListener( this ); } //------------------------------------------------------------------------------ @@ -301,6 +324,37 @@ UpdateCheckJob::supportsService( rtl::OUString const & serviceName ) throw (uno: return sal_False; } +//------------------------------------------------------------------------------ +// XEventListener +void SAL_CALL UpdateCheckJob::disposing( lang::EventObject const & rEvt ) + throw ( uno::RuntimeException ) +{ + bool shutDown = ( rEvt.Source == m_xDesktop ); + + if ( shutDown && m_xDesktop.is() ) + { + m_xDesktop->removeTerminateListener( this ); + m_xDesktop.clear(); + } +} + +//------------------------------------------------------------------------------ +// XTerminateListener +void SAL_CALL UpdateCheckJob::queryTermination( lang::EventObject const & ) + throw ( frame::TerminationVetoException, uno::RuntimeException ) +{ +} + +//------------------------------------------------------------------------------ +void SAL_CALL UpdateCheckJob::notifyTermination( lang::EventObject const & rEvt ) + throw ( uno::RuntimeException ) +{ + if ( m_pInitThread ) + m_pInitThread->setTerminating(); + + disposing( rEvt ); +} + } // anonymous namespace //------------------------------------------------------------------------------ diff --git a/extensions/util/hidother.src b/extensions/util/hidother.src index 49b67060f8a3..3f8fcd5ed7f8 100644 --- a/extensions/util/hidother.src +++ b/extensions/util/hidother.src @@ -30,208 +30,92 @@ #include "../inc/extensio.hrc" -hidspecial HID_BIB_CHANGESOURCE { HelpId = HID_BIB_CHANGESOURCE; } -hidspecial HID_BIB_MAPPINGDLG { HelpId = HID_BIB_MAPPINGDLG; } -hidspecial HID_BIB_TBX_TABLE { HelpId = HID_BIB_TBX_TABLE; } -hidspecial HID_BIB_TBX_SEARCH { HelpId = HID_BIB_TBX_SEARCH; } -hidspecial HID_BIB_TBX_AUTOFILTER { HelpId = HID_BIB_TBX_AUTOFILTER; } +hidspecial HID_ABSPILOT { HelpId = HID_ABSPILOT; } +hidspecial HID_ABSPILOT_CANCEL { HelpId = HID_ABSPILOT_CANCEL; } +hidspecial HID_ABSPILOT_FINISH { HelpId = HID_ABSPILOT_FINISH; } +hidspecial HID_ABSPILOT_NEXT { HelpId = HID_ABSPILOT_NEXT; } +hidspecial HID_ABSPILOT_PREVIOUS { HelpId = HID_ABSPILOT_PREVIOUS; } -hidspecial HID_BIB_IDENTIFIER_POS { HelpId = HID_BIB_IDENTIFIER_POS; } +hidspecial HID_BIB_ADDRESS_POS { HelpId = HID_BIB_ADDRESS_POS; } +hidspecial HID_BIB_ANNOTE_POS { HelpId = HID_BIB_ANNOTE_POS; } hidspecial HID_BIB_AUTHORITYTYPE_POS { HelpId = HID_BIB_AUTHORITYTYPE_POS; } hidspecial HID_BIB_AUTHOR_POS { HelpId = HID_BIB_AUTHOR_POS; } -hidspecial HID_BIB_TITLE_POS { HelpId = HID_BIB_TITLE_POS; } -hidspecial HID_BIB_YEAR_POS { HelpId = HID_BIB_YEAR_POS; } -hidspecial HID_BIB_ISBN_POS { HelpId = HID_BIB_ISBN_POS; } hidspecial HID_BIB_BOOKTITLE_POS { HelpId = HID_BIB_BOOKTITLE_POS; } +hidspecial HID_BIB_CHANGESOURCE { HelpId = HID_BIB_CHANGESOURCE; } hidspecial HID_BIB_CHAPTER_POS { HelpId = HID_BIB_CHAPTER_POS; } +hidspecial HID_BIB_CONTROL_PAGE { HelpId = HID_BIB_CONTROL_PAGE; } +hidspecial HID_BIB_CONTROL_PARENT { HelpId = HID_BIB_CONTROL_PARENT; } +hidspecial HID_BIB_CUSTOM1_POS { HelpId = HID_BIB_CUSTOM1_POS; } +hidspecial HID_BIB_CUSTOM2_POS { HelpId = HID_BIB_CUSTOM2_POS; } +hidspecial HID_BIB_CUSTOM3_POS { HelpId = HID_BIB_CUSTOM3_POS; } +hidspecial HID_BIB_CUSTOM4_POS { HelpId = HID_BIB_CUSTOM4_POS; } +hidspecial HID_BIB_CUSTOM5_POS { HelpId = HID_BIB_CUSTOM5_POS; } +hidspecial HID_BIB_DB_GRIDCTRL { HelpId = HID_BIB_DB_GRIDCTRL; } +hidspecial HID_BIB_DB_TBX { HelpId = HID_BIB_DB_TBX; } +hidspecial HID_BIB_DELETE_RECORD { HelpId = HID_BIB_DELETE_RECORD; } hidspecial HID_BIB_EDITION_POS { HelpId = HID_BIB_EDITION_POS; } hidspecial HID_BIB_EDITOR_POS { HelpId = HID_BIB_EDITOR_POS; } hidspecial HID_BIB_HOWPUBLISHED_POS { HelpId = HID_BIB_HOWPUBLISHED_POS; } +hidspecial HID_BIB_IDENTIFIER_POS { HelpId = HID_BIB_IDENTIFIER_POS; } +hidspecial HID_BIB_INSERT_RECORD { HelpId = HID_BIB_INSERT_RECORD; } hidspecial HID_BIB_INSTITUTION_POS { HelpId = HID_BIB_INSTITUTION_POS; } +hidspecial HID_BIB_ISBN_POS { HelpId = HID_BIB_ISBN_POS; } hidspecial HID_BIB_JOURNAL_POS { HelpId = HID_BIB_JOURNAL_POS; } +hidspecial HID_BIB_MAPPINGDLG { HelpId = HID_BIB_MAPPINGDLG; } hidspecial HID_BIB_MONTH_POS { HelpId = HID_BIB_MONTH_POS; } hidspecial HID_BIB_NOTE_POS { HelpId = HID_BIB_NOTE_POS; } -hidspecial HID_BIB_ANNOTE_POS { HelpId = HID_BIB_ANNOTE_POS; } hidspecial HID_BIB_NUMBER_POS { HelpId = HID_BIB_NUMBER_POS; } hidspecial HID_BIB_ORGANIZATIONS_POS { HelpId = HID_BIB_ORGANIZATIONS_POS; } hidspecial HID_BIB_PAGES_POS { HelpId = HID_BIB_PAGES_POS; } hidspecial HID_BIB_PUBLISHER_POS { HelpId = HID_BIB_PUBLISHER_POS; } -hidspecial HID_BIB_ADDRESS_POS { HelpId = HID_BIB_ADDRESS_POS; } +hidspecial HID_BIB_REPORTTYPE_POS { HelpId = HID_BIB_REPORTTYPE_POS; } hidspecial HID_BIB_SCHOOL_POS { HelpId = HID_BIB_SCHOOL_POS; } hidspecial HID_BIB_SERIES_POS { HelpId = HID_BIB_SERIES_POS; } -hidspecial HID_BIB_REPORTTYPE_POS { HelpId = HID_BIB_REPORTTYPE_POS; } -hidspecial HID_BIB_VOLUME_POS { HelpId = HID_BIB_VOLUME_POS; } +hidspecial HID_BIB_TBX_AUTOFILTER { HelpId = HID_BIB_TBX_AUTOFILTER; } +hidspecial HID_BIB_TBX_SEARCH { HelpId = HID_BIB_TBX_SEARCH; } +hidspecial HID_BIB_TBX_TABLE { HelpId = HID_BIB_TBX_TABLE; } +hidspecial HID_BIB_TITLE_POS { HelpId = HID_BIB_TITLE_POS; } hidspecial HID_BIB_URL_POS { HelpId = HID_BIB_URL_POS; } -hidspecial HID_BIB_CUSTOM1_POS { HelpId = HID_BIB_CUSTOM1_POS; } -hidspecial HID_BIB_CUSTOM2_POS { HelpId = HID_BIB_CUSTOM2_POS; } -hidspecial HID_BIB_CUSTOM3_POS { HelpId = HID_BIB_CUSTOM3_POS; } -hidspecial HID_BIB_CUSTOM4_POS { HelpId = HID_BIB_CUSTOM4_POS; } -hidspecial HID_BIB_CUSTOM5_POS { HelpId = HID_BIB_CUSTOM5_POS; } - -hidspecial HID_BIB_DB_TBX { HelpId = HID_BIB_DB_TBX; } -hidspecial HID_BIB_DB_GRIDCTRL { HelpId = HID_BIB_DB_GRIDCTRL; } -hidspecial HID_BIB_CONTROL_PAGE { HelpId = HID_BIB_CONTROL_PAGE; } -hidspecial HID_BIB_CONTROL_PARENT { HelpId = HID_BIB_CONTROL_PARENT; } - -hidspecial HID_GRIDWIZARD_PREVIOUS { HelpId = HID_GRIDWIZARD_PREVIOUS; }; -hidspecial HID_GRIDWIZARD_NEXT { HelpId = HID_GRIDWIZARD_NEXT; } -hidspecial HID_GRIDWIZARD_CANCEL { HelpId = HID_GRIDWIZARD_CANCEL; } -hidspecial HID_GRIDWIZARD_FINISH { HelpId = HID_GRIDWIZARD_FINISH; } -hidspecial HID_GROUPWIZARD_PREVIOUS { HelpId = HID_GROUPWIZARD_PREVIOUS; } -hidspecial HID_GROUPWIZARD_NEXT { HelpId = HID_GROUPWIZARD_NEXT; } -hidspecial HID_GROUPWIZARD_CANCEL { HelpId = HID_GROUPWIZARD_CANCEL; } -hidspecial HID_GROUPWIZARD_FINISH { HelpId = HID_GROUPWIZARD_FINISH; } -hidspecial HID_LISTWIZARD_PREVIOUS { HelpId = HID_LISTWIZARD_PREVIOUS; } -hidspecial HID_LISTWIZARD_NEXT { HelpId = HID_LISTWIZARD_NEXT; } -hidspecial HID_LISTWIZARD_CANCEL { HelpId = HID_LISTWIZARD_CANCEL; } -hidspecial HID_LISTWIZARD_FINISH { HelpId = HID_LISTWIZARD_FINISH; } -hidspecial HID_DBIWIZARD_PREVIOUS { HelpId = HID_DBIWIZARD_PREVIOUS; } -hidspecial HID_DBIWIZARD_NEXT { HelpId = HID_DBIWIZARD_NEXT; } -hidspecial HID_DBIWIZARD_CANCEL { HelpId = HID_DBIWIZARD_CANCEL; } -hidspecial HID_DBIWIZARD_FINISH { HelpId = HID_DBIWIZARD_FINISH; } -hidspecial UID_DBIWIZARD_SOURCESTATS { HelpId = UID_DBIWIZARD_SOURCESTATS; } -hidspecial UID_DBIWIZARD_SOURCEFILE { HelpId = UID_DBIWIZARD_SOURCEFILE; } -hidspecial UID_DBIWIZARD_QUERIES { HelpId = UID_DBIWIZARD_QUERIES; } -hidspecial UID_DBIWIZARD_FORMS { HelpId = UID_DBIWIZARD_FORMS; } -hidspecial UID_DBIWIZARD_FORMS_SAVETO { HelpId = UID_DBIWIZARD_FORMS_SAVETO; } -hidspecial UID_BIB_FRAME_WINDOW { HelpId = UID_BIB_FRAME_WINDOW;} +hidspecial HID_BIB_VOLUME_POS { HelpId = HID_BIB_VOLUME_POS; } +hidspecial HID_BIB_YEAR_POS { HelpId = HID_BIB_YEAR_POS; } -hidspecial HID_ABSPILOT_PREVIOUS { HelpId = HID_ABSPILOT_PREVIOUS; } -hidspecial HID_ABSPILOT_NEXT { HelpId = HID_ABSPILOT_NEXT; } -hidspecial HID_ABSPILOT_CANCEL { HelpId = HID_ABSPILOT_CANCEL; } -hidspecial HID_ABSPILOT_FINISH { HelpId = HID_ABSPILOT_FINISH; } -hidspecial HID_ABSPILOT { HelpId = HID_ABSPILOT; } +hidspecial HID_CHECK_FOR_UPD_CANCEL { HelpId = HID_CHECK_FOR_UPD_CANCEL; } +hidspecial HID_CHECK_FOR_UPD_CLOSE { HelpId = HID_CHECK_FOR_UPD_CLOSE; } +hidspecial HID_CHECK_FOR_UPD_DESCRIPTION { HelpId = HID_CHECK_FOR_UPD_DESCRIPTION; } +hidspecial HID_CHECK_FOR_UPD_DLG { HelpId = HID_CHECK_FOR_UPD_DLG; } +hidspecial HID_CHECK_FOR_UPD_DOWNLOAD { HelpId = HID_CHECK_FOR_UPD_DOWNLOAD; } +hidspecial HID_CHECK_FOR_UPD_DOWNLOAD2 { HelpId = HID_CHECK_FOR_UPD_DOWNLOAD2; } +hidspecial HID_CHECK_FOR_UPD_INSTALL { HelpId = HID_CHECK_FOR_UPD_INSTALL; } +hidspecial HID_CHECK_FOR_UPD_PAUSE { HelpId = HID_CHECK_FOR_UPD_PAUSE; } +hidspecial HID_CHECK_FOR_UPD_RESUME { HelpId = HID_CHECK_FOR_UPD_RESUME; } +hidspecial HID_CHECK_FOR_UPD_STATUS { HelpId = HID_CHECK_FOR_UPD_STATUS; } -hidspecial UID_ABSPILOT_HELP { HelpId = UID_ABSPILOT_HELP; } hidspecial HID_DBIWIZARD { HelpId = HID_DBIWIZARD; } -hidspecial UID_DBIWIZARD_HELP { HelpId = UID_DBIWIZARD_HELP; } +hidspecial HID_DBIWIZARD_CANCEL { HelpId = HID_DBIWIZARD_CANCEL; } hidspecial HID_DBIWIZARD_FILESELECTION { HelpId = HID_DBIWIZARD_FILESELECTION; } +hidspecial HID_DBIWIZARD_FINISH { HelpId = HID_DBIWIZARD_FINISH; } +hidspecial HID_DBIWIZARD_NEXT { HelpId = HID_DBIWIZARD_NEXT; } +hidspecial HID_DBIWIZARD_PREVIOUS { HelpId = HID_DBIWIZARD_PREVIOUS; } -hidspecial HID_BIB_DELETE_RECORD { HelpId = HID_BIB_DELETE_RECORD; } -hidspecial HID_BIB_INSERT_RECORD { HelpId = HID_BIB_INSERT_RECORD; } - -hidspecial HID_PROP_TITLE { HelpId = HID_PROP_TITLE; } -hidspecial HID_PROP_STEP { HelpId = HID_PROP_STEP; } -hidspecial HID_PROP_VALUE { HelpId = HID_PROP_VALUE; } -hidspecial HID_PROP_PROGRESSVALUE { HelpId = HID_PROP_PROGRESSVALUE; } -hidspecial HID_PROP_PROGRESSVALUE_MIN { HelpId = HID_PROP_PROGRESSVALUE_MIN; } -hidspecial HID_PROP_PROGRESSVALUE_MAX { HelpId = HID_PROP_PROGRESSVALUE_MAX; } -hidspecial HID_PROP_SCROLLVALUE { HelpId = HID_PROP_SCROLLVALUE; } -hidspecial HID_PROP_SCROLLVALUE_MIN { HelpId = HID_PROP_SCROLLVALUE_MIN; } -hidspecial HID_PROP_SCROLLVALUE_MAX { HelpId = HID_PROP_SCROLLVALUE_MAX; } -hidspecial HID_PROP_LINEINCREMENT { HelpId = HID_PROP_LINEINCREMENT; } -hidspecial HID_PROP_BLOCKINCREMENT { HelpId = HID_PROP_BLOCKINCREMENT; } -hidspecial HID_PROP_VISIBLESIZE { HelpId = HID_PROP_VISIBLESIZE; } -hidspecial HID_PROP_ORIENTATION { HelpId = HID_PROP_ORIENTATION; } -hidspecial HID_PROP_POSITIONX { HelpId = HID_PROP_POSITIONX; } -hidspecial HID_PROP_POSITIONY { HelpId = HID_PROP_POSITIONY; } -hidspecial HID_PROP_PUSHBUTTONTYPE { HelpId = HID_PROP_PUSHBUTTONTYPE; } -hidspecial HID_PROP_STATE { HelpId = HID_PROP_STATE; } -hidspecial HID_PROP_SCALEIMAGE { HelpId = HID_PROP_SCALEIMAGE; } -hidspecial HID_PROP_BOUND_CELL { HelpId = HID_PROP_BOUND_CELL; } -hidspecial HID_PROP_LIST_CELL_RANGE { HelpId = HID_PROP_LIST_CELL_RANGE; } -hidspecial HID_PROP_CELL_EXCHANGE_TYPE { HelpId = HID_PROP_CELL_EXCHANGE_TYPE; } -hidspecial HID_PROP_SELECTEDITEMS { HelpId = HID_PROP_SELECTEDITEMS; } -hidspecial HID_PROP_SCROLLVALUEMIN { HelpId = HID_PROP_SCROLLVALUE_MIN; } -hidspecial HID_PROP_DEFAULT_SCROLLVALUE { HelpId = HID_PROP_DEFAULT_SCROLLVALUE; } -hidspecial HID_PROP_REPEAT_DELAY { HelpId = HID_PROP_REPEAT_DELAY; } -hidspecial HID_PROP_SYMBOLCOLOR { HelpId = HID_PROP_SYMBOLCOLOR; } -hidspecial HID_PROP_SPINVALUE { HelpId = HID_PROP_SPINVALUE; } -hidspecial HID_PROP_SPINVALUE_MIN { HelpId = HID_PROP_SPINVALUE_MIN; } -hidspecial HID_PROP_SPINVALUE_MAX { HelpId = HID_PROP_SPINVALUE_MAX; } -hidspecial HID_PROP_DEFAULT_SPINVALUE { HelpId = HID_PROP_DEFAULT_SPINVALUE; } -hidspecial HID_PROP_SPININCREMENT { HelpId = HID_PROP_SPININCREMENT; } -hidspecial HID_PROP_REPEAT { HelpId = HID_PROP_REPEAT; } -hidspecial UID_PROP_DLG_FONT_TYPE { HelpId = UID_PROP_DLG_FONT_TYPE; } -hidspecial UID_PROP_DLG_ATTR_TARGET_URL { HelpId = UID_PROP_DLG_ATTR_TARGET_URL; } -hidspecial UID_PROP_DLG_IMAGE_URL { HelpId = UID_PROP_DLG_IMAGE_URL; } -hidspecial UID_PROP_DLG_BACKGROUNDCOLOR { HelpId = UID_PROP_DLG_BACKGROUNDCOLOR; } -hidspecial UID_PROP_DLG_CONTROLLABEL { HelpId = UID_PROP_DLG_CONTROLLABEL; } -hidspecial UID_PROP_DLG_NUMBER_FORMAT { HelpId = UID_PROP_DLG_NUMBER_FORMAT; } -hidspecial UID_PROP_DLG_ATTR_DATASOURCE { HelpId = UID_PROP_DLG_ATTR_DATASOURCE; } -hidspecial UID_PROP_DLG_FILLCOLOR { HelpId = UID_PROP_DLG_FILLCOLOR; } -hidspecial UID_PROP_DLG_SYMBOLCOLOR { HelpId = UID_PROP_DLG_SYMBOLCOLOR; } -hidspecial UID_EVT_MACRODLG { HelpId = UID_EVT_MACRODLG; } -hidspecial HID_PROP_WORDBREAK { HelpId = HID_PROP_WORDBREAK; } -hidspecial HID_PROP_SHOW_SCROLLBARS { HelpId = HID_PROP_SHOW_SCROLLBARS; } -hidspecial HID_PROP_TABORDER_CONTROLS { HelpId = HID_PROP_TABORDER_CONTROLS; } -hidspecial HID_PROP_ICONSIZE { HelpId = HID_PROP_ICONSIZE; } -hidspecial HID_PROP_SHOW_POSITION { HelpId = HID_PROP_SHOW_POSITION; } -hidspecial HID_PROP_SHOW_NAVIGATION { HelpId = HID_PROP_SHOW_NAVIGATION; } -hidspecial HID_PROP_SHOW_RECORDACTIONS { HelpId = HID_PROP_SHOW_RECORDACTIONS; } -hidspecial HID_PROP_SHOW_FILTERSORT { HelpId = HID_PROP_SHOW_FILTERSORT; } - -hidspecial UID_PROP_DLG_FONT_TYPE { HelpId = UID_PROP_DLG_FONT_TYPE; } -hidspecial UID_PROP_DLG_IMAGE_URL { HelpId = UID_PROP_DLG_IMAGE_URL; } -hidspecial UID_PROP_DLG_BACKGROUNDCOLOR { HelpId = UID_PROP_DLG_BACKGROUNDCOLOR; } -hidspecial UID_PROP_DLG_ATTR_DATASOURCE { HelpId = UID_PROP_DLG_ATTR_DATASOURCE; } -hidspecial UID_PROP_DLG_ATTR_TARGET_URL { HelpId = UID_PROP_DLG_ATTR_TARGET_URL; } -hidspecial UID_PROP_DLG_NUMBER_FORMAT { HelpId = UID_PROP_DLG_NUMBER_FORMAT; } -hidspecial UID_PROP_DLG_CONTROLLABEL { HelpId = UID_PROP_DLG_CONTROLLABEL; } -hidspecial UID_PROP_DLG_FILLCOLOR { HelpId = UID_PROP_DLG_FILLCOLOR; } -hidspecial UID_PROP_DLG_TABINDEX { HelpId = UID_PROP_DLG_TABINDEX; } -hidspecial UID_PROP_DLG_SQLCOMMAND { HelpId = UID_PROP_DLG_SQLCOMMAND; } -hidspecial UID_PROP_DLG_FORMLINKFIELDS { HelpId = UID_PROP_DLG_FORMLINKFIELDS; } -hidspecial HID_FIELDLINK_DETAIL_COLUMN { HelpId = HID_FIELDLINK_DETAIL_COLUMN; } -hidspecial HID_FIELDLINK_MASTER_COLUMN { HelpId = HID_FIELDLINK_MASTER_COLUMN; } -hidspecial UID_FIELDLINK_DETAIL1 { HelpId = UID_FIELDLINK_DETAIL1; } -hidspecial UID_FIELDLINK_MASTER1 { HelpId = UID_FIELDLINK_MASTER1; } -hidspecial UID_FIELDLINK_DETAIL2 { HelpId = UID_FIELDLINK_DETAIL2; } -hidspecial UID_FIELDLINK_MASTER2 { HelpId = UID_FIELDLINK_MASTER2; } -hidspecial UID_FIELDLINK_DETAIL3 { HelpId = UID_FIELDLINK_DETAIL3; } -hidspecial UID_FIELDLINK_MASTER3 { HelpId = UID_FIELDLINK_MASTER3; } -hidspecial UID_FIELDLINK_DETAIL4 { HelpId = UID_FIELDLINK_DETAIL4; } -hidspecial UID_FIELDLINK_MASTER4 { HelpId = UID_FIELDLINK_MASTER4; } -hidspecial UID_PROP_DLG_FILTER { HelpId = UID_PROP_DLG_FILTER; } -hidspecial UID_PROP_DLG_ORDER { HelpId = UID_PROP_DLG_ORDER; } -hidspecial UID_PROP_DLG_SELECTION { HelpId = UID_PROP_DLG_SELECTION; } -hidspecial UID_PROP_DLG_SYMBOLCOLOR { HelpId = UID_PROP_DLG_SYMBOLCOLOR; } -hidspecial UID_BRWEVT_APPROVEACTIONPERFORMED { HelpId = UID_BRWEVT_APPROVEACTIONPERFORMED; } -hidspecial UID_BRWEVT_ACTIONPERFORMED { HelpId = UID_BRWEVT_ACTIONPERFORMED; } -hidspecial UID_BRWEVT_CHANGED { HelpId = UID_BRWEVT_CHANGED; } -hidspecial UID_BRWEVT_TEXTCHANGED { HelpId = UID_BRWEVT_TEXTCHANGED; } -hidspecial UID_BRWEVT_ITEMSTATECHANGED { HelpId = UID_BRWEVT_ITEMSTATECHANGED; } -hidspecial UID_BRWEVT_FOCUSGAINED { HelpId = UID_BRWEVT_FOCUSGAINED; } -hidspecial UID_BRWEVT_FOCUSLOST { HelpId = UID_BRWEVT_FOCUSLOST; } -hidspecial UID_BRWEVT_KEYTYPED { HelpId = UID_BRWEVT_KEYTYPED; } -hidspecial UID_BRWEVT_KEYUP { HelpId = UID_BRWEVT_KEYUP; } -hidspecial UID_BRWEVT_MOUSEENTERED { HelpId = UID_BRWEVT_MOUSEENTERED; } -hidspecial UID_BRWEVT_MOUSEDRAGGED { HelpId = UID_BRWEVT_MOUSEDRAGGED; } -hidspecial UID_BRWEVT_MOUSEMOVED { HelpId = UID_BRWEVT_MOUSEMOVED; } -hidspecial UID_BRWEVT_MOUSEPRESSED { HelpId = UID_BRWEVT_MOUSEPRESSED; } -hidspecial UID_BRWEVT_MOUSERELEASED { HelpId = UID_BRWEVT_MOUSERELEASED; } -hidspecial UID_BRWEVT_MOUSEEXITED { HelpId = UID_BRWEVT_MOUSEEXITED; } -hidspecial UID_BRWEVT_APPROVERESETTED { HelpId = UID_BRWEVT_APPROVERESETTED; } -hidspecial UID_BRWEVT_RESETTED { HelpId = UID_BRWEVT_RESETTED; } -hidspecial UID_BRWEVT_SUBMITTED { HelpId = UID_BRWEVT_SUBMITTED; } -hidspecial UID_BRWEVT_BEFOREUPDATE { HelpId = UID_BRWEVT_BEFOREUPDATE; } -hidspecial UID_BRWEVT_AFTERUPDATE { HelpId = UID_BRWEVT_AFTERUPDATE; } -hidspecial UID_BRWEVT_LOADED { HelpId = UID_BRWEVT_LOADED; } -hidspecial UID_BRWEVT_RELOADING { HelpId = UID_BRWEVT_RELOADING; } -hidspecial UID_BRWEVT_RELOADED { HelpId = UID_BRWEVT_RELOADED; } -hidspecial UID_BRWEVT_UNLOADING { HelpId = UID_BRWEVT_UNLOADING; } -hidspecial UID_BRWEVT_UNLOADED { HelpId = UID_BRWEVT_UNLOADED; } -hidspecial UID_BRWEVT_CONFIRMDELETE { HelpId = UID_BRWEVT_CONFIRMDELETE; } -hidspecial UID_BRWEVT_APPROVEROWCHANGE { HelpId = UID_BRWEVT_APPROVEROWCHANGE; } -hidspecial UID_BRWEVT_ROWCHANGE { HelpId = UID_BRWEVT_ROWCHANGE; } -hidspecial UID_BRWEVT_POSITIONING { HelpId = UID_BRWEVT_POSITIONING; } -hidspecial UID_BRWEVT_POSITIONED { HelpId = UID_BRWEVT_POSITIONED; } -hidspecial UID_BRWEVT_APPROVEPARAMETER { HelpId = UID_BRWEVT_APPROVEPARAMETER; } -hidspecial UID_BRWEVT_ERROROCCURED { HelpId = UID_BRWEVT_ERROROCCURED; } -hidspecial UID_BRWEVT_ADJUSTMENTVALUECHANGED { HelpId = UID_BRWEVT_ADJUSTMENTVALUECHANGED; } -hidspecial HID_PROP_AUTOLINEBREAK { HelpId = HID_PROP_AUTOLINEBREAK; } -hidspecial HID_PROP_TEXTTYPE { HelpId = HID_PROP_TEXTTYPE; } -hidspecial HID_PROP_LINEEND_FORMAT { HelpId = HID_PROP_LINEEND_FORMAT; } +hidspecial HID_DLG_DBCHANGE { HelpId = HID_DLG_DBCHANGE; } +hidspecial HID_DLG_MAPPING { HelpId = HID_DLG_MAPPING; } hidspecial HID_EVT_ACTIONPERFORMED { HelpId = HID_EVT_ACTIONPERFORMED; } +hidspecial HID_EVT_ADJUSTMENTVALUECHANGED { HelpId = HID_EVT_ADJUSTMENTVALUECHANGED; } hidspecial HID_EVT_AFTERUPDATE { HelpId = HID_EVT_AFTERUPDATE; } +hidspecial HID_EVT_APPROVEACTIONPERFORMED { HelpId = HID_EVT_APPROVEACTIONPERFORMED; } +hidspecial HID_EVT_APPROVEPARAMETER { HelpId = HID_EVT_APPROVEPARAMETER; } +hidspecial HID_EVT_APPROVERESETTED { HelpId = HID_EVT_APPROVERESETTED; } +hidspecial HID_EVT_APPROVEROWCHANGE { HelpId = HID_EVT_APPROVEROWCHANGE; } hidspecial HID_EVT_BEFOREUPDATE { HelpId = HID_EVT_BEFOREUPDATE; } +hidspecial HID_EVT_CHANGED { HelpId = HID_EVT_CHANGED; } hidspecial HID_EVT_CONFIRMDELETE { HelpId = HID_EVT_CONFIRMDELETE; } hidspecial HID_EVT_ERROROCCURED { HelpId = HID_EVT_ERROROCCURED; } hidspecial HID_EVT_FOCUSGAINED { HelpId = HID_EVT_FOCUSGAINED; } hidspecial HID_EVT_FOCUSLOST { HelpId = HID_EVT_FOCUSLOST; } hidspecial HID_EVT_ITEMSTATECHANGED { HelpId = HID_EVT_ITEMSTATECHANGED; } hidspecial HID_EVT_KEYTYPED { HelpId = HID_EVT_KEYTYPED; } +hidspecial HID_EVT_KEYUP { HelpId = HID_EVT_KEYUP; } hidspecial HID_EVT_LOADED { HelpId = HID_EVT_LOADED; } hidspecial HID_EVT_MOUSEDRAGGED { HelpId = HID_EVT_MOUSEDRAGGED; } hidspecial HID_EVT_MOUSEENTERED { HelpId = HID_EVT_MOUSEENTERED; } @@ -240,74 +124,314 @@ hidspecial HID_EVT_MOUSEMOVED { HelpId = HID_EVT_MOUSEMOVED; } hidspecial HID_EVT_MOUSEPRESSED { HelpId = HID_EVT_MOUSEPRESSED; } hidspecial HID_EVT_MOUSERELEASED { HelpId = HID_EVT_MOUSERELEASED; } hidspecial HID_EVT_POSITIONED { HelpId = HID_EVT_POSITIONED; } +hidspecial HID_EVT_POSITIONING { HelpId = HID_EVT_POSITIONING; } +hidspecial HID_EVT_RELOADED { HelpId = HID_EVT_RELOADED; } +hidspecial HID_EVT_RELOADING { HelpId = HID_EVT_RELOADING; } hidspecial HID_EVT_RESETTED { HelpId = HID_EVT_RESETTED; } +hidspecial HID_EVT_ROWCHANGE { HelpId = HID_EVT_ROWCHANGE; } hidspecial HID_EVT_SUBMITTED { HelpId = HID_EVT_SUBMITTED; } hidspecial HID_EVT_TEXTCHANGED { HelpId = HID_EVT_TEXTCHANGED; } hidspecial HID_EVT_UNLOADED { HelpId = HID_EVT_UNLOADED; } -hidspecial HID_EVT_CHANGED { HelpId = HID_EVT_CHANGED; } -hidspecial HID_EVT_APPROVEACTIONPERFORMED { HelpId = HID_EVT_APPROVEACTIONPERFORMED; } -hidspecial HID_EVT_APPROVERESETTED { HelpId = HID_EVT_APPROVERESETTED; } -hidspecial HID_EVT_KEYUP { HelpId = HID_EVT_KEYUP; } -hidspecial HID_EVT_APPROVEPARAMETER { HelpId = HID_EVT_APPROVEPARAMETER; } -hidspecial HID_EVT_POSITIONING { HelpId = HID_EVT_POSITIONING; } -hidspecial HID_EVT_RELOADED { HelpId = HID_EVT_RELOADED; } -hidspecial HID_EVT_APPROVEROWCHANGE { HelpId = HID_EVT_APPROVEROWCHANGE; } -hidspecial HID_EVT_ROWCHANGE { HelpId = HID_EVT_ROWCHANGE; } -hidspecial HID_EVT_RELOADING { HelpId = HID_EVT_RELOADING; } hidspecial HID_EVT_UNLOADING { HelpId = HID_EVT_UNLOADING; } -hidspecial HID_EVT_ADJUSTMENTVALUECHANGED { HelpId = HID_EVT_ADJUSTMENTVALUECHANGED; } -hidspecial HID_PROP_TOGGLE { HelpId = HID_PROP_TOGGLE; } + +hidspecial HID_FIELDLINK_DETAIL_COLUMN { HelpId = HID_FIELDLINK_DETAIL_COLUMN; } +hidspecial HID_FIELDLINK_MASTER_COLUMN { HelpId = HID_FIELDLINK_MASTER_COLUMN; } + +hidspecial HID_GRIDWIZARD_CANCEL { HelpId = HID_GRIDWIZARD_CANCEL; } +hidspecial HID_GRIDWIZARD_FINISH { HelpId = HID_GRIDWIZARD_FINISH; } +hidspecial HID_GRIDWIZARD_NEXT { HelpId = HID_GRIDWIZARD_NEXT; } +hidspecial HID_GRIDWIZARD_PREVIOUS { HelpId = HID_GRIDWIZARD_PREVIOUS; }; +hidspecial HID_GROUPWIZARD_CANCEL { HelpId = HID_GROUPWIZARD_CANCEL; } +hidspecial HID_GROUPWIZARD_FINISH { HelpId = HID_GROUPWIZARD_FINISH; } +hidspecial HID_GROUPWIZARD_NEXT { HelpId = HID_GROUPWIZARD_NEXT; } +hidspecial HID_GROUPWIZARD_PREVIOUS { HelpId = HID_GROUPWIZARD_PREVIOUS; } + +hidspecial HID_LISTWIZARD_CANCEL { HelpId = HID_LISTWIZARD_CANCEL; } +hidspecial HID_LISTWIZARD_FINISH { HelpId = HID_LISTWIZARD_FINISH; } +hidspecial HID_LISTWIZARD_NEXT { HelpId = HID_LISTWIZARD_NEXT; } +hidspecial HID_LISTWIZARD_PREVIOUS { HelpId = HID_LISTWIZARD_PREVIOUS; } + +hidspecial HID_PROP_ALIGN { HelpId = HID_PROP_ALIGN; } +hidspecial HID_PROP_ALLOW_ADDITIONS { HelpId = HID_PROP_ALLOW_ADDITIONS; } +hidspecial HID_PROP_ALLOW_DELETIONS { HelpId = HID_PROP_ALLOW_DELETIONS; } +hidspecial HID_PROP_ALLOW_EDITS { HelpId = HID_PROP_ALLOW_EDITS; } +hidspecial HID_PROP_ANCHOR_TYPE { HelpId = HID_PROP_ANCHOR_TYPE; } +hidspecial HID_PROP_AUTOCOMPLETE { HelpId = HID_PROP_AUTOCOMPLETE; } +hidspecial HID_PROP_AUTOLINEBREAK { HelpId = HID_PROP_AUTOLINEBREAK; } +hidspecial HID_PROP_BACKGROUNDCOLOR { HelpId = HID_PROP_BACKGROUNDCOLOR; } +hidspecial HID_PROP_BINDING_NAME { HelpId = HID_PROP_BINDING_NAME; } +hidspecial HID_PROP_BIND_EXPRESSION { HelpId = HID_PROP_BIND_EXPRESSION; } +hidspecial HID_PROP_BLOCKINCREMENT { HelpId = HID_PROP_BLOCKINCREMENT; } +hidspecial HID_PROP_BORDER { HelpId = HID_PROP_BORDER; } +hidspecial HID_PROP_BORDERCOLOR { HelpId = HID_PROP_BORDERCOLOR; } +hidspecial HID_PROP_BOUNDCOLUMN { HelpId = HID_PROP_BOUNDCOLUMN; } +hidspecial HID_PROP_BOUND_CELL { HelpId = HID_PROP_BOUND_CELL; } +hidspecial HID_PROP_BUTTONTYPE { HelpId = HID_PROP_BUTTONTYPE; } +hidspecial HID_PROP_CELL_EXCHANGE_TYPE { HelpId = HID_PROP_CELL_EXCHANGE_TYPE; } +hidspecial HID_PROP_CLASSID { HelpId = HID_PROP_CLASSID; } +hidspecial HID_PROP_CONTROLLABEL { HelpId = HID_PROP_CONTROLLABEL; } +hidspecial HID_PROP_CONTROLSOURCE { HelpId = HID_PROP_CONTROLSOURCE; } +hidspecial HID_PROP_CURRENCYSYMBOL { HelpId = HID_PROP_CURRENCYSYMBOL; } +hidspecial HID_PROP_CURRSYM_POSITION { HelpId = HID_PROP_CURRSYM_POSITION; } +hidspecial HID_PROP_CURSORSOURCE { HelpId = HID_PROP_CURSORSOURCE; } +hidspecial HID_PROP_CURSORSOURCETYPE { HelpId = HID_PROP_CURSORSOURCETYPE; } +hidspecial HID_PROP_CURSORTYPE { HelpId = HID_PROP_CURSORTYPE; } +hidspecial HID_PROP_CYCLE { HelpId = HID_PROP_CYCLE; } +hidspecial HID_PROP_DATAENTRY { HelpId = HID_PROP_DATAENTRY; } +hidspecial HID_PROP_DATASOURCE { HelpId = HID_PROP_DATASOURCE; } +hidspecial HID_PROP_DATE { HelpId = HID_PROP_DATE; } +hidspecial HID_PROP_DATEFORMAT { HelpId = HID_PROP_DATEFORMAT; } +hidspecial HID_PROP_DATEMAX { HelpId = HID_PROP_DATEMAX; } +hidspecial HID_PROP_DATEMIN { HelpId = HID_PROP_DATEMIN; } +hidspecial HID_PROP_DECIMAL_ACCURACY { HelpId = HID_PROP_DECIMAL_ACCURACY; } +hidspecial HID_PROP_DECORATION { HelpId = HID_PROP_DECORATION; } +hidspecial HID_PROP_DEFAULTVALUE { HelpId = HID_PROP_DEFAULTVALUE; } +hidspecial HID_PROP_DEFAULT_BUTTON { HelpId = HID_PROP_DEFAULT_BUTTON; } +hidspecial HID_PROP_DEFAULT_DATE { HelpId = HID_PROP_DEFAULT_DATE; } +hidspecial HID_PROP_DEFAULT_LONG_VALUE { HelpId = HID_PROP_DEFAULT_LONG_VALUE; } +hidspecial HID_PROP_DEFAULT_SCROLLVALUE { HelpId = HID_PROP_DEFAULT_SCROLLVALUE; } +hidspecial HID_PROP_DEFAULT_SELECT_SEQ { HelpId = HID_PROP_DEFAULT_SELECT_SEQ; } +hidspecial HID_PROP_DEFAULT_SPINVALUE { HelpId = HID_PROP_DEFAULT_SPINVALUE; } +hidspecial HID_PROP_DEFAULT_STATE { HelpId = HID_PROP_DEFAULT_STATE; } +hidspecial HID_PROP_DEFAULT_TIME { HelpId = HID_PROP_DEFAULT_TIME; } +hidspecial HID_PROP_DIRTY { HelpId = HID_PROP_DIRTY; } +hidspecial HID_PROP_DROPDOWN { HelpId = HID_PROP_DROPDOWN; } +hidspecial HID_PROP_ECHO_CHAR { HelpId = HID_PROP_ECHO_CHAR; } +hidspecial HID_PROP_EDITABLE { HelpId = HID_PROP_EDITABLE; } +hidspecial HID_PROP_EDITMASK { HelpId = HID_PROP_EDITMASK; } +hidspecial HID_PROP_EFFECTIVEDEFAULT { HelpId = HID_PROP_EFFECTIVEDEFAULT; } +hidspecial HID_PROP_EFFECTIVEMAX { HelpId = HID_PROP_EFFECTIVEMAX; } +hidspecial HID_PROP_EFFECTIVEMIN { HelpId = HID_PROP_EFFECTIVEMIN; } +hidspecial HID_PROP_EMPTY_IS_NULL { HelpId = HID_PROP_EMPTY_IS_NULL; } +hidspecial HID_PROP_ENABLED { HelpId = HID_PROP_ENABLED; } +hidspecial HID_PROP_ENABLE_VISIBLE { HelpId = HID_PROP_ENABLE_VISIBLE; } +hidspecial HID_PROP_ESCAPE_PROCESSING { HelpId = HID_PROP_ESCAPE_PROCESSING; } +hidspecial HID_PROP_FILLCOLOR { HelpId = HID_PROP_FILLCOLOR; } +hidspecial HID_PROP_FILTER { HelpId = HID_PROP_FILTER; } +hidspecial HID_PROP_FILTERPROPOSAL { HelpId = HID_PROP_FILTERPROPOSAL; } hidspecial HID_PROP_FOCUSONCLICK { HelpId = HID_PROP_FOCUSONCLICK; } +hidspecial HID_PROP_FONT { HelpId = HID_PROP_FONT; } +hidspecial HID_PROP_FORMATKEY { HelpId = HID_PROP_FORMATKEY; } +hidspecial HID_PROP_GROUPBOX { HelpId = HID_PROP_GROUPBOX; } +hidspecial HID_PROP_HEIGHT { HelpId = HID_PROP_HEIGHT; } +hidspecial HID_PROP_HELPTEXT { HelpId = HID_PROP_HELPTEXT; } +hidspecial HID_PROP_HELPURL { HelpId = HID_PROP_HELPURL; } +hidspecial HID_PROP_HIDDEN_VALUE { HelpId = HID_PROP_HIDDEN_VALUE; } hidspecial HID_PROP_HIDEINACTIVESELECTION { HelpId = HID_PROP_HIDEINACTIVESELECTION; } -hidspecial HID_PROP_VISUALEFFECT { HelpId = HID_PROP_VISUALEFFECT; } -hidspecial HID_PROP_BORDERCOLOR { HelpId = HID_PROP_BORDERCOLOR; } -hidspecial UID_PROP_DLG_BORDERCOLOR { HelpId = UID_PROP_DLG_BORDERCOLOR; } +hidspecial HID_PROP_HSCROLL { HelpId = HID_PROP_HSCROLL; } +hidspecial HID_PROP_ICONSIZE { HelpId = HID_PROP_ICONSIZE; } hidspecial HID_PROP_IMAGEPOSITION { HelpId = HID_PROP_IMAGEPOSITION; } +hidspecial HID_PROP_IMAGE_URL { HelpId = HID_PROP_IMAGE_URL; } +hidspecial HID_PROP_INPUT_REQUIRED { HelpId = HID_PROP_INPUT_REQUIRED; } +hidspecial HID_PROP_INVOKES_STOP_NOT_EDITING { HelpId = HID_PROP_INVOKES_STOP_NOT_EDITING; } +hidspecial HID_PROP_LABEL { HelpId = HID_PROP_LABEL; } +hidspecial HID_PROP_LEFT { HelpId = HID_PROP_LEFT; } +hidspecial HID_PROP_LINECOLOR { HelpId = HID_PROP_LINECOLOR; } +hidspecial HID_PROP_LINECOUNT { HelpId = HID_PROP_LINECOUNT; } +hidspecial HID_PROP_LINEEND_FORMAT { HelpId = HID_PROP_LINEEND_FORMAT; } +hidspecial HID_PROP_LINEINCREMENT { HelpId = HID_PROP_LINEINCREMENT; } +hidspecial HID_PROP_LISTINDEX { HelpId = HID_PROP_LISTINDEX; } +hidspecial HID_PROP_LISTSOURCE { HelpId = HID_PROP_LISTSOURCE; } +hidspecial HID_PROP_LISTSOURCETYPE { HelpId = HID_PROP_LISTSOURCETYPE; } +hidspecial HID_PROP_LIST_BINDING { HelpId = HID_PROP_LIST_BINDING; } +hidspecial HID_PROP_LIST_CELL_RANGE { HelpId = HID_PROP_LIST_CELL_RANGE; } +hidspecial HID_PROP_LITERALMASK { HelpId = HID_PROP_LITERALMASK; } +hidspecial HID_PROP_LOCKED { HelpId = HID_PROP_LOCKED; } +hidspecial HID_PROP_MASTERFIELDS { HelpId = HID_PROP_MASTERFIELDS; } +hidspecial HID_PROP_MAXTEXTLEN { HelpId = HID_PROP_MAXTEXTLEN; } +hidspecial HID_PROP_MULTILINE { HelpId = HID_PROP_MULTILINE; } +hidspecial HID_PROP_MULTISELECTION { HelpId = HID_PROP_MULTISELECTION; } +hidspecial HID_PROP_NAME { HelpId = HID_PROP_NAME; } +hidspecial HID_PROP_NAVIGATION { HelpId = HID_PROP_NAVIGATION; } +hidspecial HID_PROP_NAVIGATIONBAR { HelpId = HID_PROP_NAVIGATIONBAR; } +hidspecial HID_PROP_NOLABEL { HelpId = HID_PROP_NOLABEL; } +hidspecial HID_PROP_OLDVALUE { HelpId = HID_PROP_OLDVALUE; } +hidspecial HID_PROP_ORIENTATION { HelpId = HID_PROP_ORIENTATION; } +hidspecial HID_PROP_POSITIONX { HelpId = HID_PROP_POSITIONX; } +hidspecial HID_PROP_POSITIONY { HelpId = HID_PROP_POSITIONY; } +hidspecial HID_PROP_PRINTABLE { HelpId = HID_PROP_PRINTABLE; } +hidspecial HID_PROP_PROGRESSVALUE { HelpId = HID_PROP_PROGRESSVALUE; } +hidspecial HID_PROP_PROGRESSVALUE_MAX { HelpId = HID_PROP_PROGRESSVALUE_MAX; } +hidspecial HID_PROP_PROGRESSVALUE_MIN { HelpId = HID_PROP_PROGRESSVALUE_MIN; } +hidspecial HID_PROP_PUSHBUTTONTYPE { HelpId = HID_PROP_PUSHBUTTONTYPE; } +hidspecial HID_PROP_READONLY { HelpId = HID_PROP_READONLY; } +hidspecial HID_PROP_RECORDMARKER { HelpId = HID_PROP_RECORDMARKER; } +hidspecial HID_PROP_REFVALUE { HelpId = HID_PROP_REFVALUE; } +hidspecial HID_PROP_REPEAT { HelpId = HID_PROP_REPEAT; } +hidspecial HID_PROP_REPEAT_DELAY { HelpId = HID_PROP_REPEAT_DELAY; } +hidspecial HID_PROP_REQUIRED { HelpId = HID_PROP_REQUIRED; } +hidspecial HID_PROP_RIGHT { HelpId = HID_PROP_RIGHT; } +hidspecial HID_PROP_ROOT_DISPLAYED { HelpId = HID_PROP_ROOT_DISPLAYED; } +hidspecial HID_PROP_ROWHEIGHT { HelpId = HID_PROP_ROWHEIGHT; } +hidspecial HID_PROP_ROW_HEIGHT { HelpId = HID_PROP_ROW_HEIGHT; } +hidspecial HID_PROP_SCALEIMAGE { HelpId = HID_PROP_SCALEIMAGE; } +hidspecial HID_PROP_SCROLLVALUE { HelpId = HID_PROP_SCROLLVALUE; } +hidspecial HID_PROP_SCROLLVALUEMIN { HelpId = HID_PROP_SCROLLVALUE_MIN; } +hidspecial HID_PROP_SCROLLVALUE_MAX { HelpId = HID_PROP_SCROLLVALUE_MAX; } +hidspecial HID_PROP_SCROLLVALUE_MIN { HelpId = HID_PROP_SCROLLVALUE_MIN; } +hidspecial HID_PROP_SEARCHING { HelpId = HID_PROP_SEARCHING; } +hidspecial HID_PROP_SELECTEDITEMS { HelpId = HID_PROP_SELECTEDITEMS; } +hidspecial HID_PROP_SELECTION_TYPE { HelpId = HID_PROP_SELECTION_TYPE; } +hidspecial HID_PROP_SHOWS_HANDLES { HelpId = HID_PROP_SHOWS_HANDLES; } +hidspecial HID_PROP_SHOWS_ROOT_HANDLES { HelpId = HID_PROP_SHOWS_ROOT_HANDLES; } +hidspecial HID_PROP_SHOWTHOUSANDSEP { HelpId = HID_PROP_SHOWTHOUSANDSEP; } +hidspecial HID_PROP_SHOW_FILTERSORT { HelpId = HID_PROP_SHOW_FILTERSORT; } +hidspecial HID_PROP_SHOW_NAVIGATION { HelpId = HID_PROP_SHOW_NAVIGATION; } +hidspecial HID_PROP_SHOW_POSITION { HelpId = HID_PROP_SHOW_POSITION; } +hidspecial HID_PROP_SHOW_RECORDACTIONS { HelpId = HID_PROP_SHOW_RECORDACTIONS; } +hidspecial HID_PROP_SHOW_SCROLLBARS { HelpId = HID_PROP_SHOW_SCROLLBARS; } +hidspecial HID_PROP_SLAVEFIELDS { HelpId = HID_PROP_SLAVEFIELDS; } +hidspecial HID_PROP_SORT_CRITERIA { HelpId = HID_PROP_SORT_CRITERIA; } +hidspecial HID_PROP_SPIN { HelpId = HID_PROP_SPIN; } +hidspecial HID_PROP_SPININCREMENT { HelpId = HID_PROP_SPININCREMENT; } +hidspecial HID_PROP_SPINVALUE { HelpId = HID_PROP_SPINVALUE; } +hidspecial HID_PROP_SPINVALUE_MAX { HelpId = HID_PROP_SPINVALUE_MAX; } +hidspecial HID_PROP_SPINVALUE_MIN { HelpId = HID_PROP_SPINVALUE_MIN; } +hidspecial HID_PROP_STATE { HelpId = HID_PROP_STATE; } +hidspecial HID_PROP_STEP { HelpId = HID_PROP_STEP; } +hidspecial HID_PROP_STRICTFORMAT { HelpId = HID_PROP_STRICTFORMAT; } +hidspecial HID_PROP_STRINGITEMLIST { HelpId = HID_PROP_STRINGITEMLIST; } +hidspecial HID_PROP_SUBMISSION_ID { HelpId = HID_PROP_SUBMISSION_ID; } +hidspecial HID_PROP_SUBMIT_ACTION { HelpId = HID_PROP_SUBMIT_ACTION; } +hidspecial HID_PROP_SUBMIT_ENCODING { HelpId = HID_PROP_SUBMIT_ENCODING; } +hidspecial HID_PROP_SUBMIT_METHOD { HelpId = HID_PROP_SUBMIT_METHOD; } +hidspecial HID_PROP_SUBMIT_TARGET { HelpId = HID_PROP_SUBMIT_TARGET; } +hidspecial HID_PROP_SYMBOLCOLOR { HelpId = HID_PROP_SYMBOLCOLOR; } +hidspecial HID_PROP_TABINDEX { HelpId = HID_PROP_TABINDEX; } +hidspecial HID_PROP_TABORDER_CONTROLS { HelpId = HID_PROP_TABORDER_CONTROLS; } +hidspecial HID_PROP_TABSTOP { HelpId = HID_PROP_TABSTOP; } +hidspecial HID_PROP_TAG { HelpId = HID_PROP_TAG; } +hidspecial HID_PROP_TARGET_FRAME { HelpId = HID_PROP_TARGET_FRAME; } +hidspecial HID_PROP_TARGET_URL { HelpId = HID_PROP_TARGET_URL; } +hidspecial HID_PROP_TEXT { HelpId = HID_PROP_TEXT; } +hidspecial HID_PROP_TEXTTYPE { HelpId = HID_PROP_TEXTTYPE; } +hidspecial HID_PROP_TIME { HelpId = HID_PROP_TIME; } +hidspecial HID_PROP_TIMEFORMAT { HelpId = HID_PROP_TIMEFORMAT; } +hidspecial HID_PROP_TIMEMAX { HelpId = HID_PROP_TIMEMAX; } +hidspecial HID_PROP_TIMEMIN { HelpId = HID_PROP_TIMEMIN; } +hidspecial HID_PROP_TITLE { HelpId = HID_PROP_TITLE; } +hidspecial HID_PROP_TOGGLE { HelpId = HID_PROP_TOGGLE; } +hidspecial HID_PROP_TRISTATE { HelpId = HID_PROP_TRISTATE; } +hidspecial HID_PROP_UNCHECKEDREFVALUE { HelpId = HID_PROP_UNCHECKEDREFVALUE; } +hidspecial HID_PROP_UNIQUE { HelpId = HID_PROP_UNIQUE; } +hidspecial HID_PROP_VALUE { HelpId = HID_PROP_VALUE; } +hidspecial HID_PROP_VALUEMAX { HelpId = HID_PROP_VALUEMAX; } +hidspecial HID_PROP_VALUEMIN { HelpId = HID_PROP_VALUEMIN; } +hidspecial HID_PROP_VALUESTEP { HelpId = HID_PROP_VALUESTEP; } +hidspecial HID_PROP_VERTICAL_ALIGN { HelpId = HID_PROP_VERTICAL_ALIGN; } +hidspecial HID_PROP_VISIBLESIZE { HelpId = HID_PROP_VISIBLESIZE; } +hidspecial HID_PROP_VISUALEFFECT { HelpId = HID_PROP_VISUALEFFECT; } +hidspecial HID_PROP_VSCROLL { HelpId = HID_PROP_VSCROLL; } +hidspecial HID_PROP_WHEEL_BEHAVIOR { HelpId = HID_PROP_WHEEL_BEHAVIOR; } +hidspecial HID_PROP_WIDTH { HelpId = HID_PROP_WIDTH; } +hidspecial HID_PROP_WORDBREAK { HelpId = HID_PROP_WORDBREAK; } +hidspecial HID_PROP_WRITING_MODE { HelpId = HID_PROP_WRITING_MODE; } hidspecial HID_PROP_XML_DATA_MODEL { HelpId = HID_PROP_XML_DATA_MODEL; } -hidspecial HID_PROP_BIND_EXPRESSION { HelpId = HID_PROP_BIND_EXPRESSION; } -hidspecial HID_PROP_XSD_REQUIRED { HelpId = HID_PROP_XSD_REQUIRED; } -hidspecial HID_PROP_XSD_RELEVANT { HelpId = HID_PROP_XSD_RELEVANT; } -hidspecial HID_PROP_XSD_READONLY { HelpId = HID_PROP_XSD_READONLY; } -hidspecial HID_PROP_XSD_CONSTRAINT { HelpId = HID_PROP_XSD_CONSTRAINT; } hidspecial HID_PROP_XSD_CALCULATION { HelpId = HID_PROP_XSD_CALCULATION; } +hidspecial HID_PROP_XSD_CONSTRAINT { HelpId = HID_PROP_XSD_CONSTRAINT; } hidspecial HID_PROP_XSD_DATA_TYPE { HelpId = HID_PROP_XSD_DATA_TYPE; } -hidspecial HID_PROP_XSD_WHITESPACES { HelpId = HID_PROP_XSD_WHITESPACES; } -hidspecial HID_PROP_XSD_PATTERN { HelpId = HID_PROP_XSD_PATTERN; } +hidspecial HID_PROP_XSD_FRACTION_DIGITS { HelpId = HID_PROP_XSD_FRACTION_DIGITS; } hidspecial HID_PROP_XSD_LENGTH { HelpId = HID_PROP_XSD_LENGTH; } -hidspecial HID_PROP_XSD_MIN_LENGTH { HelpId = HID_PROP_XSD_MIN_LENGTH; } +hidspecial HID_PROP_XSD_MAX_EXCLUSIVE { HelpId = HID_PROP_XSD_MAX_EXCLUSIVE; } +hidspecial HID_PROP_XSD_MAX_INCLUSIVE { HelpId = HID_PROP_XSD_MAX_INCLUSIVE; } hidspecial HID_PROP_XSD_MAX_LENGTH { HelpId = HID_PROP_XSD_MAX_LENGTH; } +hidspecial HID_PROP_XSD_MIN_EXCLUSIVE { HelpId = HID_PROP_XSD_MIN_EXCLUSIVE; } +hidspecial HID_PROP_XSD_MIN_INCLUSIVE { HelpId = HID_PROP_XSD_MIN_INCLUSIVE; } +hidspecial HID_PROP_XSD_MIN_LENGTH { HelpId = HID_PROP_XSD_MIN_LENGTH; } +hidspecial HID_PROP_XSD_PATTERN { HelpId = HID_PROP_XSD_PATTERN; } +hidspecial HID_PROP_XSD_READONLY { HelpId = HID_PROP_XSD_READONLY; } +hidspecial HID_PROP_XSD_RELEVANT { HelpId = HID_PROP_XSD_RELEVANT; } +hidspecial HID_PROP_XSD_REQUIRED { HelpId = HID_PROP_XSD_REQUIRED; } +hidspecial HID_PROP_XSD_TOTAL_DIGITS { HelpId = HID_PROP_XSD_TOTAL_DIGITS; } +hidspecial HID_PROP_XSD_WHITESPACES { HelpId = HID_PROP_XSD_WHITESPACES; } + +hidspecial HID_PROTOCOLS { HelpId = HID_PROTOCOLS; } +hidspecial HID_SELECTION_TLB { HelpId = HID_SELECTION_TLB; } + +hidspecial UID_ABSPILOT_HELP { HelpId = UID_ABSPILOT_HELP; } +hidspecial UID_BIB_FRAME_WINDOW { HelpId = UID_BIB_FRAME_WINDOW;} + +hidspecial UID_BRWEVT_ACTIONPERFORMED { HelpId = UID_BRWEVT_ACTIONPERFORMED; } +hidspecial UID_BRWEVT_ADJUSTMENTVALUECHANGED { HelpId = UID_BRWEVT_ADJUSTMENTVALUECHANGED; } +hidspecial UID_BRWEVT_AFTERUPDATE { HelpId = UID_BRWEVT_AFTERUPDATE; } +hidspecial UID_BRWEVT_APPROVEACTIONPERFORMED { HelpId = UID_BRWEVT_APPROVEACTIONPERFORMED; } +hidspecial UID_BRWEVT_APPROVEPARAMETER { HelpId = UID_BRWEVT_APPROVEPARAMETER; } +hidspecial UID_BRWEVT_APPROVERESETTED { HelpId = UID_BRWEVT_APPROVERESETTED; } +hidspecial UID_BRWEVT_APPROVEROWCHANGE { HelpId = UID_BRWEVT_APPROVEROWCHANGE; } +hidspecial UID_BRWEVT_BEFOREUPDATE { HelpId = UID_BRWEVT_BEFOREUPDATE; } +hidspecial UID_BRWEVT_CHANGED { HelpId = UID_BRWEVT_CHANGED; } +hidspecial UID_BRWEVT_CONFIRMDELETE { HelpId = UID_BRWEVT_CONFIRMDELETE; } +hidspecial UID_BRWEVT_ERROROCCURED { HelpId = UID_BRWEVT_ERROROCCURED; } +hidspecial UID_BRWEVT_FOCUSGAINED { HelpId = UID_BRWEVT_FOCUSGAINED; } +hidspecial UID_BRWEVT_FOCUSLOST { HelpId = UID_BRWEVT_FOCUSLOST; } +hidspecial UID_BRWEVT_ITEMSTATECHANGED { HelpId = UID_BRWEVT_ITEMSTATECHANGED; } +hidspecial UID_BRWEVT_KEYTYPED { HelpId = UID_BRWEVT_KEYTYPED; } +hidspecial UID_BRWEVT_KEYUP { HelpId = UID_BRWEVT_KEYUP; } +hidspecial UID_BRWEVT_LOADED { HelpId = UID_BRWEVT_LOADED; } +hidspecial UID_BRWEVT_MOUSEDRAGGED { HelpId = UID_BRWEVT_MOUSEDRAGGED; } +hidspecial UID_BRWEVT_MOUSEENTERED { HelpId = UID_BRWEVT_MOUSEENTERED; } +hidspecial UID_BRWEVT_MOUSEEXITED { HelpId = UID_BRWEVT_MOUSEEXITED; } +hidspecial UID_BRWEVT_MOUSEMOVED { HelpId = UID_BRWEVT_MOUSEMOVED; } +hidspecial UID_BRWEVT_MOUSEPRESSED { HelpId = UID_BRWEVT_MOUSEPRESSED; } +hidspecial UID_BRWEVT_MOUSERELEASED { HelpId = UID_BRWEVT_MOUSERELEASED; } +hidspecial UID_BRWEVT_POSITIONED { HelpId = UID_BRWEVT_POSITIONED; } +hidspecial UID_BRWEVT_POSITIONING { HelpId = UID_BRWEVT_POSITIONING; } +hidspecial UID_BRWEVT_RELOADED { HelpId = UID_BRWEVT_RELOADED; } +hidspecial UID_BRWEVT_RELOADING { HelpId = UID_BRWEVT_RELOADING; } +hidspecial UID_BRWEVT_RESETTED { HelpId = UID_BRWEVT_RESETTED; } +hidspecial UID_BRWEVT_ROWCHANGE { HelpId = UID_BRWEVT_ROWCHANGE; } +hidspecial UID_BRWEVT_SUBMITTED { HelpId = UID_BRWEVT_SUBMITTED; } +hidspecial UID_BRWEVT_TEXTCHANGED { HelpId = UID_BRWEVT_TEXTCHANGED; } +hidspecial UID_BRWEVT_UNLOADED { HelpId = UID_BRWEVT_UNLOADED; } +hidspecial UID_BRWEVT_UNLOADING { HelpId = UID_BRWEVT_UNLOADING; } + +hidspecial UID_DBIWIZARD_FORMS { HelpId = UID_DBIWIZARD_FORMS; } +hidspecial UID_DBIWIZARD_FORMS_SAVETO { HelpId = UID_DBIWIZARD_FORMS_SAVETO; } +hidspecial UID_DBIWIZARD_HELP { HelpId = UID_DBIWIZARD_HELP; } +hidspecial UID_DBIWIZARD_QUERIES { HelpId = UID_DBIWIZARD_QUERIES; } +hidspecial UID_DBIWIZARD_SOURCEFILE { HelpId = UID_DBIWIZARD_SOURCEFILE; } +hidspecial UID_DBIWIZARD_SOURCESTATS { HelpId = UID_DBIWIZARD_SOURCESTATS; } + +hidspecial UID_EVT_MACRODLG { HelpId = UID_EVT_MACRODLG; } + +hidspecial UID_FIELDLINK_DETAIL1 { HelpId = UID_FIELDLINK_DETAIL1; } +hidspecial UID_FIELDLINK_DETAIL2 { HelpId = UID_FIELDLINK_DETAIL2; } +hidspecial UID_FIELDLINK_DETAIL3 { HelpId = UID_FIELDLINK_DETAIL3; } +hidspecial UID_FIELDLINK_DETAIL4 { HelpId = UID_FIELDLINK_DETAIL4; } +hidspecial UID_FIELDLINK_MASTER1 { HelpId = UID_FIELDLINK_MASTER1; } +hidspecial UID_FIELDLINK_MASTER2 { HelpId = UID_FIELDLINK_MASTER2; } +hidspecial UID_FIELDLINK_MASTER3 { HelpId = UID_FIELDLINK_MASTER3; } +hidspecial UID_FIELDLINK_MASTER4 { HelpId = UID_FIELDLINK_MASTER4; } + +hidspecial UID_PROP_ADD_DATA_TYPE { HelpId = UID_PROP_ADD_DATA_TYPE; } +hidspecial UID_PROP_DLG_ATTR_DATASOURCE { HelpId = UID_PROP_DLG_ATTR_DATASOURCE; } +hidspecial UID_PROP_DLG_ATTR_DATASOURCE { HelpId = UID_PROP_DLG_ATTR_DATASOURCE; } +hidspecial UID_PROP_DLG_ATTR_TARGET_URL { HelpId = UID_PROP_DLG_ATTR_TARGET_URL; } +hidspecial UID_PROP_DLG_ATTR_TARGET_URL { HelpId = UID_PROP_DLG_ATTR_TARGET_URL; } +hidspecial UID_PROP_DLG_BACKGROUNDCOLOR { HelpId = UID_PROP_DLG_BACKGROUNDCOLOR; } +hidspecial UID_PROP_DLG_BACKGROUNDCOLOR { HelpId = UID_PROP_DLG_BACKGROUNDCOLOR; } hidspecial UID_PROP_DLG_BIND_EXPRESSION { HelpId = UID_PROP_DLG_BIND_EXPRESSION; } -hidspecial UID_PROP_DLG_XSD_REQUIRED { HelpId = UID_PROP_DLG_XSD_REQUIRED; } -hidspecial UID_PROP_DLG_XSD_RELEVANT { HelpId = UID_PROP_DLG_XSD_RELEVANT; } -hidspecial UID_PROP_DLG_XSD_READONLY { HelpId = UID_PROP_DLG_XSD_READONLY; } -hidspecial UID_PROP_DLG_XSD_CONSTRAINT { HelpId = UID_PROP_DLG_XSD_CONSTRAINT; } +hidspecial UID_PROP_DLG_BORDERCOLOR { HelpId = UID_PROP_DLG_BORDERCOLOR; } +hidspecial UID_PROP_DLG_CONTROLLABEL { HelpId = UID_PROP_DLG_CONTROLLABEL; } +hidspecial UID_PROP_DLG_CONTROLLABEL { HelpId = UID_PROP_DLG_CONTROLLABEL; } +hidspecial UID_PROP_DLG_FILLCOLOR { HelpId = UID_PROP_DLG_FILLCOLOR; } +hidspecial UID_PROP_DLG_FILLCOLOR { HelpId = UID_PROP_DLG_FILLCOLOR; } +hidspecial UID_PROP_DLG_FILTER { HelpId = UID_PROP_DLG_FILTER; } +hidspecial UID_PROP_DLG_FONT_TYPE { HelpId = UID_PROP_DLG_FONT_TYPE; } +hidspecial UID_PROP_DLG_FONT_TYPE { HelpId = UID_PROP_DLG_FONT_TYPE; } +hidspecial UID_PROP_DLG_FORMLINKFIELDS { HelpId = UID_PROP_DLG_FORMLINKFIELDS; } +hidspecial UID_PROP_DLG_IMAGE_URL { HelpId = UID_PROP_DLG_IMAGE_URL; } +hidspecial UID_PROP_DLG_IMAGE_URL { HelpId = UID_PROP_DLG_IMAGE_URL; } +hidspecial UID_PROP_DLG_NUMBER_FORMAT { HelpId = UID_PROP_DLG_NUMBER_FORMAT; } +hidspecial UID_PROP_DLG_NUMBER_FORMAT { HelpId = UID_PROP_DLG_NUMBER_FORMAT; } +hidspecial UID_PROP_DLG_ORDER { HelpId = UID_PROP_DLG_ORDER; } +hidspecial UID_PROP_DLG_SELECTION { HelpId = UID_PROP_DLG_SELECTION; } +hidspecial UID_PROP_DLG_SQLCOMMAND { HelpId = UID_PROP_DLG_SQLCOMMAND; } +hidspecial UID_PROP_DLG_SYMBOLCOLOR { HelpId = UID_PROP_DLG_SYMBOLCOLOR; } +hidspecial UID_PROP_DLG_TABINDEX { HelpId = UID_PROP_DLG_TABINDEX; } hidspecial UID_PROP_DLG_XSD_CALCULATION { HelpId = UID_PROP_DLG_XSD_CALCULATION; } -hidspecial UID_PROP_ADD_DATA_TYPE { HelpId = UID_PROP_ADD_DATA_TYPE; } +hidspecial UID_PROP_DLG_XSD_CONSTRAINT { HelpId = UID_PROP_DLG_XSD_CONSTRAINT; } +hidspecial UID_PROP_DLG_XSD_READONLY { HelpId = UID_PROP_DLG_XSD_READONLY; } +hidspecial UID_PROP_DLG_XSD_RELEVANT { HelpId = UID_PROP_DLG_XSD_RELEVANT; } +hidspecial UID_PROP_DLG_XSD_REQUIRED { HelpId = UID_PROP_DLG_XSD_REQUIRED; } hidspecial UID_PROP_REMOVE_DATA_TYPE { HelpId = UID_PROP_REMOVE_DATA_TYPE; } -hidspecial HID_PROP_XSD_TOTAL_DIGITS { HelpId = HID_PROP_XSD_TOTAL_DIGITS; } -hidspecial HID_PROP_XSD_FRACTION_DIGITS { HelpId = HID_PROP_XSD_FRACTION_DIGITS; } -hidspecial HID_PROP_XSD_MAX_INCLUSIVE { HelpId = HID_PROP_XSD_MAX_INCLUSIVE; } -hidspecial HID_PROP_XSD_MAX_EXCLUSIVE { HelpId = HID_PROP_XSD_MAX_EXCLUSIVE; } -hidspecial HID_PROP_XSD_MIN_INCLUSIVE { HelpId = HID_PROP_XSD_MIN_INCLUSIVE; } -hidspecial HID_PROP_XSD_MIN_EXCLUSIVE { HelpId = HID_PROP_XSD_MIN_EXCLUSIVE; } -hidspecial HID_PROP_UNCHECKEDREFVALUE { HelpId = HID_PROP_UNCHECKEDREFVALUE; } -hidspecial HID_PROP_SUBMISSION_ID { HelpId = HID_PROP_SUBMISSION_ID; } -hidspecial HID_PROP_LIST_BINDING { HelpId = HID_PROP_LIST_BINDING; } -hidspecial HID_PROP_BINDING_NAME { HelpId = HID_PROP_BINDING_NAME; } - -hidspecial HID_CHECK_FOR_UPD_DLG { HelpId = HID_CHECK_FOR_UPD_DLG; } -hidspecial HID_CHECK_FOR_UPD_CLOSE { HelpId = HID_CHECK_FOR_UPD_CLOSE; } -hidspecial HID_CHECK_FOR_UPD_PAUSE { HelpId = HID_CHECK_FOR_UPD_PAUSE; } -hidspecial HID_CHECK_FOR_UPD_RESUME { HelpId = HID_CHECK_FOR_UPD_RESUME; } -hidspecial HID_CHECK_FOR_UPD_DOWNLOAD { HelpId = HID_CHECK_FOR_UPD_DOWNLOAD; } -hidspecial HID_CHECK_FOR_UPD_DOWNLOAD2 { HelpId = HID_CHECK_FOR_UPD_DOWNLOAD2; } -hidspecial HID_CHECK_FOR_UPD_INSTALL { HelpId = HID_CHECK_FOR_UPD_INSTALL; } -hidspecial HID_CHECK_FOR_UPD_STATUS { HelpId = HID_CHECK_FOR_UPD_STATUS; } -hidspecial HID_CHECK_FOR_UPD_DESCRIPTION { HelpId = HID_CHECK_FOR_UPD_DESCRIPTION; } -hidspecial HID_CHECK_FOR_UPD_CANCEL { HelpId = HID_CHECK_FOR_UPD_CANCEL; } -hidspecial HID_PROP_NOLABEL { HelpId = HID_PROP_NOLABEL; } -hidspecial HID_PROP_INPUT_REQUIRED { HelpId = HID_PROP_INPUT_REQUIRED; } -hidspecial HID_PROP_WRITING_MODE { HelpId = HID_PROP_WRITING_MODE; } -hidspecial HID_PROP_ENABLE_VISIBLE { HelpId = HID_PROP_ENABLE_VISIBLE; } -hidspecial HID_PROP_WHEEL_BEHAVIOR { HelpId = HID_PROP_WHEEL_BEHAVIOR; } -hidspecial HID_PROP_ANCHOR_TYPE { HelpId = HID_PROP_ANCHOR_TYPE; } -- cgit From bb35ec279351b63104a1edbb4033693387d774b2 Mon Sep 17 00:00:00 2001 From: sb Date: Fri, 2 Oct 2009 13:56:08 +0200 Subject: #i101955# adapted LDAP backend to new interface, dropped registry/ldap/*-attr.map files, replaced registry/data/org/openoffice/LDAP.xcu.sample with registry/oo-ldap.xcd.sample and registry/oo-ad-ldap.xcd.sample --- extensions/source/config/ldap/componentdef.cxx | 51 +--- extensions/source/config/ldap/ldapaccess.cxx | 75 ++--- extensions/source/config/ldap/ldapaccess.hxx | 33 +-- extensions/source/config/ldap/ldapbe2.uno.xml | 45 --- extensions/source/config/ldap/ldapuserprof.cxx | 229 ---------------- extensions/source/config/ldap/ldapuserprof.hxx | 166 ------------ .../source/config/ldap/ldapuserprofilebe.cxx | 301 +++++---------------- .../source/config/ldap/ldapuserprofilebe.hxx | 112 ++++---- .../source/config/ldap/ldapuserprofilelayer.cxx | 247 ----------------- .../source/config/ldap/ldapuserprofilelayer.hxx | 124 --------- extensions/source/config/ldap/makefile.mk | 4 - .../source/config/ldap/propertysethelper.cxx | 153 ----------- .../source/config/ldap/propertysethelper.hxx | 137 ---------- 13 files changed, 171 insertions(+), 1506 deletions(-) delete mode 100644 extensions/source/config/ldap/ldapbe2.uno.xml delete mode 100644 extensions/source/config/ldap/ldapuserprof.cxx delete mode 100644 extensions/source/config/ldap/ldapuserprof.hxx delete mode 100644 extensions/source/config/ldap/ldapuserprofilelayer.cxx delete mode 100644 extensions/source/config/ldap/ldapuserprofilelayer.hxx delete mode 100644 extensions/source/config/ldap/propertysethelper.cxx delete mode 100644 extensions/source/config/ldap/propertysethelper.hxx (limited to 'extensions') diff --git a/extensions/source/config/ldap/componentdef.cxx b/extensions/source/config/ldap/componentdef.cxx index 7759a96d4d9a..0fe67caa6d7e 100644 --- a/extensions/source/config/ldap/componentdef.cxx +++ b/extensions/source/config/ldap/componentdef.cxx @@ -31,14 +31,8 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_extensions.hxx" -#ifndef EXTENSIONS_CONFIG_LDAP_LDAPUSERPROFILE_HXX_ #include "ldapuserprofilebe.hxx" -#endif //CONFIGMGR_BACKEND_LDAPUSERPROFILE_HXX_ -#include -#ifndef _CPPUHELPER_IMPLEMENTATIONENTRY_HXX_ #include -#endif // _CPPUHELPER_IMPLEMENTATIONENTRY_HXX_ -#include using namespace extensions::config::ldap ; @@ -73,49 +67,8 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( extern "C" sal_Bool SAL_CALL component_writeInfo(void *aServiceManager, void *aRegistryKey) { - using namespace ::com::sun::star::registry; - if (aRegistryKey) - { - - /** Service factory */ - uno::Reference xFactory - (reinterpret_cast (aServiceManager), - uno::UNO_QUERY); - - rtl::OUStringBuffer aImplKeyName; - aImplKeyName.appendAscii("/"); - aImplKeyName.append(LdapUserProfileBe::getLdapUserProfileBeName()); - - rtl::OUString aMainKeyName(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES")); - - uno::Reference xNewImplKey( - reinterpret_cast - (aRegistryKey)->createKey(aImplKeyName.makeStringAndClear())); - - uno::Reference xNewKey( - xNewImplKey->createKey(aMainKeyName)); - - //Now register associated service names - uno::Sequence sServiceNames = - LdapUserProfileBe::getLdapUserProfileBeServiceNames(); - for (sal_Int32 i = 0 ; i < sServiceNames.getLength() ; ++ i) - { - xNewKey->createKey(sServiceNames[i]); - } - //Now register associated org.openoffice.UserProfile component - //that this backend supports under xNewImplKey - uno::Reference xComponentKey( - xNewImplKey->createKey(rtl::OUString::createFromAscii - ("/DATA/SupportedComponents"))); - - uno::Sequence aComponentList(1); - aComponentList[0]= rtl::OUString::createFromAscii - ("org.openoffice.UserProfile"); - - xComponentKey->setAsciiListValue(aComponentList); - return sal_True; - } - return sal_False; + return cppu::component_writeInfoHelper( + aServiceManager, aRegistryKey, kImplementations_entries); } //------------------------------------------------------------------------------ diff --git a/extensions/source/config/ldap/ldapaccess.cxx b/extensions/source/config/ldap/ldapaccess.cxx index a850a441c5fe..02a9910f082c 100644 --- a/extensions/source/config/ldap/ldapaccess.cxx +++ b/extensions/source/config/ldap/ldapaccess.cxx @@ -33,7 +33,6 @@ #include "ldapaccess.hxx" -#include "ldapuserprof.hxx" #include #include @@ -49,6 +48,8 @@ t_ldap_init LdapConnection::s_p_init = NULL; t_ldap_msgfree LdapConnection::s_p_msgfree = NULL; t_ldap_get_dn LdapConnection::s_p_get_dn = NULL; t_ldap_first_entry LdapConnection::s_p_first_entry = NULL; +t_ldap_first_attribute LdapConnection::s_p_first_attribute = NULL; +t_ldap_next_attribute LdapConnection::s_p_next_attribute = NULL; t_ldap_search_s LdapConnection::s_p_search_s = NULL; t_ldap_value_free LdapConnection::s_p_value_free = NULL; t_ldap_get_values LdapConnection::s_p_get_values = NULL; @@ -191,12 +192,12 @@ void LdapConnection::initConnection() } } //------------------------------------------------------------------------------ - void LdapConnection::getUserProfile(const rtl::OUString& aUser, - const LdapUserProfileMap& aUserProfileMap, - LdapUserProfile& aUserProfile) + void LdapConnection::getUserProfile( + const rtl::OUString& aUser, LdapData * data) throw (lang::IllegalArgumentException, ldap::LdapConnectionException, ldap::LdapGenericException) - { +{ + OSL_ASSERT(data != 0); if (!isValid()) { connectSimple(); } rtl::OString aUserDn =findUserDn( rtl::OUStringToOString(aUser, RTL_TEXTENCODING_ASCII_US)); @@ -206,18 +207,25 @@ void LdapConnection::initConnection() aUserDn, LDAP_SCOPE_BASE, "(objectclass=*)", - const_cast(aUserProfileMap.getLdapAttributes()), + 0, 0, // Attributes + values &result.msg) ; checkLdapReturnCode("getUserProfile", retCode,mConnection) ; - - aUserProfileMap.ldapToUserProfile(mConnection, - result.msg, - aUserProfile) ; - - } + void * ptr; + char * attr = (*s_p_first_attribute)(mConnection, result.msg, &ptr); + while (attr != 0) { + char ** values = (*s_p_get_values)(mConnection, result.msg, attr); + if (values != 0) { + data->insert( + LdapData::value_type( + rtl::OStringToOUString(attr, RTL_TEXTENCODING_ASCII_US), + rtl::OStringToOUString(*values, RTL_TEXTENCODING_UTF8))); + } + attr = (*s_p_next_attribute)(mConnection, result.msg, ptr); + } +} //------------------------------------------------------------------------------ rtl::OString LdapConnection::findUserDn(const rtl::OString& aUser) throw (lang::IllegalArgumentException, @@ -267,47 +275,6 @@ void LdapConnection::initConnection() return userDn ; } -//------------------------------------------------------------------------------ -rtl::OString LdapConnection::getSingleAttribute( - const rtl::OString& aDn, - const rtl::OString& aAttribute) - throw (ldap::LdapConnectionException, ldap::LdapGenericException) -{ - if (!isValid()) { connectSimple(); } - const sal_Char *attributes [2] ; - rtl::OString value ; - - attributes [0] = aAttribute ; - attributes [1] = 0 ; - LdapMessageHolder result ; - LdapErrCode retCode = (*s_p_search_s)(mConnection, - aDn, - LDAP_SCOPE_BASE, - "(objectclass=*)", - const_cast(attributes), - 0, // Attributes + values - &result.msg) ; - - if (retCode == LDAP_NO_SUCH_OBJECT) - { - return value ; - } - checkLdapReturnCode("GetSingleAttribute", retCode, mConnection) ; - LDAPMessage *entry = (*s_p_first_entry)(mConnection, result.msg) ; - - if (entry != NULL) - { - sal_Char **values = (*s_p_get_values)(mConnection, entry, - aAttribute) ; - - if (values != NULL) - { - if (*values != NULL) { value = *values ; } - (*s_p_value_free)(values) ; - } - } - return value ; -} extern "C" { static void SAL_CALL thisModule() {} } void LdapConnection::loadModule() @@ -336,6 +303,8 @@ void LdapConnection::loadModule() s_p_msgfree = (t_ldap_msgfree)(osl_getFunctionSymbol(s_Ldap_Module, ::rtl::OUString::createFromAscii("ldap_msgfree").pData)); s_p_get_dn = (t_ldap_get_dn)(osl_getFunctionSymbol(s_Ldap_Module, ::rtl::OUString::createFromAscii("ldap_get_dn").pData)); s_p_first_entry = (t_ldap_first_entry)(osl_getFunctionSymbol(s_Ldap_Module, ::rtl::OUString::createFromAscii("ldap_first_entry").pData)); + s_p_first_attribute = (t_ldap_first_attribute)(osl_getFunctionSymbol(s_Ldap_Module, ::rtl::OUString::createFromAscii("ldap_first_attribute").pData)); + s_p_next_attribute = (t_ldap_next_attribute)(osl_getFunctionSymbol(s_Ldap_Module, ::rtl::OUString::createFromAscii("ldap_next_attribute").pData)); s_p_search_s = (t_ldap_search_s)(osl_getFunctionSymbol(s_Ldap_Module, ::rtl::OUString::createFromAscii("ldap_search_s").pData)); s_p_value_free = (t_ldap_value_free)(osl_getFunctionSymbol(s_Ldap_Module, ::rtl::OUString::createFromAscii("ldap_value_free").pData)); s_p_get_values = (t_ldap_get_values)(osl_getFunctionSymbol(s_Ldap_Module, ::rtl::OUString::createFromAscii("ldap_get_values").pData)); diff --git a/extensions/source/config/ldap/ldapaccess.hxx b/extensions/source/config/ldap/ldapaccess.hxx index 47022bb0d615..3951d8645e6d 100644 --- a/extensions/source/config/ldap/ldapaccess.hxx +++ b/extensions/source/config/ldap/ldapaccess.hxx @@ -31,6 +31,10 @@ #ifndef EXTENSIONS_CONFIG_LDAP_LDAPACCESS_HXX_ #define EXTENSIONS_CONFIG_LDAP_LDAPACCESS_HXX_ +#include "sal/config.h" + +#include + #include "wrapldapinclude.hxx" #include @@ -57,6 +61,8 @@ typedef LDAP_API(LDAP *) (LDAP_CALL *t_ldap_init)( const char *defhost, int defp typedef LDAP_API(int) (LDAP_CALL *t_ldap_msgfree)( LDAPMessage *lm ); typedef LDAP_API(char *) (LDAP_CALL *t_ldap_get_dn)( LDAP *ld, LDAPMessage *entry ); typedef LDAP_API(LDAPMessage *) (LDAP_CALL *t_ldap_first_entry)( LDAP *ld, LDAPMessage *chain ); +typedef LDAP_API(char *) (LDAP_CALL *t_ldap_first_attribute)( LDAP *ld, LDAPMessage *entry, void **ptr ); +typedef LDAP_API(char *) (LDAP_CALL *t_ldap_next_attribute)( LDAP *ld, LDAPMessage *entry, void *ptr ); typedef LDAP_API(int) (LDAP_CALL *t_ldap_search_s)( LDAP *ld, const char *base, int scope, const char *filter, char **attrs, int attrsonly, LDAPMessage **res ); typedef LDAP_API(void) (LDAP_CALL *t_ldap_value_free)( char **vals ); typedef LDAP_API(char **) (LDAP_CALL *t_ldap_get_values)( LDAP *ld, LDAPMessage *entry, const char *target ); @@ -79,10 +85,10 @@ struct LdapDefinition rtl::OString mUserObjectClass; /** User Entity Unique Attribute */ rtl::OString mUserUniqueAttr; - /** Mapping File */ - rtl::OString mMapping; } ; +typedef std::map< rtl::OUString, rtl::OUString > LdapData; // key/value pairs + /** Class encapulating all LDAP functionality */ class LdapConnection { @@ -98,36 +104,19 @@ public: throw (ldap::LdapConnectionException, ldap::LdapGenericException); - /** query connection status */ - bool isConnected() const { return isValid(); } - /** Gets LdapUserProfile from LDAP repository for specified user @param aUser name of logged on user @param aUserProfileMap Map containing LDAP->00o mapping - @param aUserProfile struct for holding OOo values + @param aUserProfile struct for holding OOo values @throws com::sun::star::ldap::LdapGenericException if an LDAP error occurs. */ - void getUserProfile(const rtl::OUString& aUser, - const LdapUserProfileMap& aUserProfileMap, - LdapUserProfile& aUserProfile) + void getUserProfile(const rtl::OUString& aUser, LdapData * data) throw (lang::IllegalArgumentException, ldap::LdapConnectionException, ldap::LdapGenericException); - /** - Retrieves a single attribute from a single entry. - @param aDn entry DN - @param aAttribute attribute name - - @throws com::sun::star::ldap::LdapGenericException - if an LDAP error occurs. - */ - rtl::OString getSingleAttribute(const rtl::OString& aDn, - const rtl::OString& aAttribute) - throw (ldap::LdapConnectionException, - ldap::LdapGenericException); /** finds DN of user @return DN of User @@ -169,6 +158,8 @@ private: static t_ldap_msgfree s_p_msgfree; static t_ldap_get_dn s_p_get_dn; static t_ldap_first_entry s_p_first_entry; + static t_ldap_first_attribute s_p_first_attribute; + static t_ldap_next_attribute s_p_next_attribute; static t_ldap_search_s s_p_search_s; static t_ldap_memfree s_p_memfree; diff --git a/extensions/source/config/ldap/ldapbe2.uno.xml b/extensions/source/config/ldap/ldapbe2.uno.xml deleted file mode 100644 index e365e20f48aa..000000000000 --- a/extensions/source/config/ldap/ldapbe2.uno.xml +++ /dev/null @@ -1,45 +0,0 @@ -c - - - ldapbe2.uno - - Sarah Smith - com.sun.star.comp.configuration.backend.LdapUserProfileBe - The LdapUserProfileBe accesses User Profile settings form a configured LDAP repository - com.sun.star.loader.SharedLibrary - C++ - - com.sun.star.configuration.backend.LdapUserProfileBe - com.sun.star.configuration.backend.PlatformBackend - com.sun.star.configuration.backend.SingleLayerStratum - com.sun.star.configuration.backend.LayerDescriber - com.sun.star.configuration.CannotLoadConfigurationException - com.sun.star.configuration.backend.BackendAccessException - com.sun.star.configuration.backend.XLayer - com.sun.star.configuration.backend.XUpdateHandler - com.sun.star.configuration.backend.XSingleLayerStratum - com.sun.star.uno.XComponentContext - com.sun.star.lang.IllegalArgumentException - com.sun.star.lang.XInitialization - com.sun.star.lang.XMultiServiceFactory - com.sun.star.lang.XServiceInfo - com.sun.star.lang.XSingleServiceFactory - com.sun.star.lang.XSingleComponentFactory - com.sun.star.lang.XTypeProvider - com.sun.star.registry.XRegistryKey - com.sun.star.uno.Any - com.sun.star.uno.Sequence - - comphelper - vos - cppuhelper - salhelper - cppu - sal - comphelp2$(COM) - vos2$(COM) - cppuhelper3$(COM) - salhelper3$(COM) - cppu3 - sal3 - diff --git a/extensions/source/config/ldap/ldapuserprof.cxx b/extensions/source/config/ldap/ldapuserprof.cxx deleted file mode 100644 index 3a031ddae211..000000000000 --- a/extensions/source/config/ldap/ldapuserprof.cxx +++ /dev/null @@ -1,229 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ldapuserprof.cxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_extensions.hxx" -#include "ldapuserprof.hxx" -#include "ldapaccess.hxx" -namespace extensions { namespace config { namespace ldap { -//============================================================================== - -//------------------------------------------------------------------------------ - -/** - Finds the next line in a buffer and returns it, along with a - modified version of the buffer with the line removed. - - @param aString string to extract the next line from - @param aLine next line - @return sal_True if a line has been extracted, sal_False otherwise - */ -static sal_Bool getNextLine(rtl::OString& aString, - rtl::OString& aLine) -{ - aString = aString.trim() ; - const sal_Char *currentChar = aString ; - const sal_Char *endChar = currentChar + aString.getLength() ; - sal_Int32 lineThreshold = 0 ; - - while (currentChar < endChar && - *currentChar != '\r' && *currentChar != '\n') { ++ currentChar ; } - lineThreshold = currentChar - static_cast(aString) ; - if (lineThreshold == 0) { return sal_False ; } - aLine = aString.copy(0, lineThreshold) ; - aString = aString.copy(lineThreshold) ; - return sal_True ; -} -//------------------------------------------------------------------------------ - -LdapUserProfileMap::~LdapUserProfileMap(void) -{ - // No need to delete the contents of the mAttributes array, - // since they refer to rtl::OStrings stored in the mLdapAttributes - // array. - if (mAttributes != NULL) - { - delete [] mAttributes ; - } -} -//------------------------------------------------------------------------------ - -void LdapUserProfileMap::source(const rtl::OString& aMap) -{ - if (mAttributes != NULL) - { - delete [] mAttributes ; mAttributes = NULL ; - mMapping.clear() ; - } - rtl::OString currentLine ; - rtl::OString buffer = aMap ; - std::set attributes ; - rtl::OString prefix ; - - // First, parse the buffer to find all the mapping definitions. - // While we're at it, we collect the list of unique LDAP attributes - // involved in the mapping. - while (getNextLine(buffer, currentLine)) - { - addNewMapping(currentLine, attributes, prefix) ; - } - // Now we use the list of attributes to build mAttributes - mAttributes = new const sal_Char * [attributes.size() + 1] ; - std::set::const_iterator attribute ; - sal_Int32 i = 0 ; - - for (attribute = attributes.begin() ; - attribute != attributes.end() ; ++ attribute) - { - mAttributes [i ++] = static_cast(*attribute) ; - } - mAttributes [i] = NULL ; -} -//------------------------------------------------------------------------------ - -void LdapUserProfileMap::ldapToUserProfile(LDAP *aConnection, - LDAPMessage *aEntry, - LdapUserProfile& aProfile) const -{ - if (aEntry == NULL) { return ; } - // Ensure return value has proper size - aProfile.mProfile.resize(mMapping.size()) ; - sal_Char **values = NULL ; - - for (sal_uInt32 i = 0 ; i < mMapping.size() ; ++ i) - { - aProfile.mProfile [i].mAttribute = rtl::OStringToOUString( - mMapping [i].mProfileElement, - RTL_TEXTENCODING_ASCII_US); - rtl::OUString debugStr = aProfile.mProfile [i].mAttribute; - - for (sal_uInt32 j = 0 ; - j < mMapping [i].mLdapAttributes.size() ; ++ j) - { - values = (*LdapConnection::s_p_get_values)(aConnection, aEntry, - mMapping [i].mLdapAttributes [j]) ; - - if (values != NULL) - { - aProfile.mProfile[i].mValue = rtl::OStringToOUString( - *values, RTL_TEXTENCODING_UTF8); - (*LdapConnection::s_p_value_free)(values); - break; - } - } - } -} -//------------------------------------------------------------------------------ -void LdapUserProfileMap::addNewMapping(const rtl::OString& aLine, - std::set& aLdapAttributes, - rtl::OString& aPrefix) -{ - if (aLine.getStr() [0] == '#') { return ; } - sal_Int32 prefixLength = aPrefix.getLength() ; - - if (prefixLength == 0) - { - sal_Int32 firstSlash = aLine.indexOf('/') ; - - if (firstSlash == -1) { return ; } - sal_Int32 secondSlash = aLine.indexOf('/', firstSlash + 1) ; - - if (secondSlash == -1){ return; } - - - mComponentName = - rtl::OUString::createFromAscii(aLine.copy(0, firstSlash)) ; - mGroupName = - rtl::OUString::createFromAscii(aLine.copy(firstSlash + 1, - secondSlash - firstSlash - 1)) ; - aPrefix = aLine.copy(0, secondSlash + 1) ; - prefixLength = secondSlash + 1 ; - - } - else if (aLine.compareTo(aPrefix, prefixLength) != 0) - { - return ; - } - mMapping.push_back(Mapping()) ; - if (!mMapping.back().parse(aLine.copy(prefixLength))) - { - mMapping.pop_back() ; - } - else - { - const std::vector& attributes = - mMapping.back().mLdapAttributes ; - std::vector::const_iterator ldapAttribute ; - - for (ldapAttribute = attributes.begin() ; - ldapAttribute != attributes.end() ; ++ ldapAttribute) - { - aLdapAttributes.insert(*ldapAttribute) ; - } - } -} -//------------------------------------------------------------------------------ - -static sal_Char kMappingSeparator = '=' ; -static sal_Char kLdapMapSeparator = ',' ; - -sal_Bool LdapUserProfileMap::Mapping::parse(const rtl::OString& aLine) -{ - sal_Int32 index = aLine.indexOf(kMappingSeparator) ; - - if (index == -1) - { - // Imparsable line - return sal_False ; - } - sal_Int32 oldIndex = index + 1 ; - - mProfileElement = aLine.copy(0, index).trim() ; - mLdapAttributes.clear() ; - index = aLine.indexOf(kLdapMapSeparator, oldIndex) ; - while (index != -1) - { - mLdapAttributes.push_back( - aLine.copy(oldIndex, index - oldIndex).trim()) ; - oldIndex = index + 1 ; - index = aLine.indexOf(kLdapMapSeparator, oldIndex) ; - } - rtl::OString endOfLine = aLine.copy(oldIndex).trim() ; - - if (endOfLine.getLength() > 0) - { - mLdapAttributes.push_back(endOfLine) ; - } - return sal_True ; -} -//------------------------------------------------------------------------------ - -} } } // extensiond.config.ldap - diff --git a/extensions/source/config/ldap/ldapuserprof.hxx b/extensions/source/config/ldap/ldapuserprof.hxx deleted file mode 100644 index 83ba526da27f..000000000000 --- a/extensions/source/config/ldap/ldapuserprof.hxx +++ /dev/null @@ -1,166 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ldapuserprof.hxx,v $ - * $Revision: 1.7 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef EXTENSIONS_CONFIG_LDAP_LDAPUSERPROF_HXX_ -#define EXTENSIONS_CONFIG_LDAP_LDAPUSERPROF_HXX_ - -#include "wrapldapinclude.hxx" -#include -#include - -#ifndef VECTOR_INCLUDED -#define VECTOR_INCLUDED -#include -#endif // VECTOR_INCLUDED - -#ifndef SET_INCLUDED -#define SET_INCLUDED -#include -#endif // SET_INCLUDED - - -namespace extensions { namespace config { namespace ldap { - -/** Struct containing the data associated to a UserProfile */ -struct LdapUserProfile { - /** Struct defining an entry in the profile */ - struct ProfileEntry { - rtl::OUString mAttribute ; - rtl::OUString mValue ; - } ; - /** List of attribute/value pairs */ - std::vector mProfile ; - - typedef std::vector::const_iterator Iterator; -} ; - -/** Provider of UserProfile mapping services */ -class LdapUserProfileMap -{ - public : - /** Default constructor, doesn't do much. */ - LdapUserProfileMap() : mAttributes(NULL) {} - /** Destructor */ - ~LdapUserProfileMap() ; - - /** - Fills the map using a string description of the mapping. - Each possible UserProfile attribute is mapped to a list - of LDAP attributes, in order of priority. - The entry is formatted as: - =,..., - - @param aMap string description of the mapping - */ - void source(const rtl::OString& aMap) ; - /** - Returns an array of all the LDAP attribute names that may - be relevant for UserProfile mapping. - - @return array of LDAP attribute names - */ - const sal_Char **getLdapAttributes(void) const { return mAttributes ; } - /** - Returns the component name that holds the data - when presented to the outside. - - @return component name - */ - const rtl::OUString& getComponentName(void) const { - return mComponentName ; - } - /** - Returns the group name that holds the data when - presented to the outside world. - - @return group name - */ - const rtl::OUString& getGroupName(void) const { - return mGroupName ; - } - /** - Struct defining the mapping between UserProfile attributes - and LDAP ones. It also serves as a crude "schema" of the - UserProfile component, as the list of profile elements - is the list of properties in the component and the presence - or absence of LDAP mapping indicates whether the property - should be made writable or kept read-only. - */ - struct Mapping { - /** Name of the UserProfile element */ - rtl::OString mProfileElement ; - /** Corresponding LDAP attributes in order of priority */ - std::vector mLdapAttributes ; - - /** Utility to fill the mapping from a =;...; - description */ - sal_Bool parse(const rtl::OString& aDescription) ; - } ; - - - /** - Maps an LDAP entry to a UserProfile. - - @param aConnection LDAP connection to the repository - @param aEntry entry containing the data - @param aProfile user profile struct to fill up - */ - void ldapToUserProfile(LDAP *aConnection, - LDAPMessage *aEntry, - LdapUserProfile& aProfile) const ; - - private : - /** Contains the mapping entries */ - std::vector mMapping ; - /** Contains the LDAP attributes used in a NULL terminated array */ - const sal_Char **mAttributes ; - /** User profile component name */ - rtl::OUString mComponentName ; - /** User profile storage group name */ - rtl::OUString mGroupName ; - - /** - Adds a new mapping entry to the list, and collects the - LDAP attributes involved in the mapping. - - @param aMappingDescription string describing the mapping - @param aLdapAttributes collection of LDAP attributes - @param aPrefix common prefix to the attributes - containing the component and group - name, used for validation - */ - void addNewMapping(const rtl::OString& aMappingDescription, - std::set& aLdapAttributes, - rtl::OString& aPrefix) ; -} ; - -} } } // extensions.config.ldap - -#endif // EXTENSIONS_CONFIG_LDAP_LDAPUSERPROF_HXX_ diff --git a/extensions/source/config/ldap/ldapuserprofilebe.cxx b/extensions/source/config/ldap/ldapuserprofilebe.cxx index 330834c5b414..2067f108a90a 100644 --- a/extensions/source/config/ldap/ldapuserprofilebe.cxx +++ b/extensions/source/config/ldap/ldapuserprofilebe.cxx @@ -31,8 +31,8 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_extensions.hxx" +#include "ldapaccess.hxx" #include "ldapuserprofilebe.hxx" -#include "ldapuserprofilelayer.hxx" #include #include #include @@ -43,6 +43,7 @@ #include #endif #include +#include #include //============================================================================== @@ -65,41 +66,19 @@ static void checkIOError( rtl::OUStringBuffer sMsg; sMsg.appendAscii("LdapUserProfileBe: Cannot Read Meta-Configuration file:"); sMsg.append(aFileUrl); - throw backend::BackendSetupException(sMsg.makeStringAndClear(), - NULL, uno::Any()); + throw css::uno::RuntimeException(sMsg.makeStringAndClear(), + NULL); } } } -//------------------------------------------------------------------------------ -#if 0 -static rtl::OUString getCurrentModuleDirectory() // URL excluding terminating slash -{ - rtl::OUString aFileURL; - if ( !osl::Module::getUrlFromAddress((void*)&getCurrentModuleDirectory,aFileURL) ) - { - OSL_TRACE(false, "Cannot locate current module - using executable instead"); - - OSL_VERIFY(osl_Process_E_None == osl_getExecutableFile(&aFileURL.pData)); - } - - OSL_ENSURE(0 < aFileURL.lastIndexOf('/'), "Cannot find directory for module URL"); - - return aFileURL.copy(0, aFileURL.lastIndexOf('/') ); -} -#endif //------------------------------------------------------------------------------ LdapUserProfileBe::LdapUserProfileBe( const uno::Reference& xContext) -// throw (backend::BackendAccessException, backend::BackendSetupException, RuntimeException) : LdapProfileMutexHolder(), - BackendBase(mMutex), - mFactory(xContext->getServiceManager(),uno::UNO_QUERY_THROW), - mContext(xContext), - mLdapSource( new LdapUserProfileSource ), - mLoggedOnUser(), - mUserDN() + BackendBase(mMutex) { LdapDefinition aDefinition; + rtl::OUString loggedOnUser; // This whole rigmarole is to prevent an infinite recursion where reading // the configuration for the backend would create another instance of the @@ -116,16 +95,20 @@ LdapUserProfileBe::LdapUserProfileBe( const uno::Reference( + xContext->getServiceManager(), + css::uno::UNO_QUERY_THROW), + &aDefinition, &loggedOnUser)) { - throw backend::BackendSetupException( + throw css::uno::RuntimeException( rtl::OUString::createFromAscii("LdapUserProfileBe- LDAP not configured"), - NULL, uno::Any()); + NULL); } bReentrantCall = false ; } - catch (uno::Exception&) + catch (...) { bReentrantCall = false; throw; @@ -133,34 +116,10 @@ LdapUserProfileBe::LdapUserProfileBe( const uno::ReferencemConnection.loadModule(); - mLdapSource->mConnection.connectSimple(aDefinition); - //Set the UserDN - mUserDN = mLdapSource->mConnection.findUserDn( - rtl::OUStringToOString(mLoggedOnUser, RTL_TEXTENCODING_ASCII_US)); - } - catch (lang::IllegalArgumentException& exception) - { - throw backend::BackendSetupException(exception.Message, NULL, - uno::makeAny(exception)) ; - } - catch (ldap::LdapConnectionException& exception) - { - throw backend::CannotConnectException(exception.Message, NULL, - uno::makeAny(exception)) ; - } - catch(ldap::LdapGenericException& exception) - { - mapGenericException(exception) ; - } - - initializeMappingTable( - rtl::OStringToOUString(aDefinition.mMapping, - RTL_TEXTENCODING_ASCII_US)); - - OSL_POSTCOND(mLdapSource->mConnection.isConnected(),"Erroneously constructed a LdapUserProfileBackend without a LDAP connection"); + LdapConnection connection; + connection.loadModule(); + connection.connectSimple(aDefinition); + connection.getUserProfile(loggedOnUser, &data_); } //------------------------------------------------------------------------------ LdapUserProfileBe::~LdapUserProfileBe() @@ -168,129 +127,11 @@ LdapUserProfileBe::~LdapUserProfileBe() } //------------------------------------------------------------------------------ -void LdapUserProfileBe::initializeMappingTable(const rtl::OUString& aFileMapName) -{ - rtl::OUString aMappingFileUrl = getMappingFileUrl(aFileMapName ); - - osl::File aFile (aMappingFileUrl); - checkIOError( aFile.open(OpenFlag_Read), aMappingFileUrl); - - sal_uInt64 nFileLength = 0; - checkIOError( aFile.getSize(nFileLength), aMappingFileUrl); - - sal_uInt32 nDataLength = sal_uInt32(nFileLength); - if (nDataLength != nFileLength) - { - throw backend::BackendSetupException(rtl::OUString::createFromAscii - ("LdapUserProfileBe - can not read entire Mapping File: too big"), - NULL, uno::Any()); - } - - struct RawBuffer - { - RawBuffer(sal_Size size) : data(rtl_allocateMemory(size)) {} - ~RawBuffer() { rtl_freeMemory(data); } - - void * data; - }; - RawBuffer buffer( nDataLength ); - - sal_uInt64 nRead = 0; - osl::File::RC result = aFile.read (static_cast(buffer.data), nDataLength, nRead); - if (result != osl::File::E_None) - { - checkIOError( result, aMappingFileUrl ); - OSL_ASSERT(!"unreached"); - } - - if (nRead != nDataLength) - { - throw backend::BackendSetupException(rtl::OUString::createFromAscii - ("LdapUserProfileBe - can not read entire Mapping File"), - NULL, uno::Any()); - } - - rtl::OString aStrBuffer ( static_cast(buffer.data), sal_uInt32(nDataLength) ); - mLdapSource->mProfileMap.source(aStrBuffer); - -} -//------------------------------------------------------------------------------ - -static const rtl::OUString kMappingFileSuffix(RTL_CONSTASCII_USTRINGPARAM( - "-attr.map")); - -static const rtl::OUString kMappingUrl( - RTL_CONSTASCII_USTRINGPARAM("/modules/com.sun.star.configuration/bootstrap/LdapMappingUrl")); - - -static const sal_Unicode kPathSeparator = '/' ; -static const rtl::OUString kBootstrapContextSingletonName( - RTL_CONSTASCII_USTRINGPARAM( - "/singletons/com.sun.star.configuration.bootstrap.theBootstrapContext")); - -rtl::OUString LdapUserProfileBe::getMappingFileUrl(const rtl::OUString& aFileMapName) const -{ - uno::Any aContext = mContext->getValueByName(kBootstrapContextSingletonName); - uno::Reference aBootStrapContext; - - rtl::OUString aFileUrl; - if (aContext >>= aBootStrapContext) - aBootStrapContext->getValueByName(kMappingUrl) >>= aFileUrl; - - if (aFileUrl.getLength() == 0 ) - { -#if 0 - static const rtl::OUString kMappingDirectory(RTL_CONSTASCII_USTRINGPARAM( "/share/registry/ldap")); - - rtl::OUString aModuleUrl = getCurrentModuleDirectory(); - sal_Int32 nIndex = aModuleUrl.lastIndexOf('/'); - if (nIndex == 0) - { - throw backend::BackendSetupException(rtl::OUString::createFromAscii - ("LdapUserProfileBe - can not access Mapping File"), - NULL, uno::Any()); - } - rtl::OUString aMappingFileUrl = aModuleUrl.copy(0, nIndex); - aMappingFileUrl += kMappingDirectory; - aFileUrl = aMappingFileUrl; -#else - throw backend::BackendSetupException(rtl::OUString::createFromAscii - ("LdapUserProfileBe - can not locate Mapping File"), - NULL, uno::Any()); -#endif - } - - rtl::OUStringBuffer sFileBuffer(aFileUrl); - sFileBuffer.append(kPathSeparator); - sFileBuffer.append (aFileMapName); - sFileBuffer.append(kMappingFileSuffix); - return sFileBuffer.makeStringAndClear(); -} -//------------------------------------------------------------------------------ -void LdapUserProfileBe::mapGenericException(ldap::LdapGenericException& aException) - throw (backend::InsufficientAccessRightsException, - backend::ConnectionLostException, - backend::BackendAccessException) -{ - switch (aException.ErrorCode) - { - case LDAP_INSUFFICIENT_ACCESS: - throw backend::InsufficientAccessRightsException(aException.Message, - NULL, uno::makeAny(aException)) ; - - case LDAP_SERVER_DOWN: - case LDAP_CONNECT_ERROR: - throw backend::ConnectionLostException(aException.Message, NULL, - uno::makeAny(aException)) ; - default: - throw backend::BackendAccessException(aException.Message, NULL, - uno::makeAny(aException)) ; - } -} -//------------------------------------------------------------------------------ - -bool LdapUserProfileBe::readLdapConfiguration(LdapDefinition& aDefinition) +bool LdapUserProfileBe::readLdapConfiguration( + css::uno::Reference< css::lang::XMultiServiceFactory > const & factory, + LdapDefinition * definition, rtl::OUString * loggedOnUser) { + OSL_ASSERT(factory.is() && definition != 0 && loggedOnUser != 0); const rtl::OUString kConfigurationProviderService( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.configuration.ConfigurationProvider")) ; const rtl::OUString kReadOnlyViewService( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.configuration.ConfigurationAccess")) ; const rtl::OUString kComponent( RTL_CONSTASCII_USTRINGPARAM("org.openoffice.LDAP/UserDirectory")); @@ -302,14 +143,12 @@ bool LdapUserProfileBe::readLdapConfiguration(LdapDefinition& aDefinition) const rtl::OUString kPassword(RTL_CONSTASCII_USTRINGPARAM("SearchPassword")); const rtl::OUString kUserObjectClass(RTL_CONSTASCII_USTRINGPARAM("UserObjectClass")); const rtl::OUString kUserUniqueAttr(RTL_CONSTASCII_USTRINGPARAM("UserUniqueAttribute")); - const rtl::OUString kMapping(RTL_CONSTASCII_USTRINGPARAM("Mapping")); - const rtl::OString kDefaultMappingFile("oo-ldap"); uno::Reference< XInterface > xIface; try { uno::Reference< lang::XMultiServiceFactory > xCfgProvider( - mFactory->createInstance(kConfigurationProviderService), + factory->createInstance(kConfigurationProviderService), uno::UNO_QUERY); OSL_ENSURE(xCfgProvider.is(),"LdapUserProfileBe: could not create the configuration provider"); if (!xCfgProvider.is()) @@ -327,26 +166,23 @@ bool LdapUserProfileBe::readLdapConfiguration(LdapDefinition& aDefinition) uno::Reference xChildAccess(xIface, uno::UNO_QUERY_THROW); - if (!getLdapStringParam(xChildAccess, kServer, aDefinition.mServer)) + if (!getLdapStringParam(xChildAccess, kServer, definition->mServer)) return false; - if (!getLdapStringParam(xChildAccess, kBaseDN, aDefinition.mBaseDN)) + if (!getLdapStringParam(xChildAccess, kBaseDN, definition->mBaseDN)) return false; - aDefinition.mPort=0; - xChildAccess->getByName(kPort) >>= aDefinition.mPort ; - if (aDefinition.mPort == 0) + definition->mPort=0; + xChildAccess->getByName(kPort) >>= definition->mPort ; + if (definition->mPort == 0) return false; - if (!getLdapStringParam(xAccess, kUserObjectClass, aDefinition.mUserObjectClass)) + if (!getLdapStringParam(xAccess, kUserObjectClass, definition->mUserObjectClass)) return false; - if (!getLdapStringParam(xAccess, kUserUniqueAttr, aDefinition.mUserUniqueAttr)) + if (!getLdapStringParam(xAccess, kUserUniqueAttr, definition->mUserUniqueAttr)) return false; - getLdapStringParam(xAccess, kUser, aDefinition.mAnonUser); - getLdapStringParam(xAccess, kPassword, aDefinition.mAnonCredentials); - - if (!getLdapStringParam(xAccess, kMapping, aDefinition.mMapping)) - aDefinition.mMapping = kDefaultMappingFile; + getLdapStringParam(xAccess, kUser, definition->mAnonUser); + getLdapStringParam(xAccess, kPassword, definition->mAnonCredentials); } catch (uno::Exception & e) { @@ -356,15 +192,15 @@ bool LdapUserProfileBe::readLdapConfiguration(LdapDefinition& aDefinition) } osl::Security aSecurityContext; - if (!aSecurityContext.getUserName(mLoggedOnUser)) + if (!aSecurityContext.getUserName(*loggedOnUser)) OSL_TRACE("LdapUserProfileBackend - could not get Logged on user from system"); - sal_Int32 nIndex = mLoggedOnUser.indexOf('/'); + sal_Int32 nIndex = loggedOnUser->indexOf('/'); if (nIndex > 0) - mLoggedOnUser = mLoggedOnUser.copy(nIndex+1); + *loggedOnUser = loggedOnUser->copy(nIndex+1); //Remember to remove - OSL_TRACE("Logged on user is %s", rtl::OUStringToOString(mLoggedOnUser,RTL_TEXTENCODING_ASCII_US).getStr()); + OSL_TRACE("Logged on user is %s", rtl::OUStringToOString(*loggedOnUser,RTL_TEXTENCODING_ASCII_US).getStr()); return true; } @@ -382,35 +218,48 @@ bool LdapUserProfileBe::getLdapStringParam( return aServerParameter.getLength() != 0; } //------------------------------------------------------------------------------ -uno::Reference SAL_CALL LdapUserProfileBe::getLayer( - const rtl::OUString& /*aComponent*/, const rtl::OUString& /*aTimestamp*/) - throw (backend::BackendAccessException, lang::IllegalArgumentException,uno::RuntimeException) +void LdapUserProfileBe::setPropertyValue( + rtl::OUString const &, css::uno::Any const &) + throw ( + css::beans::UnknownPropertyException, css::beans::PropertyVetoException, + css::lang::IllegalArgumentException, css::lang::WrappedTargetException, + css::uno::RuntimeException) { - OSL_PRECOND(mLdapSource->mConnection.isConnected(), "LdapUserProfileBackend invoked without a connection"); - if (!mLdapSource->mConnection.isConnected()) - return NULL; - - const rtl::OString kModificationAttribute = "modifyTimeStamp"; - - rtl::OString aTimeStamp = mLdapSource->mConnection. - getSingleAttribute( mUserDN, kModificationAttribute); - - return new LdapUserProfileLayer( - mFactory, mLoggedOnUser, mLdapSource, - rtl::OStringToOUString(aTimeStamp, RTL_TEXTENCODING_ASCII_US)); + throw css::lang::IllegalArgumentException( + rtl::OUString( + RTL_CONSTASCII_USTRINGPARAM("setPropertyValue not supported")), + static_cast< cppu::OWeakObject * >(this), -1); } -//------------------------------------------------------------------------------ -uno::Reference SAL_CALL -LdapUserProfileBe::getUpdatableLayer(const rtl::OUString& /*aComponent*/) - throw (backend::BackendAccessException,lang::NoSupportException, - lang::IllegalArgumentException,uno::RuntimeException) +css::uno::Any LdapUserProfileBe::getPropertyValue( + rtl::OUString const & PropertyName) + throw ( + css::beans::UnknownPropertyException, css::lang::WrappedTargetException, + css::uno::RuntimeException) { - throw lang::NoSupportException( - rtl::OUString::createFromAscii( - "LdapUserProfileBe: No Update Operation allowed, Read Only access"), - *this) ; + for (sal_Int32 i = 0;;) { + sal_Int32 j = PropertyName.indexOf(',', i); + if (j == -1) { + j = PropertyName.getLength(); + } + if (j == i) { + throw css::beans::UnknownPropertyException( + PropertyName, static_cast< cppu::OWeakObject * >(this)); + } + LdapData::iterator k(data_.find(PropertyName.copy(i, j - i))); + if (k != data_.end()) { + return css::uno::makeAny( + css::beans::Optional< css::uno::Any >( + true, css::uno::makeAny(k->second))); + } + if (j == PropertyName.getLength()) { + break; + } + i = j + 1; + } + return css::uno::makeAny(css::beans::Optional< css::uno::Any >()); } + //------------------------------------------------------------------------------ rtl::OUString SAL_CALL LdapUserProfileBe::getLdapUserProfileBeName(void) { return rtl::OUString::createFromAscii("com.sun.star.comp.configuration.backend.LdapUserProfileBe") ; @@ -426,10 +275,8 @@ rtl::OUString SAL_CALL LdapUserProfileBe::getImplementationName(void) uno::Sequence SAL_CALL LdapUserProfileBe::getLdapUserProfileBeServiceNames(void) { - uno::Sequence aServices(2) ; + uno::Sequence aServices(1) ; aServices[0] = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.configuration.backend.LdapUserProfileBe")) ; - aServices[1] = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.configuration.backend.PlatformBackend")) ; - return aServices ; } //------------------------------------------------------------------------------ diff --git a/extensions/source/config/ldap/ldapuserprofilebe.hxx b/extensions/source/config/ldap/ldapuserprofilebe.hxx index 6b2f78389a8f..c3cbb7952336 100644 --- a/extensions/source/config/ldap/ldapuserprofilebe.hxx +++ b/extensions/source/config/ldap/ldapuserprofilebe.hxx @@ -31,41 +31,33 @@ #ifndef EXTENSIONS_CONFIG_LDAP_LDAPUSERPROFILEBE_HXX_ #define EXTENSIONS_CONFIG_LDAP_LDAPUSERPROFILEBE_HXX_ -#include "ldapuserprof.hxx" -#include "ldapaccess.hxx" -#include "ldapuserprofilelayer.hxx" -#include +#include #include #include #include #include -#include -#include -#include #include #include #include +#include "ldapaccess.hxx" -#define CONTEXT_ITEM_PREFIX_ "/modules/com.sun.star.configuration/bootstrap/" namespace extensions { namespace config { namespace ldap { namespace css = com::sun::star ; namespace uno = css::uno ; namespace lang = css::lang ; -namespace ldap= css::ldap ; -namespace backend = css::configuration::backend ; namespace container = css::container; -//------------------------------------------------------------------------------ -//------------------------------------------------------------------------------ -typedef cppu::WeakComponentImplHelper2 BackendBase ; struct LdapProfileMutexHolder { osl::Mutex mMutex; }; /** Implements the PlatformBackend service, a specialization of the - SingleLayerStratum service for retreiving LDAP user profile + XPropertySet service for retreiving LDAP user profile configuration settings from a LDAP repsoitory. */ class LdapUserProfileBe : private LdapProfileMutexHolder, public BackendBase @@ -73,7 +65,6 @@ class LdapUserProfileBe : private LdapProfileMutexHolder, public BackendBase public : LdapUserProfileBe(const uno::Reference& xContext); - // throw(backend::BackendAccessException, backend::BackendSetupException, RuntimeException); ~LdapUserProfileBe(void) ; // XServiceInfo @@ -89,19 +80,57 @@ class LdapUserProfileBe : private LdapProfileMutexHolder, public BackendBase getSupportedServiceNames( ) throw (uno::RuntimeException) ; - //XSingleLayerStratum - virtual uno::Reference SAL_CALL - getLayer( const rtl::OUString& aLayerId, const rtl::OUString& aTimestamp ) - throw (backend::BackendAccessException, - lang::IllegalArgumentException, - uno::RuntimeException) ; - - virtual uno::Reference SAL_CALL - getUpdatableLayer( const rtl::OUString& aLayerId ) - throw (backend::BackendAccessException, - lang::NoSupportException, - lang::IllegalArgumentException, - uno::RuntimeException) ; + // XPropertySet + virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL + getPropertySetInfo() throw (css::uno::RuntimeException) + { return css::uno::Reference< css::beans::XPropertySetInfo >(); } + + virtual void SAL_CALL setPropertyValue( + rtl::OUString const &, css::uno::Any const &) + throw ( + css::beans::UnknownPropertyException, + css::beans::PropertyVetoException, + css::lang::IllegalArgumentException, + css::lang::WrappedTargetException, css::uno::RuntimeException); + + virtual css::uno::Any SAL_CALL getPropertyValue( + rtl::OUString const & PropertyName) + throw ( + css::beans::UnknownPropertyException, + css::lang::WrappedTargetException, css::uno::RuntimeException); + + virtual void SAL_CALL addPropertyChangeListener( + rtl::OUString const &, + css::uno::Reference< css::beans::XPropertyChangeListener > const &) + throw ( + css::beans::UnknownPropertyException, + css::lang::WrappedTargetException, css::uno::RuntimeException) + {} + + virtual void SAL_CALL removePropertyChangeListener( + rtl::OUString const &, + css::uno::Reference< css::beans::XPropertyChangeListener > const &) + throw ( + css::beans::UnknownPropertyException, + css::lang::WrappedTargetException, css::uno::RuntimeException) + {} + + virtual void SAL_CALL addVetoableChangeListener( + rtl::OUString const &, + css::uno::Reference< css::beans::XVetoableChangeListener > const &) + throw ( + css::beans::UnknownPropertyException, + css::lang::WrappedTargetException, css::uno::RuntimeException) + {} + + virtual void SAL_CALL removeVetoableChangeListener( + rtl::OUString const &, + css::uno::Reference< css::beans::XVetoableChangeListener > const &) + throw ( + css::beans::UnknownPropertyException, + css::lang::WrappedTargetException, css::uno::RuntimeException) + {} + /** Provides the implementation name. @return implementation name @@ -115,35 +144,16 @@ class LdapUserProfileBe : private LdapProfileMutexHolder, public BackendBase getLdapUserProfileBeServiceNames(void) ; private: - /** Build OO/LDAP attribute mapping table */ - void initializeMappingTable (const rtl::OUString& aFileMapName); /** Check if LDAP is configured */ - bool readLdapConfiguration(LdapDefinition& aDefinition); + bool readLdapConfiguration( + uno::Reference const & factory, + LdapDefinition * definition, rtl::OUString * loggedOnUser); bool getLdapStringParam(uno::Reference& xAccess, const rtl::OUString& aLdapSetting, rtl::OString& aServerParameter); - void mapGenericException(ldap::LdapGenericException& aException) - throw (backend::InsufficientAccessRightsException, - backend::ConnectionLostException, - backend::BackendAccessException); - /** Connect to LDAP server */ - void connectToLdapServer(const LdapDefinition& aDefinition ); - /** Get URL of OO-to-LDAP Mapping File */ - rtl::OUString getMappingFileUrl(const rtl::OUString& aFileMapName) const; - - /** Service Factory object */ - uno::Reference mFactory; - /** Component Context */ - uno::Reference mContext ; - /** Object for LDAP functionality */ - LdapUserProfileSourceRef mLdapSource; - /**Currently logged in user */ - rtl::OUString mLoggedOnUser ; - /** DN of currently logged in user */ - rtl::OString mUserDN; - + LdapData data_; } ; //------------------------------------------------------------------------------ }}} diff --git a/extensions/source/config/ldap/ldapuserprofilelayer.cxx b/extensions/source/config/ldap/ldapuserprofilelayer.cxx deleted file mode 100644 index fb40799ef650..000000000000 --- a/extensions/source/config/ldap/ldapuserprofilelayer.cxx +++ /dev/null @@ -1,247 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ldapuserprofilelayer.cxx,v $ - * $Revision: 1.8 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_extensions.hxx" -#include "ldapuserprofilelayer.hxx" -#include -#include -#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPP_ -// on windows this is defined indirectly by -#undef OPTIONAL -#include -#endif -#include -#include - -//============================================================================== -namespace extensions { namespace config { namespace ldap { - -static const sal_Unicode kPathSeparator = '/' ; - -static -uno::Reference - newLayerDescriber(const uno::Reference& xFactory) -{ - typedef uno::Reference LayerDescriber; - - rtl::OUString const k_sLayerDescriberService ( - RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.configuration.backend.LayerDescriber")); - - LayerDescriber xResult(xFactory->createInstance(k_sLayerDescriberService), uno::UNO_QUERY_THROW); - return xResult; -} -//------------------------------------------------------------------------------ - -void LdapUserProfileSource::getUserProfile(const rtl::OUString & aUser, LdapUserProfile & aProfile) -{ - mConnection.getUserProfile(aUser, - mProfileMap, - aProfile); -} - -rtl::OUString LdapUserProfileSource::getComponentName() const -{ - return mProfileMap.getComponentName(); -} - -rtl::OUString LdapUserProfileSource::getConfigurationBasePath() const -{ - rtl::OUStringBuffer sComponentNameBuffer(mProfileMap.getComponentName()); - sComponentNameBuffer.append(kPathSeparator); - sComponentNameBuffer.append (mProfileMap.getGroupName()); - sComponentNameBuffer.append(kPathSeparator); - - return sComponentNameBuffer.makeStringAndClear(); -} -//------------------------------------------------------------------------------ - -struct LdapUserProfileLayer::ProfileData -{ - LdapUserProfile mProfile; - rtl::OUString mBasePath; - - explicit ProfileData(LdapUserProfileSource & aSource, const rtl::OUString & aUser) - { - aSource.getUserProfile(aUser, mProfile); - mBasePath = aSource.getConfigurationBasePath(); - } -}; -//------------------------------------------------------------------------------ - -LdapUserProfileLayer::LdapUserProfileLayer( - const uno::Reference& xFactory, - const rtl::OUString& aUser, - const LdapUserProfileSourceRef & aUserProfileSource, - const rtl::OUString& aTimestamp) -: mLayerDescriber( newLayerDescriber(xFactory) ) -, mSource( aUserProfileSource ) -, mUser(aUser) -, mTimestamp(aTimestamp) -, mProfile( 0 ) -{ - OSL_ASSERT(mSource.is()); -} - -//------------------------------------------------------------------------------ -LdapUserProfileLayer::~LdapUserProfileLayer() -{ - delete mProfile; -} -//------------------------------------------------------------------------------ - -#define PROPNAME( name ) rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( name ) ) -#define PROPTYPE( type ) getCppuType( static_cast< type const *>( 0 ) ) - -const sal_Int32 LAYER_PROPERTY_URL = 1; - -cppu::IPropertyArrayHelper * SAL_CALL LdapUserProfileLayer::newInfoHelper() -{ - using com::sun::star::beans::Property; - using namespace com::sun::star::beans::PropertyAttribute; - - Property properties[] = - { - Property(PROPNAME("URL"), LAYER_PROPERTY_URL, PROPTYPE(rtl::OUString), READONLY) - }; - - return new cppu::OPropertyArrayHelper(properties, sizeof(properties)/sizeof(properties[0])); -} -//------------------------------------------------------------------------------ - -void SAL_CALL LdapUserProfileLayer::getFastPropertyValue( uno::Any& rValue, sal_Int32 nHandle ) const -{ - switch (nHandle) - { - case LAYER_PROPERTY_URL: - { - rtl::OUStringBuffer aURL; - aURL.appendAscii("ldap-user-profile:"); - aURL.append(mUser); - aURL.append(sal_Unicode('@')); - if (mSource.is()) - aURL.append(mSource->getComponentName()); - else - aURL.appendAscii(""); - - rValue <<= aURL.makeStringAndClear(); - } - break; - - default: - OSL_ENSURE(false, "Error: trying to get an UNKNOWN property"); - break; - } -} -//------------------------------------------------------------------------------ - -bool LdapUserProfileLayer::readProfile() -{ - if (mSource.is()) - try - { - OSL_ASSERT(!mProfile); - mProfile = new ProfileData(*mSource,mUser); - - mSource.clear(); - } - catch (ldap::LdapConnectionException & e) - { - // without existing Ldap Connection we should never have gotten a timestamp - OSL_ENSURE(false, "Unexpected: Have Ldap Backedn Layer but no vaild LDAP connection ?!"); - throw backend::ConnectionLostException(e.Message, *this, uno::makeAny(e) ); - } - catch (ldap::LdapGenericException & e) - { - throw backend::BackendAccessException(e.Message, *this, uno::makeAny(e) ); - } - OSL_ASSERT( !mSource.is() ); - OSL_ASSERT( mProfile != 0 ); - return mProfile != 0; -} -//------------------------------------------------------------------------------ - -void SAL_CALL LdapUserProfileLayer::readData( - const uno::Reference& xHandler) - throw ( backend::MalformedDataException, - lang::NullPointerException, - lang::WrappedTargetException, - uno::RuntimeException) -{ - std::vector aPropList; -#ifdef SUPPRESS_BACKEND_ERRORS - try -#endif - if ( readProfile() ) - { - // initialize PropInfo members that are the same for all settings - const rtl::OUString k_sTypeString(RTL_CONSTASCII_USTRINGPARAM("string")); - - backend::PropertyInfo aPropInfo; - aPropInfo.Type = k_sTypeString; - aPropInfo.Protected = sal_False; - - LdapUserProfile * pProfile = &mProfile->mProfile; - aPropList.reserve(pProfile->mProfile.size()); - - for (LdapUserProfile::Iterator entry = pProfile->mProfile.begin() ; - entry != pProfile->mProfile.end() ; ++ entry) - { - if (entry->mAttribute.getLength()==0) { continue ; } - if (entry->mValue.getLength()==0) { continue ; } - - aPropInfo.Name = mProfile->mBasePath + entry->mAttribute; - aPropInfo.Value <<= entry->mValue; - - aPropList.push_back(aPropInfo); - } - } -#ifdef SUPPRESS_BACKEND_ERRORS - catch (uno::Exception & e) - { - OSL_TRACE("LDAP Backend - Reading data from LDAP failed: %s\n", - rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_ASCII_US ).getStr() ); - } -#endif - - if ( !aPropList.empty()) - { - //Describe UserProfileLayer (the list of properties) to the XHandler - //Object using com.sun.star.comp.backend.LayerContentDescriber Service - uno::Sequence aPropInfoList(&aPropList.front(),aPropList.size()); - - mLayerDescriber->describeLayer(xHandler, aPropInfoList); - } - // else { check handler not NULL; xHandler->startLayer(); xHandler->endLayer(); } -} -//------------------------------------------------------------------------------ -}}} -//------------------------------------------------------------------------------ - diff --git a/extensions/source/config/ldap/ldapuserprofilelayer.hxx b/extensions/source/config/ldap/ldapuserprofilelayer.hxx deleted file mode 100644 index b595deb74006..000000000000 --- a/extensions/source/config/ldap/ldapuserprofilelayer.hxx +++ /dev/null @@ -1,124 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ldapuserprofilelayer.hxx,v $ - * $Revision: 1.7 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef EXTENSIONS_CONFIG_LDAP_LADPUSERPROFILELAYER_HXX_ -#define EXTENSIONS_CONFIG_LDAP_LADPUSERPROFILELAYER_HXX_ - -#include "ldapuserprof.hxx" -#include "ldapaccess.hxx" - -#include "propertysethelper.hxx" -#include -#include - -#ifndef _COM_SUN_STAR_CONFIGURATION_BACKEND_XLAYERCONTENTDESCIBER_HPP_ -#include -#endif -#include -#include -#include -#include - - -namespace extensions { namespace config { namespace ldap { - -namespace css = com::sun::star ; -namespace uno = css::uno ; -namespace lang = css::lang ; -namespace backend = css::configuration::backend ; -namespace util = css::util ; - -//------------------------------------------------------------------------------ -struct LdapUserProfileSource : public salhelper::SimpleReferenceObject -{ - LdapConnection mConnection; - LdapUserProfileMap mProfileMap; - - rtl::OUString getComponentName() const; - rtl::OUString getConfigurationBasePath() const; - void getUserProfile(rtl::OUString const & aUser, LdapUserProfile & aProfile); -}; -typedef rtl::Reference< LdapUserProfileSource > LdapUserProfileSourceRef; -//------------------------------------------------------------------------------ - -/** - Implementation of the XLayer interfaces for LdapUserProfileBe. - Class reads UserProfile setting form LDAP. - The timestamp indicates the last modification time - */ - class LdapUserProfileLayer : public cppu::ImplInheritanceHelper2< - apihelper::ReadOnlyPropertySetHelper, - backend::XLayer, - util::XTimeStamped> -{ - public : - /** Constructor */ - LdapUserProfileLayer( - const uno::Reference& xFactory, - const rtl::OUString& aUser, - const LdapUserProfileSourceRef & aUserProfileSource, - const rtl::OUString& aTimestamp); - // throw (uno::RuntimeException - - /** Destructor */ - ~LdapUserProfileLayer(); - - // XLayer - virtual void SAL_CALL readData( - const uno::Reference& xHandler) - throw ( backend::MalformedDataException, - lang::NullPointerException, - lang::WrappedTargetException, - uno::RuntimeException) ; - - // XTimeStamped - virtual rtl::OUString SAL_CALL getTimestamp(void) - throw (uno::RuntimeException) - { return mTimestamp; } - - protected: - // PropertySetHelper - virtual cppu::IPropertyArrayHelper * SAL_CALL newInfoHelper(); - - virtual void SAL_CALL getFastPropertyValue( uno::Any& rValue, sal_Int32 nHandle ) const; - private : - struct ProfileData; - bool readProfile(); - - uno::Reference mLayerDescriber; - LdapUserProfileSourceRef mSource; - rtl::OUString mUser; - rtl::OUString mTimestamp; - ProfileData * mProfile; - private: - using cppu::OPropertySetHelper::getFastPropertyValue; - } ; -}}} -#endif // EXTENSIONS_CONFIG_LDAP_LADPUSERPROFILELAYER_HXX_ diff --git a/extensions/source/config/ldap/makefile.mk b/extensions/source/config/ldap/makefile.mk index 5ff3da4d21de..40cafed6ad43 100644 --- a/extensions/source/config/ldap/makefile.mk +++ b/extensions/source/config/ldap/makefile.mk @@ -31,7 +31,6 @@ PRJ=..$/..$/.. -PRJINC=$(PRJ)$/source PRJNAME=extensions TARGET=ldapbe ENABLE_EXCEPTIONS=TRUE @@ -68,10 +67,7 @@ SOLARINC+= $(LDAPSDKINCLUDES) SLOFILES=\ $(SLO)$/ldapuserprofilebe.obj \ - $(SLO)$/ldapuserprof.obj \ $(SLO)$/ldapaccess.obj \ - $(SLO)$/ldapuserprofilelayer.obj \ - $(SLO)$/propertysethelper.obj \ $(SLO)$/componentdef.obj LIB1TARGET=$(SLB)$/_$(TARGET).lib diff --git a/extensions/source/config/ldap/propertysethelper.cxx b/extensions/source/config/ldap/propertysethelper.cxx deleted file mode 100644 index 09f19185ce6f..000000000000 --- a/extensions/source/config/ldap/propertysethelper.cxx +++ /dev/null @@ -1,153 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: propertysethelper.cxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_extensions.hxx" - -#include "propertysethelper.hxx" -#include - -#include - -//.......................................................................... -namespace extensions { - namespace apihelper { -//.......................................................................... - namespace uno = com::sun::star::uno; - namespace lang = com::sun::star::lang; - namespace beans = com::sun::star::beans; -//.......................................................................... -PropertySetHelper::PropertySetHelper() -: BroadcasterBase() -, cppu::OWeakObject() -, cppu::OPropertySetHelper( BroadcasterBase::getBroadcastHelper() ) -, m_pHelper(0) -{ -} - -//.......................................................................... -PropertySetHelper::~PropertySetHelper() -{ - delete m_pHelper; -} - -//.......................................................................... -// XInterface -uno::Any SAL_CALL PropertySetHelper::queryInterface( uno::Type const & rType ) throw (uno::RuntimeException) -{ - uno::Any aResult = cppu::OPropertySetHelper::queryInterface(rType); - if (!aResult.hasValue()) - aResult = OWeakObject::queryInterface(rType); - return aResult; -} - -void SAL_CALL PropertySetHelper::acquire() throw () -{ - OWeakObject::acquire(); -} - -void SAL_CALL PropertySetHelper::release() throw () -{ - if (m_refCount == 1) - this->disposing(); - - OWeakObject::release(); -} - -//.......................................................................... -// XTypeProvider -uno::Sequence< uno::Type > SAL_CALL PropertySetHelper::getTypes() throw (uno::RuntimeException) -{ - // could be static instance - cppu::OTypeCollection aTypes( - ::getCppuType( static_cast< uno::Reference< beans::XPropertySet > const * >(0) ), - ::getCppuType( static_cast< uno::Reference< beans::XMultiPropertySet > const * >(0) ), - ::getCppuType( static_cast< uno::Reference< beans::XFastPropertySet > const * >(0) ), - ::getCppuType( static_cast< uno::Reference< lang::XTypeProvider > const * >(0) ) ); - - return aTypes.getTypes(); -} - -//.......................................................................... -// cppu::OPropertySetHelper -uno::Reference< beans::XPropertySetInfo > SAL_CALL PropertySetHelper::getPropertySetInfo( ) - throw (uno::RuntimeException) -{ - return createPropertySetInfo(getInfoHelper()); -} - -//.......................................................................... -cppu::IPropertyArrayHelper & SAL_CALL PropertySetHelper::getInfoHelper() -{ - osl::MutexGuard aGuard( getBroadcastMutex() ); - if (!m_pHelper) - m_pHelper = newInfoHelper(); - - OSL_ENSURE(m_pHelper,"Derived class did not create new PropertyInfoHelper"); - if (!m_pHelper) - throw uno::RuntimeException(rtl::OUString::createFromAscii("No PropertyArrayHelper available"),*this); - - return *m_pHelper; -} - -//.......................................................................... -sal_Bool SAL_CALL PropertySetHelper::convertFastPropertyValue( - uno::Any & rConvertedValue, uno::Any & rOldValue, sal_Int32 nHandle, const uno::Any& rValue ) - throw (lang::IllegalArgumentException) -{ - this->getFastPropertyValue(rOldValue, nHandle); - rConvertedValue = rValue; - return rValue.isExtractableTo( rOldValue.getValueType() ); -} - -//.......................................................................... -void SAL_CALL ReadOnlyPropertySetHelper::setFastPropertyValue_NoBroadcast( - sal_Int32 /*nHandle*/, const uno::Any& /*rValue*/ ) - throw (uno::Exception) -{ - OSL_ENSURE(false, "Attempt to set value in read-only property set"); - throw beans::PropertyVetoException(rtl::OUString::createFromAscii("Attempt to set value in Read-Only property set"),*this); -} - -//.......................................................................... -sal_Bool SAL_CALL ReadOnlyPropertySetHelper::convertFastPropertyValue( - uno::Any & /*rConvertedValue*/, uno::Any & /*rOldValue*/, sal_Int32 /*nHandle*/, const uno::Any& /*rValue*/ ) - throw (lang::IllegalArgumentException) -{ - OSL_ENSURE(false, "Attempt to convert value in read-only property set"); - return false; -} -//.......................................................................... -//.......................................................................... - } // namespace apihelper -} // namespace extensions -//.......................................................................... - - diff --git a/extensions/source/config/ldap/propertysethelper.hxx b/extensions/source/config/ldap/propertysethelper.hxx deleted file mode 100644 index 0cb75262b942..000000000000 --- a/extensions/source/config/ldap/propertysethelper.hxx +++ /dev/null @@ -1,137 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: propertysethelper.hxx,v $ - * $Revision: 1.4 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef EXTENSIONS_MISC_PROPERTYSETHELPER_HXX -#define EXTENSIONS_MISC_PROPERTYSETHELPER_HXX - -#include -#include - -//.......................................................................... -namespace extensions { - namespace apihelper { -//.......................................................................... - namespace uno = com::sun::star::uno; - namespace lang = com::sun::star::lang; - namespace beans = com::sun::star::beans; -//.......................................................................... -class BroadcasterBase -{ - osl::Mutex m_aMutex; - cppu::OBroadcastHelper m_aBroadcastHelper; - -protected: - BroadcasterBase() : m_aMutex(), m_aBroadcastHelper(m_aMutex) {} - ~BroadcasterBase() {} - - osl::Mutex & getBroadcastMutex() { return m_aMutex; } - cppu::OBroadcastHelper & getBroadcastHelper() { return m_aBroadcastHelper; } -}; - -//.......................................................................... - -class PropertySetHelper : protected BroadcasterBase // must be first - , public cppu::OWeakObject - , public cppu::OPropertySetHelper // not copyable -{ -public: - PropertySetHelper(); - ~PropertySetHelper(); - - // XInterface - virtual uno::Any SAL_CALL queryInterface( uno::Type const & rType ) throw (uno::RuntimeException); - virtual void SAL_CALL acquire() throw (); - virtual void SAL_CALL release() throw (); - // XTypeProvider - virtual uno::Sequence< uno::Type > SAL_CALL getTypes() throw (uno::RuntimeException); - - // to be provided by derived classes - // virtual uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (uno::RuntimeException) = 0; - - // XPropertySet - virtual uno::Reference< beans::XPropertySetInfo > SAL_CALL - getPropertySetInfo( ) throw (uno::RuntimeException); - - -protected: -// new methods still to be overridden - virtual cppu::IPropertyArrayHelper * SAL_CALL newInfoHelper() = 0; - -// cppu::OPropertySetHelper interface -#if 0 // these methods still must be overridden - virtual cppu::IPropertyArrayHelper * SAL_CALL newInfoHelper() = 0; - - virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const uno::Any& rValue ) - throw (uno::Exception) = 0; - - virtual void SAL_CALL getFastPropertyValue( uno::Any& rValue, sal_Int32 nHandle ) const = 0; -#endif - virtual cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper(); - - // default implementation: does not do any conversion - virtual sal_Bool SAL_CALL convertFastPropertyValue( - uno::Any & rConvertedValue, uno::Any & rOldValue, - sal_Int32 nHandle, const uno::Any& rValue ) - throw (lang::IllegalArgumentException); -private: - cppu::IPropertyArrayHelper * m_pHelper; -}; -//.......................................................................... - -class ReadOnlyPropertySetHelper : public PropertySetHelper -{ -public: - ReadOnlyPropertySetHelper() {} - ~ReadOnlyPropertySetHelper() {} - -protected: -#if 0 // these methods still must be overridden - virtual cppu::IPropertyArrayHelper * SAL_CALL newInfoHelper() = 0; - - virtual void SAL_CALL getFastPropertyValue( uno::Any& rValue, sal_Int32 nHandle ) const = 0; -#endif - // default implementation: rejects any attempt to set a value - virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const uno::Any& rValue ) - throw (uno::Exception); - - // default implementation: rejects any attempt to do a conversion - virtual sal_Bool SAL_CALL convertFastPropertyValue( - uno::Any & rConvertedValue, uno::Any & rOldValue, - sal_Int32 nHandle, const uno::Any& rValue ) - throw (lang::IllegalArgumentException); -}; -//.......................................................................... - } // namespace apihelper -} // namespace extensions -//.......................................................................... - -#endif - - -- cgit From 6c1c735ed9ac838b41648f12da2bced3864362eb Mon Sep 17 00:00:00 2001 From: sb Date: Fri, 2 Oct 2009 15:34:09 +0200 Subject: #i101955# re-introduced lost ldap_value_free call; minor clean up --- extensions/source/config/ldap/ldapaccess.cxx | 1 + extensions/source/config/ldap/ldapaccess.hxx | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'extensions') diff --git a/extensions/source/config/ldap/ldapaccess.cxx b/extensions/source/config/ldap/ldapaccess.cxx index 02a9910f082c..7d67871b2f01 100644 --- a/extensions/source/config/ldap/ldapaccess.cxx +++ b/extensions/source/config/ldap/ldapaccess.cxx @@ -222,6 +222,7 @@ void LdapConnection::initConnection() LdapData::value_type( rtl::OStringToOUString(attr, RTL_TEXTENCODING_ASCII_US), rtl::OStringToOUString(*values, RTL_TEXTENCODING_UTF8))); + (*s_p_value_free)(values); } attr = (*s_p_next_attribute)(mConnection, result.msg, ptr); } diff --git a/extensions/source/config/ldap/ldapaccess.hxx b/extensions/source/config/ldap/ldapaccess.hxx index 3951d8645e6d..321c54845a87 100644 --- a/extensions/source/config/ldap/ldapaccess.hxx +++ b/extensions/source/config/ldap/ldapaccess.hxx @@ -129,8 +129,6 @@ public: void loadModule(); static t_ldap_err2string s_p_err2string; - static t_ldap_value_free s_p_value_free; - static t_ldap_get_values s_p_get_values; private: void initConnection() @@ -151,6 +149,8 @@ private: LdapDefinition mLdapDefinition; static oslModule s_Ldap_Module; + static t_ldap_value_free s_p_value_free; + static t_ldap_get_values s_p_get_values; static t_ldap_unbind_s s_p_unbind_s; static t_ldap_simple_bind_s s_p_simple_bind_s; static t_ldap_set_option s_p_set_option; -- cgit From 0516edd8931507e2cb2cb6a805cb4314ad3e0adf Mon Sep 17 00:00:00 2001 From: sb Date: Thu, 8 Oct 2009 16:33:02 +0200 Subject: #i101955# removed unused method (warned about by GCC) --- .../source/config/ldap/ldapuserprofilebe.cxx | 24 ---------------------- 1 file changed, 24 deletions(-) (limited to 'extensions') diff --git a/extensions/source/config/ldap/ldapuserprofilebe.cxx b/extensions/source/config/ldap/ldapuserprofilebe.cxx index 2067f108a90a..2ae7cd485a7d 100644 --- a/extensions/source/config/ldap/ldapuserprofilebe.cxx +++ b/extensions/source/config/ldap/ldapuserprofilebe.cxx @@ -49,30 +49,6 @@ //============================================================================== namespace extensions { namespace config { namespace ldap { - -static void checkIOError( - osl::File::RC aErrorCode, - const rtl::OUString& aFileUrl) -{ - switch (aErrorCode) - { - case osl::File::E_None: // got it - { - - } - break; - default: - { - rtl::OUStringBuffer sMsg; - sMsg.appendAscii("LdapUserProfileBe: Cannot Read Meta-Configuration file:"); - sMsg.append(aFileUrl); - throw css::uno::RuntimeException(sMsg.makeStringAndClear(), - NULL); - } - } -} - -//------------------------------------------------------------------------------ LdapUserProfileBe::LdapUserProfileBe( const uno::Reference& xContext) : LdapProfileMutexHolder(), BackendBase(mMutex) -- cgit