diff options
49 files changed, 11 insertions, 5691 deletions
diff --git a/Repository.mk b/Repository.mk index 9c3310e5c03c..c72d82750458 100755 --- a/Repository.mk +++ b/Repository.mk @@ -498,7 +498,6 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \ lo-bootstrap \ ) \ $(if $(filter $(OS),WNT), \ - ucpodma1 \ uwinapi \ ) \ )) @@ -595,9 +594,6 @@ $(eval $(call gb_Helper_register_libraries,UNOLIBS_OOO, \ $(if $(filter $(GUIBASE),aqua), \ fps_aqua \ ) \ - $(if $(filter $(OS),WNT), \ - fps_odma \ - ) \ )) ifeq ($(OS),WNT) @@ -683,9 +679,6 @@ $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \ $(if $(filter $(OS),IOS), \ uno \ ) \ - $(if $(filter $(OS),WNT), \ - odma_lib \ - ) \ )) ifeq ($(OS),WNT) diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx index 2e4308785ea2..098b550982c7 100644 --- a/cui/source/options/optgdlg.cxx +++ b/cui/source/options/optgdlg.cxx @@ -192,7 +192,6 @@ OfaMiscTabPage::OfaMiscTabPage(Window* pParent, const SfxItemSet& rSet ) : aFileDlgFL ( this, CUI_RES( FL_FILEDLG ) ), aFileDlgROImage ( this, CUI_RES( FI_FILEDLG_RO ) ), aFileDlgCB ( this, CUI_RES( CB_FILEDLG ) ), - aODMADlgCB ( this, CUI_RES( CB_ODMADLG ) ), aPrintDlgFL ( this, CUI_RES( FL_PRINTDLG ) ), aPrintDlgCB ( this, CUI_RES( CB_PRINTDLG ) ), aDocStatusFL ( this, CUI_RES( FL_DOCSTATUS ) ), @@ -216,33 +215,6 @@ OfaMiscTabPage::OfaMiscTabPage(Window* pParent, const SfxItemSet& rSet ) : aPrintDlgCB.Hide(); #endif -#ifdef WNT - aFileDlgCB.SetToggleHdl( LINK( this, OfaMiscTabPage, OnFileDlgToggled ) ); -#else - aODMADlgCB.Hide(); -#endif - - if (!aODMADlgCB.IsVisible()) - { - // rearrange the following controls - Point aNewPos = aPrintDlgFL.GetPosPixel(); - long nDelta = aNewPos.Y() - aODMADlgCB.GetPosPixel().Y(); - - Window* pWins[] = - { - &aPrintDlgFL, &aPrintDlgCB, &aDocStatusFL, &aDocStatusCB, &aSaveAlwaysCB, - &aTwoFigureFL, &aInterpretFT, &aYearValueField, &aToYearFT - }; - Window** pCurrent = pWins; - const sal_Int32 nCount = SAL_N_ELEMENTS( pWins ); - for ( sal_Int32 i = 0; i < nCount; ++i, ++pCurrent ) - { - aNewPos = (*pCurrent)->GetPosPixel(); - aNewPos.Y() -= nDelta; - (*pCurrent)->SetPosPixel( aNewPos ); - } - } - if ( !aFileDlgCB.IsVisible() ) { // rearrange the following controls @@ -316,14 +288,6 @@ OfaMiscTabPage::OfaMiscTabPage(Window* pParent, const SfxItemSet& rSet ) : aHelpAgentResetBtn.SetClickHdl( LINK( this, OfaMiscTabPage, HelpAgentResetHdl_Impl ) ); } -#ifdef WNT -IMPL_LINK_NOARG(OfaMiscTabPage, OnFileDlgToggled) -{ - aODMADlgCB.Enable( !aFileDlgCB.IsChecked() ); - return 0; -} -#endif - // ----------------------------------------------------------------------- OfaMiscTabPage::~OfaMiscTabPage() @@ -368,13 +332,6 @@ sal_Bool OfaMiscTabPage::FillItemSet( SfxItemSet& rSet ) bModified = sal_True; } - if ( aODMADlgCB.IsChecked() != aODMADlgCB.GetSavedValue() ) - { - SvtMiscOptions aMiscOpt; - aMiscOpt.SetTryODMADialog( aODMADlgCB.IsChecked() ); - bModified = sal_True; - } - if ( aDocStatusCB.IsChecked() != aDocStatusCB.GetSavedValue() ) { SvtPrintWarningOptions aPrintOptions; @@ -423,9 +380,6 @@ void OfaMiscTabPage::Reset( const SfxItemSet& rSet ) aSaveAlwaysCB.Check( aMiscOpt.IsSaveAlwaysAllowed() ); aSaveAlwaysCB.SaveValue(); - aODMADlgCB.Check( aMiscOpt.TryODMADialog() ); - aODMADlgCB.SaveValue(); - SvtPrintWarningOptions aPrintOptions; aDocStatusCB.Check(aPrintOptions.IsModifyDocumentOnPrintingAllowed()); aDocStatusCB.SaveValue(); diff --git a/cui/source/options/optgdlg.hrc b/cui/source/options/optgdlg.hrc index 47b244602f97..fbf3c32086c0 100644 --- a/cui/source/options/optgdlg.hrc +++ b/cui/source/options/optgdlg.hrc @@ -186,7 +186,6 @@ #define FT_GRAPHICOBJECTTIME_UNIT 58 #define FL_DOCSTATUS 60 #define CB_DOCSTATUS 61 -#define CB_ODMADLG 62 #define CB_SAVE_ALWAYS 74 #endif // #ifndef _SVX_OPTGDLG_HRC diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx index a9074eefeae8..718344ba45b3 100644 --- a/cui/source/options/optgdlg.hxx +++ b/cui/source/options/optgdlg.hxx @@ -45,7 +45,6 @@ private: FixedLine aFileDlgFL; ReadOnlyImage aFileDlgROImage; CheckBox aFileDlgCB; - CheckBox aODMADlgCB; FixedLine aPrintDlgFL; CheckBox aPrintDlgCB; diff --git a/cui/source/options/optgdlg.src b/cui/source/options/optgdlg.src index 89f71244828a..9ed740d09332 100644 --- a/cui/source/options/optgdlg.src +++ b/cui/source/options/optgdlg.src @@ -85,52 +85,46 @@ TabPage OFA_TP_MISC Size = MAP_APPFONT( WHOLE_WIDTH, RSC_CD_CHECKBOX_HEIGHT ); Text [ en-US ] = "~Use %PRODUCTNAME dialogs"; }; - CheckBox CB_ODMADLG - { - Pos = MAP_APPFONT( COL1, ROW6 ); - Size = MAP_APPFONT( WHOLE_WIDTH, RSC_CD_CHECKBOX_HEIGHT ); - Text [ en-US ] = "Show ODMA DMS dialogs first"; - }; FixedLine FL_PRINTDLG { - Pos = MAP_APPFONT( COL0, ROW7 ); + Pos = MAP_APPFONT( COL0, ROW6 ); Size = MAP_APPFONT( WHOLE_WIDTH, RSC_CD_FIXEDLINE_HEIGHT ); Text [ en-US ] = "Print dialogs"; }; CheckBox CB_PRINTDLG { - Pos = MAP_APPFONT( COL1, ROW8 ); + Pos = MAP_APPFONT( COL1, ROW7 ); Size = MAP_APPFONT( WHOLE_WIDTH - COL1, RSC_CD_CHECKBOX_HEIGHT ); Text [ en-US ] = "Use %PRODUCTNAME ~dialogs"; }; FixedLine FL_DOCSTATUS { - Pos = MAP_APPFONT( COL0, ROW9 ); + Pos = MAP_APPFONT( COL0, ROW8 ); Size = MAP_APPFONT( WHOLE_WIDTH, RSC_CD_FIXEDLINE_HEIGHT ); Text [ en-US ] = "Document status"; }; CheckBox CB_DOCSTATUS { HelpID = "cui:CheckBox:OFA_TP_MISC:CB_DOCSTATUS"; - Pos = MAP_APPFONT( COL1, ROW10 ); + Pos = MAP_APPFONT( COL1, ROW9 ); Size = MAP_APPFONT( WHOLE_WIDTH - COL1, RSC_CD_CHECKBOX_HEIGHT ); Text [ en-US ] = "~Printing sets \"document modified\" status"; }; CheckBox CB_SAVE_ALWAYS { - Pos = MAP_APPFONT( COL1, ROW11 ); + Pos = MAP_APPFONT( COL1, ROW10 ); Size = MAP_APPFONT( WHOLE_WIDTH - COL1, RSC_CD_CHECKBOX_HEIGHT ); Text [ en-US ] = "Allow to save document even when the document is not modified"; }; FixedLine FL_TWOFIGURE { - Pos = MAP_APPFONT( COL0, ROW12 ); + Pos = MAP_APPFONT( COL0, ROW11 ); Size = MAP_APPFONT( WHOLE_WIDTH, RSC_CD_FIXEDLINE_HEIGHT ); Text [ en-US ] = "Year (two digits)" ; }; FixedText FT_INTERPRET { - Pos = MAP_APPFONT( COL1, OFFS_TEXTBOX_FIXEDTEXT(ROW13) ); + Pos = MAP_APPFONT( COL1, OFFS_TEXTBOX_FIXEDTEXT(ROW12) ); Size = MAP_APPFONT( DIFF( COL1, COL3), RSC_CD_FIXEDTEXT_HEIGHT ); Text [ en-US ] = "Interpret as years between"; }; @@ -138,7 +132,7 @@ TabPage OFA_TP_MISC { HelpID = "cui:NumericField:OFA_TP_MISC:NF_YEARVALUE"; Border = TRUE ; - Pos = MAP_APPFONT( COL4, ROW13 ); + Pos = MAP_APPFONT( COL4, ROW12 ); Size = MAP_APPFONT( EDIT_WIDTH, RSC_CD_TEXTBOX_HEIGHT ); Minimum = 1583 ; Maximum = 9857 ; @@ -147,7 +141,7 @@ TabPage OFA_TP_MISC }; FixedText FT_TOYEAR { - Pos = MAP_APPFONT( COL6, OFFS_TEXTBOX_FIXEDTEXT(ROW13) ); + Pos = MAP_APPFONT( COL6, OFFS_TEXTBOX_FIXEDTEXT(ROW12) ); Size = MAP_APPFONT( WHOLE_WIDTH - COL6, RSC_CD_FIXEDTEXT_HEIGHT ); Text [ en-US ] = "and " ; }; diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx index 8d1089a35ae8..2320a18b953b 100644 --- a/desktop/source/app/cmdlineargs.cxx +++ b/desktop/source/app/cmdlineargs.cxx @@ -325,15 +325,6 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier ) } else { - if( bOpenEvent || bViewEvent || bForceNewEvent || bForceOpenEvent ) - { - if( aArg.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("::ODMA")) ) - { - ::rtl::OUString sArg("vnd.sun.star.odma:/"); - sArg += aArg; - aArg = sArg; - } - } // handle this argument as a filename if ( bOpenEvent ) { diff --git a/fpicker/Library_fpicker.mk b/fpicker/Library_fpicker.mk index 0a85dd4a00ae..a5cfbb7cf66c 100644 --- a/fpicker/Library_fpicker.mk +++ b/fpicker/Library_fpicker.mk @@ -41,12 +41,6 @@ $(eval $(call gb_Library_use_libraries,fpicker,\ $(gb_UWINAPI) \ )) -ifeq ($(OS),WNT) -$(eval $(call gb_Library_use_static_libraries,fpicker,\ - odma_lib \ -)) -endif - $(eval $(call gb_Library_add_exception_objects,fpicker,\ fpicker/source/generic/fpicker \ )) diff --git a/fpicker/Library_fps_odma.mk b/fpicker/Library_fps_odma.mk deleted file mode 100644 index 17c0ff13935a..000000000000 --- a/fpicker/Library_fps_odma.mk +++ /dev/null @@ -1,60 +0,0 @@ -# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- -# -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# Copyright (C) 2011 Matúš Kukan <matus.kukan@gmail.com> (initial developer) -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -$(eval $(call gb_Library_Library,fps_odma)) - -$(eval $(call gb_Library_set_componentfile,fps_odma,fpicker/source/odma/fps_odma)) - -$(eval $(call gb_Library_use_sdk_api,fps_odma)) - -$(eval $(call gb_Library_use_libraries,fps_odma,\ - comphelper \ - cppu \ - cppuhelper \ - sal \ - svl \ - svt \ - tk \ - tl \ - ucbhelper \ - utl \ - vcl \ - $(gb_UWINAPI) \ -)) - -ifeq ($(OS),WNT) -$(eval $(call gb_Library_use_static_libraries,fps_odma,\ - odma_lib \ -)) -endif - -$(eval $(call gb_Library_add_exception_objects,fps_odma,\ - fpicker/source/odma/fps_odma \ - fpicker/source/odma/ODMAFilePicker \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/fpicker/Module_fpicker.mk b/fpicker/Module_fpicker.mk index 8a4ac0a71a7c..311af4ef5e9c 100644 --- a/fpicker/Module_fpicker.mk +++ b/fpicker/Module_fpicker.mk @@ -41,7 +41,6 @@ endif ifeq ($(OS),WNT) $(eval $(call gb_Module_add_targets,fpicker,\ - Library_fps_odma \ Library_fps \ WinResTarget_fps \ )) diff --git a/fpicker/source/generic/fpicker.cxx b/fpicker/source/generic/fpicker.cxx index 43f584589f06..960e029a8433 100644 --- a/fpicker/source/generic/fpicker.cxx +++ b/fpicker/source/generic/fpicker.cxx @@ -32,7 +32,6 @@ #define GradientStyle_RECT BLA_GradientStyle_RECT #include <windows.h> #undef GradientStyle_RECT -#include <odma_lib.hxx> #endif using css::uno::Reference; @@ -58,9 +57,6 @@ static OUString FilePicker_getSystemPickerServiceName() return OUString (RTL_CONSTASCII_USTRINGPARAM ("com.sun.star.ui.dialogs.SystemFilePicker")); #endif #ifdef WNT - if (SvtMiscOptions().TryODMADialog() && ::odma::DMSsAvailable()) { - return OUString (RTL_CONSTASCII_USTRINGPARAM ("com.sun.star.ui.dialogs.ODMAFilePicker")); - } return OUString (RTL_CONSTASCII_USTRINGPARAM ("com.sun.star.ui.dialogs.Win32FilePicker")); #endif } diff --git a/fpicker/source/odma/ODMAFilePicker.cxx b/fpicker/source/odma/ODMAFilePicker.cxx deleted file mode 100644 index f94daee727ee..000000000000 --- a/fpicker/source/odma/ODMAFilePicker.cxx +++ /dev/null @@ -1,534 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * Copyright 2010 Novell, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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 - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#include "ODMAFilePicker.hxx" - -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/StringPair.hpp> -#include <com/sun/star/ui/dialogs/FilePreviewImageFormats.hpp> -#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp> -#include <com/sun/star/ui/dialogs/TemplateDescription.hpp> -#include <com/sun/star/ucb/XCommandEnvironment.hpp> -#include <com/sun/star/uno/Any.hxx> -#include <com/sun/star/uno/Sequence.hxx> - -#include <comphelper/sequence.hxx> -#include <cppuhelper/typeprovider.hxx> -#include <ucbhelper/content.hxx> -#include <unotools/ucbhelper.hxx> - -#ifndef ODMA_LIB_HXX -#include <windows.h> -#include <odma_lib.hxx> -#endif - -// using ---------------------------------------------------------------- - -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::ui::dialogs; -using namespace ::com::sun::star::ucb; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::util; -using namespace ::utl; - -//------------------------------------------------------------------------------------ -// class ODMAFilePicker -//------------------------------------------------------------------------------------ -ODMAFilePicker::ODMAFilePicker( const Reference < XComponentContext >& rxContext ) : - cppu::WeakComponentImplHelper9< - XFilterManager, - XFilterGroupManager, - XFilePickerControlAccess, - XFilePickerNotifier, - XFilePreview, - XInitialization, - XCancellable, - XEventListener, - XServiceInfo>( m_rbHelperMtx ), - m_xContext( rxContext ), - m_bMultiSelectionMode( sal_False ), - m_aDefaultName( ), - m_aFiles( ), - m_nDialogKind( OPEN ) -{ - m_bUseDMS = ::odma::DMSsAvailable(); - m_xSystemFilePicker = rxContext->getServiceManager()->createInstanceWithContext( - "com.sun.star.ui.dialogs.Win32FilePicker", rxContext); -} - -// XExecutableDialog functions - -void SAL_CALL ODMAFilePicker::setTitle( const ::rtl::OUString& aTitle ) - throw (RuntimeException) -{ - Reference< XExecutableDialog > xExecutableDialog( m_xSystemFilePicker, UNO_QUERY ); - xExecutableDialog->setTitle( aTitle); -} - -inline bool is_current_process_window(HWND hwnd) -{ - DWORD pid; - GetWindowThreadProcessId(hwnd, &pid); - return (pid == GetCurrentProcessId()); -} - -HWND choose_parent_window() -{ - HWND hwnd_parent = GetForegroundWindow(); - if (!is_current_process_window(hwnd_parent)) - hwnd_parent = GetDesktopWindow(); - return hwnd_parent; -} - -sal_Int16 SAL_CALL ODMAFilePicker::execute( ) - throw (RuntimeException) -{ - ODMSTATUS status; - ODMHANDLE handle; - WORD count = 0; - DWORD flags; - - status = NODMRegisterApp( &handle, ODM_API_VERSION, const_cast<char*>("sodma"), (DWORD) choose_parent_window( ), NULL ); - if (status == ODM_SUCCESS) - { - if (m_nDialogKind == OPEN) - { - const int MAXDOCS = 10; - char docids[ODM_DOCID_MAX*MAXDOCS+1]; - WORD docidslen = sizeof( docids ); - - flags = 0; - if (m_bMultiSelectionMode) - count = MAXDOCS; - else - count = 1; - status = NODMSelectDocEx( handle, docids, &docidslen, &count, &flags, NULL ); - if (status == ODM_SUCCESS) - { - // GroupWise doesn't set docidslen or count, so - // calculate number of document IDs manually - char *p = docids; - count = 0; - while (*p) { - count++; - p += strlen( p ) + 1; - } - } - else if (status == ODM_E_NOSUPPORT) - { - status = NODMSelectDoc( handle, docids, &flags ); - if (status == ODM_SUCCESS) - count = 1; - } - NODMUnRegisterApp( handle ); - if (status == ODM_SUCCESS) - { - rtl::OUString *strings = new rtl::OUString[count]; - int i; - char *p = docids; - - for (i = 0; i < count; i++) { - // Insane API... the first element is a full URI, the rest - // are just the "basenames" in the same "directory". - if (i == 0) - strings[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.odma:/" )) + rtl::OUString::createFromAscii( p ); - else - strings[i] = rtl::OUString::createFromAscii( p ); - p += strlen( p ); - } - - m_aFiles = Sequence< rtl::OUString >( strings, count ); - delete[] strings; - return ExecutableDialogResults::OK; - } - } - else /* m_nDialogKind == SAVE */ - { - char newdocid[ODM_DOCID_MAX+1]; - - if (m_aDefaultName.getLength() == 0 || - !m_aDefaultName.matchIgnoreAsciiCaseAsciiL( "::ODMA\\", 7, 0 )) - { - char tempdocid[ODM_DOCID_MAX+1]; - - status = NODMNewDoc( handle, tempdocid, ODM_SILENT, NULL, NULL ); - if (status == ODM_SUCCESS) - status = NODMSaveAs( handle, tempdocid, newdocid, NULL, NULL, NULL ); - } - else - { - rtl::OString sDefaultName = rtl::OUStringToOString( m_aDefaultName, RTL_TEXTENCODING_ASCII_US ); - status = NODMSaveAs( handle, - const_cast<sal_Char*>( sDefaultName.getStr() ), - newdocid, NULL, NULL, NULL ); - } - - NODMUnRegisterApp( handle ); - if (status == ODM_SUCCESS) - { - rtl::OUString s( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "vnd.sun.star.odma:/" )) + - rtl::OUString::createFromAscii( newdocid ) ); - // Create a Content for the odma URL so that - // odma::ContentProvider will learn about the DOCID we - // just created. - ucbhelper::Content content( s, Reference< XCommandEnvironment >(), m_xContext ); - m_aFiles = Sequence< rtl::OUString >( &s, 1 ); - return ExecutableDialogResults::OK; - } - } - } - if (status == ODM_E_APPSELECT) - { - m_bUseDMS = sal_False; - - Reference< XExecutableDialog > xExecutableDialog( m_xSystemFilePicker, UNO_QUERY ); - return xExecutableDialog->execute(); - } - - // Fallback - return ExecutableDialogResults::CANCEL; -} - -// XFilePicker functions - -void SAL_CALL ODMAFilePicker::setMultiSelectionMode( sal_Bool bMode ) - throw( RuntimeException ) -{ - m_bMultiSelectionMode = bMode; - - Reference< XFilePicker > xFilePicker( m_xSystemFilePicker, UNO_QUERY ); - xFilePicker->setMultiSelectionMode( bMode ); -} - -void SAL_CALL ODMAFilePicker::setDefaultName( const rtl::OUString& aName ) - throw( RuntimeException ) -{ - // When editing a document from DMS, and doing Save As, this is - // called twice, first with the complete DOCID, the second time - // with the "extension" removed. Of course, this is bogus, as - // DOCIDs should be treated as opaque strings, they don't have - // "extensions". - - // In the GroupWise case a DOCID is like - // ::ODMA\GRPWISE\FOO1.BAR.FOO-Bla_bla:12345.12 where the final - // dot separates the version number, not an "extension". - // - // So ignore the second call. - // - // The second call without "extension" is done if the - // XFilePickerControlAccess is set to have auto-extension turned - // on. (See sfx2/source/dialog/filedlghelper.cxx: - // FileDialogHelper_Impl::implInitializeFileName().) Thus we could - // alternatively make sure that a getValue call to get - // ExtendedFilePickerElementIds::CHECKBOX_AUTOEXTENSION returns - // false. But that might be hard as we don't know in advance - // whether the user will click the "use application dialog" - // button. If so, we indeed do use auto-extensions. - // - // Yes, this is ugly, relying on knowing details on how this - // function will be called. - - if ( m_aDefaultName.getLength() == 0 ) - m_aDefaultName = aName; - - Reference< XFilePicker > xFilePicker( m_xSystemFilePicker, UNO_QUERY ); - xFilePicker->setDefaultName( aName ); -} - -void SAL_CALL ODMAFilePicker::setDisplayDirectory( const rtl::OUString& aDirectory ) - throw( IllegalArgumentException, RuntimeException ) -{ - m_aDisplayDirectory = aDirectory; - - Reference< XFilePicker > xFilePicker( m_xSystemFilePicker, UNO_QUERY ); - xFilePicker->setDisplayDirectory( aDirectory ); -} - -rtl::OUString SAL_CALL ODMAFilePicker::getDisplayDirectory( ) - throw( RuntimeException ) -{ - if (m_bUseDMS) - return m_aDisplayDirectory; - - Reference< XFilePicker > xFilePicker( m_xSystemFilePicker, UNO_QUERY ); - return xFilePicker->getDisplayDirectory(); -} - -Sequence< rtl::OUString > SAL_CALL ODMAFilePicker::getFiles( ) - throw( RuntimeException ) -{ - if (m_bUseDMS) - return m_aFiles; - - Reference< XFilePicker > xFilePicker( m_xSystemFilePicker, UNO_QUERY ); - return xFilePicker->getFiles(); -} - -// XFilePickerControlAccess functions - -void SAL_CALL ODMAFilePicker::setValue( sal_Int16 nElementID, - sal_Int16 nControlAction, - const Any& rValue ) - throw( RuntimeException ) -{ - Reference< XFilePickerControlAccess > xFilePickerControlAccess( m_xSystemFilePicker, UNO_QUERY ); - xFilePickerControlAccess->setValue( nElementID, nControlAction, rValue ); -} - -Any SAL_CALL ODMAFilePicker::getValue( sal_Int16 nElementID, sal_Int16 nControlAction ) - throw( RuntimeException ) -{ - Reference< XFilePickerControlAccess > xFilePickerControlAccess( m_xSystemFilePicker, UNO_QUERY ); - return xFilePickerControlAccess->getValue( nElementID, nControlAction ); -} - -void SAL_CALL ODMAFilePicker::setLabel( sal_Int16 nLabelID, const rtl::OUString& rValue ) - throw ( RuntimeException ) -{ - Reference< XFilePickerControlAccess > xFilePickerControlAccess( m_xSystemFilePicker, UNO_QUERY ); - xFilePickerControlAccess->setLabel( nLabelID, rValue ); -} - -rtl::OUString SAL_CALL ODMAFilePicker::getLabel( sal_Int16 nLabelID ) - throw ( RuntimeException ) -{ - Reference< XFilePickerControlAccess > xFilePickerControlAccess( m_xSystemFilePicker, UNO_QUERY ); - return xFilePickerControlAccess->getLabel( nLabelID ); -} - -void SAL_CALL ODMAFilePicker::enableControl( sal_Int16 nElementID, sal_Bool bEnable ) - throw( RuntimeException ) -{ - Reference< XFilePickerControlAccess > xFilePickerControlAccess( m_xSystemFilePicker, UNO_QUERY ); - xFilePickerControlAccess->enableControl( nElementID, bEnable ); -} - -// XFilePickerNotifier functions - -void SAL_CALL ODMAFilePicker::addFilePickerListener( const Reference< XFilePickerListener >& xListener ) - throw ( RuntimeException ) -{ - Reference< XFilePickerNotifier > xFilePickerNotifier( m_xSystemFilePicker, UNO_QUERY ); - xFilePickerNotifier->addFilePickerListener( xListener ); -} - -void SAL_CALL ODMAFilePicker::removeFilePickerListener( const Reference< XFilePickerListener >& xListener ) - throw ( RuntimeException ) -{ - Reference< XFilePickerNotifier > xFilePickerNotifier( m_xSystemFilePicker, UNO_QUERY ); - xFilePickerNotifier->removeFilePickerListener( xListener ); -} - -// XFilePreview functions - -Sequence< sal_Int16 > SAL_CALL ODMAFilePicker::getSupportedImageFormats( ) - throw ( RuntimeException ) -{ - Reference< XFilePreview > xFilePreview( m_xSystemFilePicker, UNO_QUERY ); - return xFilePreview->getSupportedImageFormats(); -} - -sal_Int32 SAL_CALL ODMAFilePicker::getTargetColorDepth( ) - throw ( RuntimeException ) -{ - Reference< XFilePreview > xFilePreview( m_xSystemFilePicker, UNO_QUERY ); - return xFilePreview->getTargetColorDepth(); -} - -sal_Int32 SAL_CALL ODMAFilePicker::getAvailableWidth( ) - throw ( RuntimeException ) -{ - Reference< XFilePreview > xFilePreview( m_xSystemFilePicker, UNO_QUERY ); - return xFilePreview->getAvailableWidth(); -} - -sal_Int32 SAL_CALL ODMAFilePicker::getAvailableHeight( ) - throw ( RuntimeException ) -{ - Reference< XFilePreview > xFilePreview( m_xSystemFilePicker, UNO_QUERY ); - return xFilePreview->getAvailableHeight(); -} - -void SAL_CALL ODMAFilePicker::setImage( sal_Int16 aImageFormat, const Any& rImage ) - throw ( IllegalArgumentException, RuntimeException ) -{ - Reference< XFilePreview > xFilePreview( m_xSystemFilePicker, UNO_QUERY ); - xFilePreview->setImage( aImageFormat, rImage); -} - -sal_Bool SAL_CALL ODMAFilePicker::setShowState( sal_Bool bShowState ) - throw ( RuntimeException ) -{ - Reference< XFilePreview > xFilePreview( m_xSystemFilePicker, UNO_QUERY ); - return xFilePreview->setShowState( bShowState); -} - -sal_Bool SAL_CALL ODMAFilePicker::getShowState( ) - throw ( RuntimeException ) -{ - Reference< XFilePreview > xFilePreview( m_xSystemFilePicker, UNO_QUERY ); - return xFilePreview->getShowState(); -} - -// XFilterGroupManager functions - -void SAL_CALL ODMAFilePicker::appendFilterGroup( const ::rtl::OUString& sGroupTitle, - const Sequence< StringPair >& aFilters ) - throw ( IllegalArgumentException, RuntimeException ) -{ - Reference< XFilterGroupManager > xFilterGroupManager( m_xSystemFilePicker, UNO_QUERY ); - xFilterGroupManager->appendFilterGroup( sGroupTitle, aFilters ); -} - -// XFilterManager functions - -void SAL_CALL ODMAFilePicker::appendFilter( const rtl::OUString& aTitle, - const rtl::OUString& aFilter ) - throw( IllegalArgumentException, RuntimeException ) -{ - Reference< XFilterManager > xFilterManager( m_xSystemFilePicker, UNO_QUERY ); - xFilterManager->appendFilter( aTitle, aFilter ); -} - -void SAL_CALL ODMAFilePicker::setCurrentFilter( const rtl::OUString& aTitle ) - throw( IllegalArgumentException, RuntimeException ) -{ - Reference< XFilterManager > xFilterManager( m_xSystemFilePicker, UNO_QUERY ); - xFilterManager->setCurrentFilter( aTitle ); -} - -rtl::OUString SAL_CALL ODMAFilePicker::getCurrentFilter( ) - throw( RuntimeException ) -{ - Reference< XFilterManager > xFilterManager( m_xSystemFilePicker, UNO_QUERY ); - return xFilterManager->getCurrentFilter(); -} - -// XInitialization functions - -void SAL_CALL ODMAFilePicker::initialize( const Sequence< Any >& aArguments ) - throw ( Exception, RuntimeException ) -{ - if (aArguments.getLength( ) > 0) - { - Any aAny = aArguments[0]; - - if ( (aAny.getValueType() == ::getCppuType((sal_Int16*)0)) || - (aAny.getValueType() == ::getCppuType((sal_Int8*)0)) ) - { - sal_Int16 nTemplateId = -1; - aAny >>= nTemplateId; - - switch (nTemplateId) { - case TemplateDescription::FILEOPEN_SIMPLE: - case TemplateDescription::FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE: - case TemplateDescription::FILEOPEN_PLAY: - case TemplateDescription::FILEOPEN_READONLY_VERSION: - case TemplateDescription::FILEOPEN_LINK_PREVIEW: - m_nDialogKind = OPEN; - break; - default: - m_nDialogKind = SAVE; - } - } - } - - Reference< XInitialization > xInitialization( m_xSystemFilePicker, UNO_QUERY ); - xInitialization->initialize( aArguments ); -} - -// XCancellable functions - -void SAL_CALL ODMAFilePicker::cancel( ) - throw( ::com::sun::star::uno::RuntimeException ) -{ - Reference< XCancellable > xCancellable( m_xSystemFilePicker, UNO_QUERY ); - xCancellable->cancel(); -} - -// XEventListener functions - -void SAL_CALL ODMAFilePicker::disposing( const ::com::sun::star::lang::EventObject& aEvent ) - throw( RuntimeException ) -{ - Reference< XEventListener > xEventListener( m_xSystemFilePicker, UNO_QUERY ); - xEventListener->disposing( aEvent ); -} - -// XServiceInfo functions - -rtl::OUString SAL_CALL ODMAFilePicker::getImplementationName( ) - throw( RuntimeException ) -{ - return impl_getStaticImplementationName(); -} - -sal_Bool SAL_CALL ODMAFilePicker::supportsService( const rtl::OUString& sServiceName ) - throw( RuntimeException ) -{ - Sequence< rtl::OUString > seqServiceNames = getSupportedServiceNames(); - const rtl::OUString* pArray = seqServiceNames.getConstArray(); - for ( sal_Int32 i = 0; i < seqServiceNames.getLength(); i++ ) - { - if ( sServiceName == pArray[i] ) - { - return sal_True ; - } - } - return sal_False ; -} - -Sequence< rtl::OUString > SAL_CALL ODMAFilePicker::getSupportedServiceNames( ) - throw( RuntimeException ) -{ - return impl_getStaticSupportedServiceNames(); -} - -Sequence< rtl::OUString > ODMAFilePicker::impl_getStaticSupportedServiceNames( ) -{ - Sequence< OUString > s(1); - s[0] = "com.sun.star.ui.dialogs.SystemFilePicker"; - return s; -} - -rtl::OUString ODMAFilePicker::impl_getStaticImplementationName( ) -{ - return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.svtools.ODMAFilePicker" )); -} - -Reference< XInterface > SAL_CALL ODMAFilePicker::impl_createInstance( - const Reference< XComponentContext >& rxContext) - throw( Exception ) -{ - return Reference< XInterface >( *new ODMAFilePicker( rxContext ) ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/fpicker/source/odma/ODMAFilePicker.hxx b/fpicker/source/odma/ODMAFilePicker.hxx deleted file mode 100644 index dee0bddacba6..000000000000 --- a/fpicker/source/odma/ODMAFilePicker.hxx +++ /dev/null @@ -1,218 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * Copyright 2010 Novell, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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 - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef INCLUDED_ODMA_FILEPICKER_HXX -#define INCLUDED_ODMA_FILEPICKER_HXX - -#include <cppuhelper/compbase9.hxx> - -#include <com/sun/star/ui/dialogs/XFilePickerControlAccess.hpp> -#include <com/sun/star/ui/dialogs/XFilePickerNotifier.hpp> -#include <com/sun/star/ui/dialogs/XFilePreview.hpp> -#include <com/sun/star/ui/dialogs/XFilterManager.hpp> -#include <com/sun/star/ui/dialogs/XFilterGroupManager.hpp> -#include <com/sun/star/ui/dialogs/XFilePickerListener.hpp> -#include <com/sun/star/util/XCancellable.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> -#include <com/sun/star/lang/XInitialization.hpp> - -// class ODMAFilePicker --------------------------------------------------- - -class ODMAFilePicker : - public cppu::WeakComponentImplHelper9< - ::com::sun::star::ui::dialogs::XFilterManager, - ::com::sun::star::ui::dialogs::XFilterGroupManager, - ::com::sun::star::ui::dialogs::XFilePickerControlAccess, - ::com::sun::star::ui::dialogs::XFilePickerNotifier, - ::com::sun::star::ui::dialogs::XFilePreview, - ::com::sun::star::lang::XInitialization, - ::com::sun::star::util::XCancellable, - ::com::sun::star::lang::XEventListener, - ::com::sun::star::lang::XServiceInfo > -{ -private: - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > - m_xContext; - sal_Bool m_bUseDMS; - sal_Bool m_bMultiSelectionMode; - rtl::OUString m_aDefaultName; - rtl::OUString m_aDisplayDirectory; - ::com::sun::star::uno::Sequence< rtl::OUString > m_aFiles; - enum { OPEN, SAVE } m_nDialogKind; - - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xSystemFilePicker; - -protected: - ::osl::Mutex m_rbHelperMtx; - -public: - - ODMAFilePicker( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext ); - - // XFilterManager functions - - virtual void SAL_CALL appendFilter( const ::rtl::OUString& aTitle, - const ::rtl::OUString& aFilter ) - throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException ); - - virtual void SAL_CALL setCurrentFilter( const ::rtl::OUString& aTitle ) - throw( ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException ); - - virtual ::rtl::OUString SAL_CALL getCurrentFilter( ) - throw( ::com::sun::star::uno::RuntimeException ); - - // XFilterGroupManager functions - - virtual void SAL_CALL appendFilterGroup( const ::rtl::OUString& sGroupTitle, - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair >& aFilters ) - throw (::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException ); - - // XFilePickerControlAccess functions - - virtual void SAL_CALL setValue( sal_Int16 nControlID, - sal_Int16 nControlAction, - const ::com::sun::star::uno::Any& aValue ) - throw( ::com::sun::star::uno::RuntimeException ); - - virtual ::com::sun::star::uno::Any SAL_CALL getValue( sal_Int16 nControlID, - sal_Int16 nControlAction ) - throw( ::com::sun::star::uno::RuntimeException ); - - virtual void SAL_CALL setLabel( sal_Int16 nControlID, - const ::rtl::OUString& aValue ) - throw ( ::com::sun::star::uno::RuntimeException ); - - virtual ::rtl::OUString SAL_CALL getLabel( sal_Int16 nControlID ) - throw ( ::com::sun::star::uno::RuntimeException ); - - virtual void SAL_CALL enableControl( sal_Int16 nControlID, - sal_Bool bEnable ) - throw( ::com::sun::star::uno::RuntimeException ); - - // XFilePicker functions - - virtual void SAL_CALL setMultiSelectionMode( sal_Bool bMode ) - throw( ::com::sun::star::uno::RuntimeException ); - - virtual void SAL_CALL setDefaultName( const ::rtl::OUString& aName ) - throw( ::com::sun::star::uno::RuntimeException ); - - virtual void SAL_CALL setDisplayDirectory( const ::rtl::OUString& aDirectory ) - throw( ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException ); - - virtual ::rtl::OUString SAL_CALL getDisplayDirectory( ) - throw( ::com::sun::star::uno::RuntimeException ); - - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getFiles( ) - throw( ::com::sun::star::uno::RuntimeException ); - - // XExecutableDialog functions - - virtual void SAL_CALL setTitle( const ::rtl::OUString& aTitle ) - throw (::com::sun::star::uno::RuntimeException); - - virtual sal_Int16 SAL_CALL execute( ) - throw (::com::sun::star::uno::RuntimeException); - - // XFilePickerNotifier functions - - virtual void SAL_CALL addFilePickerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::ui::dialogs::XFilePickerListener >& xListener ) - throw ( ::com::sun::star::uno::RuntimeException ); - - virtual void SAL_CALL removeFilePickerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::ui::dialogs::XFilePickerListener >& xListener ) - throw ( ::com::sun::star::uno::RuntimeException ); - - // XFilePreview functions - - virtual ::com::sun::star::uno::Sequence< sal_Int16 > SAL_CALL getSupportedImageFormats( ) - throw ( ::com::sun::star::uno::RuntimeException ); - - virtual sal_Int32 SAL_CALL getTargetColorDepth( ) - throw ( ::com::sun::star::uno::RuntimeException ); - - virtual sal_Int32 SAL_CALL getAvailableWidth( ) - throw ( ::com::sun::star::uno::RuntimeException ); - - virtual sal_Int32 SAL_CALL getAvailableHeight( ) - throw ( ::com::sun::star::uno::RuntimeException ); - - virtual void SAL_CALL setImage( sal_Int16 aImageFormat, - const ::com::sun::star::uno::Any& aImage ) - throw ( ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException ); - - virtual sal_Bool SAL_CALL setShowState( sal_Bool bShowState ) - throw ( ::com::sun::star::uno::RuntimeException ); - - virtual sal_Bool SAL_CALL getShowState( ) - throw ( ::com::sun::star::uno::RuntimeException ); - - // XInitialization functions - - virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) - throw ( ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException ); - - // XCancellable functions - - virtual void SAL_CALL cancel( ) - throw( ::com::sun::star::uno::RuntimeException ); - - // XEventListener functions - - using cppu::WeakComponentImplHelperBase::disposing; - virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& aEvent ) - throw( ::com::sun::star::uno::RuntimeException ); - - // XServiceInfo functions - - virtual ::rtl::OUString SAL_CALL getImplementationName( ) - throw( ::com::sun::star::uno::RuntimeException ); - - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& sServiceName ) - throw( ::com::sun::star::uno::RuntimeException ); - - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) - throw( ::com::sun::star::uno::RuntimeException ); - - /* Helper for XServiceInfo */ - static ::com::sun::star::uno::Sequence< ::rtl::OUString > impl_getStaticSupportedServiceNames( ); - static ::rtl::OUString impl_getStaticImplementationName( ); - - /* Helper for registry */ - static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL impl_createInstance ( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext ) - throw( ::com::sun::star::uno::Exception ); -}; - -#endif // INCLUDED_ODMA_FILEPICKER_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/fpicker/source/odma/fps_odma.component b/fpicker/source/odma/fps_odma.component deleted file mode 100644 index 62e15776a124..000000000000 --- a/fpicker/source/odma/fps_odma.component +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * ---> - -<component loader="com.sun.star.loader.SharedLibrary" prefix="fps_odma" - xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.svtools.ODMAFilePicker"> - <service name="com.sun.star.ui.dialogs.SystemFilePicker"/> - </implementation> -</component> diff --git a/fpicker/source/odma/fps_odma.cxx b/fpicker/source/odma/fps_odma.cxx deleted file mode 100644 index c8dce67d4c50..000000000000 --- a/fpicker/source/odma/fps_odma.cxx +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "sal/types.h" - -#include "cppuhelper/implementationentry.hxx" - -#include "ODMAFilePicker.hxx" - -static cppu::ImplementationEntry g_entries[] = -{ - { - ODMAFilePicker::impl_createInstance, - ODMAFilePicker::impl_getStaticImplementationName, - ODMAFilePicker::impl_getStaticSupportedServiceNames, - cppu::createSingleComponentFactory, 0, 0 - }, - { 0, 0, 0, 0, 0, 0 } -}; - -extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL fps_odma_component_getFactory ( - const sal_Char * pImplementationName, void * pServiceManager, void * pRegistryKey) -{ - return cppu::component_getFactoryHelper ( - pImplementationName, pServiceManager, pRegistryKey, g_entries); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/framework/source/uielement/recentfilesmenucontroller.cxx b/framework/source/uielement/recentfilesmenucontroller.cxx index 6466f2265b6e..2603b2f86c83 100644 --- a/framework/source/uielement/recentfilesmenucontroller.cxx +++ b/framework/source/uielement/recentfilesmenucontroller.cxx @@ -42,7 +42,6 @@ #define GradientStyle_RECT BLA_GradientStyle_RECT #include <windows.h> #undef GradientStyle_RECT -#include <odma_lib.hxx> #endif #include <osl/mutex.hxx> @@ -188,44 +187,6 @@ void RecentFilesMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu > else aMenuTitle = aSystemPath; } -#if 0 // Please don't remove this commented-out code just yet, - // we can try to resurrect it later in case somebody complains -#ifdef WNT - else if ( aURL.GetProtocol() == INET_PROT_VND_SUN_STAR_ODMA && ::odma::DMSsAvailable ()) - { - String aShortTitle = m_aRecentFilesItems.at( i ).aTitle; - - // This is against all rules for using - // proper abstraction layers and whatnot. - // But figuring out how to do it "right" - // would have taken the whole week. - // So just call the odma_lib functions... - // (odma_lib is a thin layer on - // top of the ODMA32 DLL) - - static ODMHANDLE handle = NULL; - static sal_Bool beenhere = sal_False; - ODMSTATUS status; - - if ( ! beenhere ) - { - status = NODMRegisterApp( &handle, ODM_API_VERSION, "sodma", NULL, NULL ); - beenhere = sal_True; - } - - if ( handle != NULL ) - { - rtl::OUString s = aURL.GetMainURL( INetURLObject::DECODE_WITH_CHARSET, RTL_TEXTENCODING_MS_1252 ); - s = s.copy( strlen ( "vnd.sun.star.odma:/" ) ); - char title[47]; - status = NODMGetDocInfo( handle, rtl::OUStringToOString( s, RTL_TEXTENCODING_MS_1252 ).pData->buffer, ODM_NAME, title, sizeof ( title ) ); - aShortTitle = String::CreateFromAscii( title ); - } - aMenuTitle += aShortTitle; - aTipHelpText = aURLString; - } -#endif -#endif else { // Use INetURLObject to abbreviate all other URLs diff --git a/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu b/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu index 1fe1b8c9276e..521c83af9b92 100644 --- a/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu +++ b/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu @@ -177,17 +177,6 @@ <value/> </prop> </node> - <node oor:name="Provider42" oor:op="replace" install:module="win"> - <prop oor:name="ServiceName"> - <value>com.sun.star.ucb.ODMAContentProvider</value> - </prop> - <prop oor:name="URLTemplate"> - <value>vnd.sun.star.odma</value> - </prop> - <prop oor:name="Arguments"> - <value/> - </prop> - </node> <node oor:name="Provider43" oor:op="replace"> <prop oor:name="ServiceName"> <value>com.sun.star.ucb.CmisContentProvider</value> diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index f847e0e75560..3910287c6921 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -6557,19 +6557,6 @@ </info> <value>false</value> </prop> - <prop oor:name="TryODMADialog" oor:type="xs:boolean" oor:nillable="false"> - <info> - <author>tml</author> - <desc>Determines whether to show the document creation and selection - of the machine's default ODMA (Open Document Management Architecture) - DMS (Document Management System). If true, and the machine has a DMS - available, the DMS's dialog will be displayed. That dialog then gives - the opportunity to use the application's dialog instead, which means - the normal system file and folder pickers will be displayed. Relevant - only on Windows.</desc> - </info> - <value>false</value> - </prop> <prop oor:name="DisableUICustomization" oor:type="xs:boolean" oor:nillable="false"> diff --git a/readlicense_oo/html/LICENSE.html b/readlicense_oo/html/LICENSE.html index 8f5be105bf1a..dadacdf1ebda 100644 --- a/readlicense_oo/html/LICENSE.html +++ b/readlicense_oo/html/LICENSE.html @@ -5083,48 +5083,6 @@ advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any
associated documentation will at all times remain with copyright
holders.</P>
-<H2 CLASS="western">ODMA header</H2>
-<P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">The
-following software may be included in this product: odma.h -
-Definitions, prototypes, etc. for Open Document Managment API (ODMA)
-version 2.0. Use of any of this software is governed by the terms of
-the license below:</P>
-<H3 CLASS="western">OPEN DOCUMENT MANAGEMENT API LICENSE 1.0</H3>
-<P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">ODMA
-2.0 SPECIFICATIONS AND SOFTWARE</P>
-<P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">Copyright
-© 1994-1998 AIIM International. All Right Reserved.</P>
-<P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">LICENSE:</P>
-<UL>
- <LI><P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
- Redistribution and use in source and binary forms, with or without
- modifications, are permitted provided that the following conditions
- are met:</P>
- <LI><P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.</P>
- <LI><P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
- Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.</P>
- <LI><P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">
- Neither the name of AIIM International nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.</P>
-</UL>
-<P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">DISCLAIMER:</P>
-<P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">THIS
-SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</P>
<H1 CLASS="western" STYLE="page-break-before: always"><A NAME="__RefHeading__12227_1300998327"></A><A NAME="2.GNU Lesser General Public License Version 3|outline"></A><A NAME="1.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="9.GNU Lesser General Public License Version 3|outline"></A><A NAME="4.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="3.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="7.GNU Lesser General Public License Version 3|outline"></A><A NAME="1.GNU Lesser General Public License Version 3|outline"></A><A NAME="1.GNU Lesser General Public License Version 3|outline"></A>
GNU Lesser General Public License Version 3</H1>
<P CLASS="western" STYLE="margin-top: 0.3cm; margin-bottom: 0.3cm">Copyright
diff --git a/readlicense_oo/txt/license.txt b/readlicense_oo/txt/license.txt index 7234c17290eb..2ea16638314e 100644 --- a/readlicense_oo/txt/license.txt +++ b/readlicense_oo/txt/license.txt @@ -5160,59 +5160,6 @@ MathML DTD associated documentation will at all times remain with copyright holders. -ODMA header - - The following software may be included in this product: - odma.h - Definitions, prototypes, etc. for Open Document Managment API - (ODMA) version 2.0. Use of any of this software is governed by the terms - of the license below: - - OPEN DOCUMENT MANAGEMENT API LICENSE 1.0 - - ODMA 2.0 SPECIFICATIONS AND SOFTWARE - ------------------------------------ - - Copyright © 1994-1998 AIIM International - All Right Reserved - -LICENSE: - - Redistribution and use in source and binary forms, with or - without modifications, are permitted provided that the - following conditions are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - - * Redistributions in binary form must reproduce the - above copyright notice, this list of conditions and - the following disclaimer in the documentation and/or - other materials provided with the distribution. - - * Neither the name of AIIM International nor the names - of its contributors may be used to endorse or promote - products derived from this software without specific - prior written permission. - -DISCLAIMER: - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING - BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - GNU Lesser General Public License Version 3 Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/> diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp index 8e9437780aed..86dde44a28b1 100644 --- a/scp2/source/ooo/file_library_ooo.scp +++ b/scp2/source/ooo/file_library_ooo.scp @@ -523,10 +523,6 @@ End #endif #endif -#ifdef WNT -SPECIAL_COMPONENT_LIB_FILE( gid_File_Lib_Fps_ODMA, fps_odma.uno ) -#endif - SPECIAL_COMPONENT_LIB_FILE( gid_File_Lib_Fps_Office, fps_office.uno ) SPECIAL_COMPONENT_LIB_FILE( gid_File_Lib_Fpicker, fpicker.uno ) @@ -1334,10 +1330,6 @@ SPECIAL_COMPONENT_LIB_FILE(gid_File_Ucpext, ucpext.uno) SPECIAL_COMPONENT_LIB_FILE(gid_File_Ucpexpand1, ucpexpand1.uno) -#ifdef WNT -SPECIAL_COMPONENT_LIB_FILE(gid_File_Ucpodma1, ucpodma1) -#endif - SPECIAL_COMPONENT_LIB_FILE(gid_File_Ucpcmis, ucpcmis1.uno) File gid_File_Lib_Lnth diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk index 5764d0e862ae..17bead889413 100644 --- a/solenv/inc/libs.mk +++ b/solenv/inc/libs.mk @@ -35,10 +35,6 @@ COMID_WITH_VERSION = $(UDK_MAJOR)$(COMID) COMID_WITH_VERSION = $(COMID) .ENDIF -.IF "$(GUI)" == "WNT" -ODMA_LIB_LIB=-lodma_lib -.ENDIF - # #externe libs in plattform.mk # @@ -323,7 +319,6 @@ CURLLIB+=$(ZLIB3RDLIB) .ELSE # ("$(GUI)"=="UNX" || "$(COM)"=="GCC") -ODMA_LIB_LIB=odma_lib.lib AWTLIB*=jawt.lib AVMEDIALIB=iavmedia.lib ICUINLIB=icuin.lib diff --git a/svl/qa/unit/test_URIHelper.cxx b/svl/qa/unit/test_URIHelper.cxx index 1f16193196f5..9fd68aa2c06c 100644 --- a/svl/qa/unit/test_URIHelper.cxx +++ b/svl/qa/unit/test_URIHelper.cxx @@ -377,7 +377,6 @@ void Test::testFindFirstURLInText() { { "vnd.sun.star.cmd:", 0, 0, 0 }, { "vnd.sun.star.help:", 0, 0, 0 }, { "vnd.sun.star.hier:", 0, 0, 0 }, - { "vnd.sun.star.odma:", 0, 0, 0 }, { "vnd.sun.star.pkg:", 0, 0, 0 }, { "vnd.sun.star.script:", 0, 0, 0 }, { "vnd.sun.star.webdav:", 0, 0, 0 }, diff --git a/svtools/inc/svtools/miscopt.hxx b/svtools/inc/svtools/miscopt.hxx index 9352d04f9d20..0d2ea73ea8d2 100644 --- a/svtools/inc/svtools/miscopt.hxx +++ b/svtools/inc/svtools/miscopt.hxx @@ -77,9 +77,6 @@ class SVT_DLLPUBLIC SvtMiscOptions: public utl::detail::Options void SetUseSystemFileDialog( sal_Bool bSet ); sal_Bool IsUseSystemFileDialogReadOnly() const; - sal_Bool TryODMADialog() const; - void SetTryODMADialog( sal_Bool bSet ); - sal_Bool DisableUICustomization() const; sal_Bool IsPluginsEnabled() const; diff --git a/svtools/source/config/miscopt.cxx b/svtools/source/config/miscopt.cxx index 53c1231d34a6..c3666d03c4a2 100644 --- a/svtools/source/config/miscopt.cxx +++ b/svtools/source/config/miscopt.cxx @@ -55,8 +55,6 @@ using namespace ::com::sun::star; #define PROPERTYHANDLE_SYMBOLSTYLE 4 #define PROPERTYNAME_USESYSTEMPRINTDIALOG ASCII_STR("UseSystemPrintDialog") #define PROPERTYHANDLE_USESYSTEMPRINTDIALOG 5 -#define PROPERTYNAME_TRYODMADIALOG ASCII_STR("TryODMADialog") -#define PROPERTYHANDLE_TRYODMADIALOG 6 #define PROPERTYNAME_SHOWLINKWARNINGDIALOG ASCII_STR("ShowLinkWarningDialog") #define PROPERTYHANDLE_SHOWLINKWARNINGDIALOG 7 #define PROPERTYNAME_DISABLEUICUSTOMIZATION ASCII_STR("DisableUICustomization") @@ -76,8 +74,6 @@ class SvtMiscOptions_Impl : public ConfigItem ::std::list<Link> aList; sal_Bool m_bUseSystemFileDialog; sal_Bool m_bIsUseSystemFileDialogRO; - sal_Bool m_bTryODMADialog; - sal_Bool m_bIsTryODMADialogRO; sal_Bool m_bPluginsEnabled; sal_Bool m_bIsPluginsEnabledRO; sal_Int16 m_nSymbolsSize; @@ -149,15 +145,6 @@ class SvtMiscOptions_Impl : public ConfigItem inline sal_Bool IsUseSystemFileDialogReadOnly() const { return m_bIsUseSystemFileDialogRO; } - inline sal_Bool TryODMADialog() const - { return m_bTryODMADialog; } - - inline void SetTryODMADialog( sal_Bool bSet ) - { m_bTryODMADialog = bSet; SetModified(); } - - inline sal_Bool IsTryUseODMADialogReadOnly() const - { return m_bIsTryODMADialogRO; } - inline sal_Bool DisableUICustomization() const { return m_bDisableUICustomization; } @@ -272,8 +259,6 @@ SvtMiscOptions_Impl::SvtMiscOptions_Impl() , m_bUseSystemFileDialog( sal_False ) , m_bIsUseSystemFileDialogRO( sal_False ) - , m_bTryODMADialog( sal_False ) - , m_bIsTryODMADialogRO( sal_False ) , m_bPluginsEnabled( sal_False ) , m_bIsPluginsEnabledRO( sal_False ) , m_nSymbolsSize( 0 ) @@ -359,16 +344,6 @@ SvtMiscOptions_Impl::SvtMiscOptions_Impl() break; } - case PROPERTYHANDLE_TRYODMADIALOG : - { - if( !(seqValues[nProperty] >>= m_bTryODMADialog) ) - { - OSL_FAIL("Wrong type of \"Misc\\TryODMADialog\"!" ); - } - m_bIsTryODMADialogRO = seqRO[nProperty]; - break; - } - case PROPERTYHANDLE_SHOWLINKWARNINGDIALOG : { if( !(seqValues[nProperty] >>= m_bShowLinkWarningDialog) ) @@ -500,13 +475,6 @@ void SvtMiscOptions_Impl::Load( const Sequence< OUString >& rPropertyNames ) } } break; - case PROPERTYHANDLE_TRYODMADIALOG : { - if( !(seqValues[nProperty] >>= m_bTryODMADialog) ) - { - OSL_FAIL("Wrong type of \"Misc\\TryODMADialog\"!" ); - } - } - break; case PROPERTYHANDLE_SHOWLINKWARNINGDIALOG : { if( !(seqValues[nProperty] >>= m_bShowLinkWarningDialog) ) { @@ -664,13 +632,6 @@ void SvtMiscOptions_Impl::Commit() break; } - case PROPERTYHANDLE_TRYODMADIALOG : - { - if ( !m_bIsTryODMADialogRO ) - seqValues[nProperty] <<= m_bTryODMADialog; - break; - } - case PROPERTYHANDLE_SYMBOLSTYLE : { if ( !m_bIsSymbolsStyleRO ) @@ -732,7 +693,6 @@ Sequence< OUString > SvtMiscOptions_Impl::GetPropertyNames() PROPERTYNAME_USESYSTEMFILEDIALOG, PROPERTYNAME_SYMBOLSTYLE, PROPERTYNAME_USESYSTEMPRINTDIALOG, - PROPERTYNAME_TRYODMADIALOG, PROPERTYNAME_SHOWLINKWARNINGDIALOG, PROPERTYNAME_DISABLEUICUSTOMIZATION, PROPERTYNAME_ALWAYSALLOWSAVE, @@ -805,16 +765,6 @@ sal_Bool SvtMiscOptions::IsUseSystemFileDialogReadOnly() const return m_pDataContainer->IsUseSystemFileDialogReadOnly(); } -sal_Bool SvtMiscOptions::TryODMADialog() const -{ - return m_pDataContainer->TryODMADialog(); -} - -void SvtMiscOptions::SetTryODMADialog( sal_Bool bEnable ) -{ - m_pDataContainer->SetTryODMADialog( bEnable ); -} - sal_Bool SvtMiscOptions::IsPluginsEnabled() const { return m_pDataContainer->IsPluginsEnabled(); diff --git a/tools/inc/tools/urlobj.hxx b/tools/inc/tools/urlobj.hxx index 4b80eaab071a..2f4319968042 100644 --- a/tools/inc/tools/urlobj.hxx +++ b/tools/inc/tools/urlobj.hxx @@ -94,7 +94,6 @@ enum INetProtocol INET_PROT_LDAP = 23, INET_PROT_DB = 24, INET_PROT_VND_SUN_STAR_CMD = 25, - INET_PROT_VND_SUN_STAR_ODMA = 26, INET_PROT_TELNET = 27, INET_PROT_VND_SUN_STAR_EXPAND = 28, INET_PROT_VND_SUN_STAR_TDOC = 29, diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx index b70f3b7a17ff..b9b8ac5937d6 100644 --- a/tools/source/fsys/urlobj.cxx +++ b/tools/source/fsys/urlobj.cxx @@ -216,8 +216,6 @@ using namespace com::sun; uric_no_slash = unreserved / escaped / ";" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / "," - ; private - vnd-sun-star-url = "VND.SUN.STAR.ODMA:" ["/" *uric_no_slash] uric_no_slash = unreserved / escaped / ";" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / "," @@ -388,8 +386,7 @@ static INetURLObject::SchemeInfo const aSchemeInfoMap[INET_PROT_END] false }, { "vnd.sun.star.cmd", "vnd.sun.star.cmd:", 0, false, false, false, false, false, false, false, false }, - { "vnd.sun.star.odma", "vnd.sun.star.odma:", 0, false, false, false, - false, false, false, true, false }, + { "", "", 0, false, false, false, false, true, true, true, false }, // Placeholder for removed 25: ODMA { "telnet", "telnet://", 23, true, true, false, true, true, true, true, false }, { "vnd.sun.star.expand", "vnd.sun.star.expand:", 0, false, false, false, @@ -2189,8 +2186,6 @@ INetURLObject::PrefixInfo const * INetURLObject::getPrefix(sal_Unicode const *& PrefixInfo::OFFICIAL }, { "vnd.sun.star.hier:", 0, INET_PROT_VND_SUN_STAR_HIER, PrefixInfo::OFFICIAL }, - { "vnd.sun.star.odma:", 0, INET_PROT_VND_SUN_STAR_ODMA, - PrefixInfo::OFFICIAL }, { "vnd.sun.star.pkg:", 0, INET_PROT_VND_SUN_STAR_PKG, PrefixInfo::OFFICIAL }, { "vnd.sun.star.tdoc:", 0, INET_PROT_VND_SUN_STAR_TDOC, @@ -3338,26 +3333,6 @@ bool INetURLObject::parsePath(INetProtocol eScheme, break; } - case INET_PROT_VND_SUN_STAR_ODMA: - if (pPos < pEnd) - { - if (*pPos == '/') - ++pPos; - else - return false; - } - aTheSynPath.append(sal_Unicode('/')); - while (pPos < pEnd && *pPos != nFragmentDelimiter) - { - EscapeType eEscapeType; - sal_uInt32 nUTF32 = getUTF32(pPos, pEnd, bOctets, - '%', eMechanism, - eCharset, eEscapeType); - appendUCS4(aTheSynPath, nUTF32, eEscapeType, bOctets, - PART_URIC_NO_SLASH, '%', eCharset, true); - } - break; - case INET_PROT_TELNET: if (pPos < pEnd) { diff --git a/ucb/Library_ucpodma1.mk b/ucb/Library_ucpodma1.mk deleted file mode 100644 index 1c0f950e632a..000000000000 --- a/ucb/Library_ucpodma1.mk +++ /dev/null @@ -1,58 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# Copyright (C) 2012 Matúš Kukan <matus.kukan@gmail.com> (initial developer) -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -$(eval $(call gb_Library_Library,ucpodma1)) - -$(eval $(call gb_Library_set_componentfile,ucpodma1,ucb/source/ucp/odma/ucpodma1)) - -$(eval $(call gb_Library_use_sdk_api,ucpodma1)) - -$(eval $(call gb_Library_use_libraries,ucpodma1,\ - comphelper \ - cppu \ - cppuhelper \ - sal \ - salhelper \ - ucbhelper \ - $(gb_UWINAPI) \ -)) - -$(eval $(call gb_Library_use_static_libraries,ucpodma1,\ - odma_lib \ -)) - -$(eval $(call gb_Library_add_exception_objects,ucpodma1,\ - ucb/source/ucp/odma/odma_contentcaps \ - ucb/source/ucp/odma/odma_content \ - ucb/source/ucp/odma/odma_datasupplier \ - ucb/source/ucp/odma/odma_inputstream \ - ucb/source/ucp/odma/odma_provider \ - ucb/source/ucp/odma/odma_resultset \ - ucb/source/ucp/odma/odma_services \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/ucb/Module_ucb.mk b/ucb/Module_ucb.mk index f84cc84637f7..6eb5522c40e0 100644 --- a/ucb/Module_ucb.mk +++ b/ucb/Module_ucb.mk @@ -42,14 +42,6 @@ $(eval $(call gb_Module_add_targets,ucb,\ Library_ucptdoc1 \ )) -ifeq ($(OS),WNT) -$(eval $(call gb_Module_add_targets,ucb,\ - Library_ucpodma1 \ - Package_odma_inc \ - StaticLibrary_odma_lib \ -)) -endif - ifneq ($(DISABLE_NEON),TRUE) $(eval $(call gb_Module_add_targets,ucb,\ Library_ucpdav1 \ diff --git a/ucb/Package_odma_inc.mk b/ucb/Package_odma_inc.mk deleted file mode 100644 index e9cd52af6cef..000000000000 --- a/ucb/Package_odma_inc.mk +++ /dev/null @@ -1,33 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# Copyright (C) 2012 Matúš Kukan <matus.kukan@gmail.com> (initial developer) -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -$(eval $(call gb_Package_Package,ucb_odma_inc,$(SRCDIR)/ucb/source/ucp/odma)) - -$(eval $(call gb_Package_add_file,ucb_odma_inc,inc/odma.h,odma.h)) -$(eval $(call gb_Package_add_file,ucb_odma_inc,inc/odma_lib.hxx,odma_lib.hxx)) - -# vim: set noet sw=4 ts=4: diff --git a/ucb/StaticLibrary_odma_lib.mk b/ucb/StaticLibrary_odma_lib.mk deleted file mode 100644 index d6100b621dfa..000000000000 --- a/ucb/StaticLibrary_odma_lib.mk +++ /dev/null @@ -1,41 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# Copyright (C) 2012 Matúš Kukan <matus.kukan@gmail.com> (initial developer) -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -$(eval $(call gb_StaticLibrary_StaticLibrary,odma_lib)) - -$(eval $(call gb_StaticLibrary_use_package,odma_lib,ucb_odma_inc)) - -$(eval $(call gb_StaticLibrary_use_api,odma_lib,\ - offapi \ - udkapi \ -)) - -$(eval $(call gb_StaticLibrary_add_exception_objects,odma_lib,\ - ucb/source/ucp/odma/odma_lib \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/ucb/source/ucp/odma/odma.h b/ucb/source/ucp/odma/odma.h deleted file mode 100644 index c75f21c844af..000000000000 --- a/ucb/source/ucp/odma/odma.h +++ /dev/null @@ -1,361 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* odma.h - Definitions, prototypes, etc. for Open Document Managment API - (ODMA) version 2.0. - OPEN DOCUMENT MANAGEMENT API LICENSE 1.0 - - ODMA 2.0 SPECIFICATIONS AND SOFTWARE - ------------------------------------ - - Copyright 1994-1998 AIIM International - -LICENSE: - - Redistribution and use in source and binary forms, with or - without modifications, are permitted provided that the - following conditions are met: - - * Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - - * Redistributions in binary form must reproduce the - above copyright notice, this list of conditions and - the following disclaimer in the documentation and/or - other materials provided with the distribution. - - * Neither the name of AIIM International nor the names - of its contributors may be used to endorse or promote - products derived from this software without specific - prior written permission. - -DISCLAIMER: - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING - BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - COPYRIGHT (C) 1994, 1995 - AIIM International - All Right Reserved -*/ - -#ifndef ODMA_H -#define ODMA_H - -/* Type definitions */ -typedef LPVOID ODMHANDLE; -typedef LPSTR (*ODMSAVEASCALLBACK)(DWORD dwEnvData, LPSTR lpszFormat, LPVOID pInstanceData); -typedef int ODMSTATUS; - -/* Constants */ -#define ODM_API_VERSION 200 /* Version of the API */ - -#ifdef WIN32 - #define ODM_DOCID_MAX 255 /* Win32 */ - -#elif defined( _WINDOWS_ ) || defined( _MSDOS ) - #define ODM_DOCID_MAX 80 /* Windows 3.x */ - -#else - #define ODM_DOCID_MAX 255 /* Other platforms */ -#endif - -#define ODM_DMSID_MAX 9 /* Max length of a DMS ID including the - terminating NULL character. */ - -#define ODM_APPID_MAX 16 /* Max length of a application ID including - the terminating NULL character. */ - -// ODMA 2.0 -#define ODM_QUERYID_MAX 255 // Max length of a query ID including - // the terminating NULL character. - -#define ODM_FORMAT_MAX 81 // Max length of a format including - // the terminating NULL character. - -// Maximum length of a filename returned by ODMA including the terminating -// NULL character. Platform dependent. - -#ifdef WIN32 - #define ODM_FILENAME_MAX 255 /* Win32 */ - -#elif defined( _WINDOWS_ ) || defined( _MSDOS ) - #define ODM_FILENAME_MAX 128 /* Windows 3.x */ - -#elif defined( unix ) || defined( _UNIX ) - #define ODM_FILENAME_MAX 1024 /* Unix */ - -#else - #define ODM_FILENAME_MAX 255 /* Other platforms */ -#endif - - -/* Common format type names */ -#define ODM_FORMAT_TEXT "Text" -#define ODM_FORMAT_RTF "Rich text format" -#define ODM_FORMAT_DCA "DCA RFT" /* IBM DCA Rich Format Text */ -#define ODM_FORMAT_TIFF "Tiff" -#define ODM_FORMAT_GIF "Gif" /* Compuserve Graphics Interchange Format */ -#define ODM_FORMAT_BMP "Windows bitmap" -#define ODM_FORMAT_PCX "PCX" -#define ODM_FORMAT_CGM "CGM" /* Computer Graphics Metafile */ -#define ODM_FORMAT_EXE "Executable file" -#define ODM_FORMAT_PCL "PCL" /* HP Printer Control Language */ -#define ODM_FORMAT_PS "PostScript" - - -/* Error returns */ -#define ODM_SUCCESS 0 // Success! -#define ODM_E_FAIL 1 /* Unspecified failure */ -#define ODM_E_CANCEL 2 /* Action was cancelled at user's request */ -#define ODM_E_NODMS 3 /* DMS not registered */ -#define ODM_E_CANTINIT 4 /* DMS failed to initalize */ -#define ODM_E_VERSION 5 /* DMS doesn't support the requested - version of ODMA */ -#define ODM_E_APPSELECT 6 /* User has indicated that he wants to use - the application's file selection - capabilities rather than those of the - DMS. */ -#define ODM_E_USERINT 7 /* Requested action cannot be performed - without user interaction, but silent - mode was specified. */ -#define ODM_E_HANDLE 8 /* The DMHANDLE argument was invalid. */ -#define ODM_E_ACCESS 9 /* User does not have requested access - rights to specified document. */ -#define ODM_E_INUSE 10 /* Document is currently in use and cannot - be accessed in specified mode. */ -#define ODM_E_DOCID 11 /* Invalid document ID */ -#define ODM_E_OPENMODE 12 /* The specified action is incompatible - with the mode in which the document was - opened. */ -#define ODM_E_NOOPEN 13 /* The specified document is not open. */ -#define ODM_E_ITEM 14 /* Invalid item specifier. */ -#define ODM_E_OTHERAPP 15 /* Selected document was for another app. */ -#define ODM_E_NOMOREDATA 16 /* No more data is available */ -#define ODM_E_PARTIALSUCCESS 17 /* */ -// Additional Error code from ODMA 2.0 -#define ODM_E_REQARG 18 /* */ -#define ODM_E_NOSUPPORT 19 /* */ -#define ODM_E_TRUNCATED 20 /* */ -#define ODM_E_INVARG 21 -#define ODM_E_OFFLINE 22 /* */ - - -// ODMOpenDoc modes -#define ODM_MODIFYMODE 1 /* Open document in a modifiable mode. */ -#define ODM_VIEWMODE 2 /* Open document in non-modifiable mode. */ -// ODMA 2.0 -#define ODM_REFCOPY 3 - - -// Actions for ODMActivate -#define ODM_NONE 0 /* No specific action is requested. */ -#define ODM_DELETE 1 /* Delete the specified document. */ -#define ODM_SHOWATTRIBUTES 2 /* Display the specified document's profile - or attributes. */ -#define ODM_EDITATTRIBUTES 3 /* Edit the specified document's profile or - attributes. */ -#define ODM_VIEWDOC 4 /* Display the specified document in a - viewer window. */ -#define ODM_OPENDOC 5 /* Open the specified document in its - native application. */ -// ODMA 2.0 -#define ODM_NEWDOC 6 -#define ODM_CHECKOUT 7 -#define ODM_CANCELCHECKOUT 8 -#define ODM_CHECKIN 9 -#define ODM_SHOWHISTORY 10 - - -// Item selectors for ODMGetDocInfo and ODMSetDocInfo -#define ODM_AUTHOR 1 /* Author of the document. */ -#define ODM_NAME 2 /* Descriptive name of the document. */ -#define ODM_TYPE 3 /* Type of the document. */ -#define ODM_TITLETEXT 4 /* Suggested text to display in the - document window's title bar. */ -#define ODM_DMS_DEFINED 5 /* DMS defined data. */ -#define ODM_CONTENTFORMAT 6 /* String describing document's format */ -// ODMA 2.0 -#define ODM_ALTERNATE_RENDERINGS 7 -#define ODM_CHECKEDOUTBY 8 -#define ODM_CHECKOUTCOMMENT 9 -#define ODM_CHECKOUTDATE 10 -#define ODM_CREATEDBY 11 -#define ODM_CREATEDDATE 12 -#define ODM_DOCID_LATEST 13 -#define ODM_DOCID_RELEASED 14 -#define ODM_DOCVERSION 15 -#define ODM_DOCVERSION_LATEST 16 -#define ODM_DOCVERSION_RELEASED 17 -#define ODM_LOCATION 18 -#define ODM_KEYWORDS 19 -#define ODM_LASTCHECKINBY 20 -#define ODM_LASTCHECKINDATE 21 -#define ODM_MODIFYDATE 22 -#define ODM_MODIFYDATE_LATEST 23 -#define ODM_MODIFYDATE_RELEASED 24 -#define ODM_OWNER 25 -#define ODM_SUBJECT 26 -#define ODM_TITLETEXT_RO 27 -#define ODM_URL 28 - - -// Item selectors for ODMQueryCapability ODMA 2.0 -#define ODM_QC_ACTIVATE 1 -#define ODM_QC_CLOSEDOC 2 -#define ODM_QC_CLOSEDOCEX 3 -#define ODM_QC_GETALTERNATECONTENT 4 -#define ODM_QC_GETDMSINFO 5 -#define ODM_QC_GETDOCINFO 6 -#define ODM_QC_GETDOCRELATION 7 -#define ODM_QC_GETLEADMONIKER 8 -#define ODM_QC_NEWDOC 9 -#define ODM_QC_OPENDOC 10 -#define ODM_QC_QUERYCLOSE 11 -#define ODM_QC_QUERYEXECUTE 12 -#define ODM_QC_QUERYGETRESULTS 13 -#define ODM_QC_SAVEAS 14 -#define ODM_QC_SAVEASEX 15 -#define ODM_QC_SAVEDOC 16 -#define ODM_QC_SAVEDOCEX 17 -#define ODM_QC_SELECTDOC 18 -#define ODM_QC_SELECTDOCEX 19 -#define ODM_QC_SETALTERNATECONTENT 20 -#define ODM_QC_SETDOCEVENT 21 -#define ODM_QC_SETDOCRELATION 22 -#define ODM_QC_SETDOCINFO 23 - - -// Misc. modes, flags -#define ODM_SILENT 16 /* Don't interact with the user while - fulfilling this request. */ -//ODMA 2.0 -#define ODM_VERSION_SAME 1 -#define ODM_VERSION_MAJOR 2 -#define ODM_VERSION_MINOR 4 -#define ODM_VERSION_CHANGED 8 -#define ODM_ALT_DELETE 32 - -//ODMA 2.0 DMS Info Flags -#define ODM_EXT_QUERY 1 -#define ODM_EXT_WORKFLOW 2 - -// Flags for Query Interface -#define ODM_ALL 1 // All DMS's should be searched -#define ODM_SPECIFIC 2 // Only specific DMS's should be searched - - -// Function prototypes -#ifdef __cplusplus -extern "C" { -#endif - -ODMSTATUS WINAPI ODMRegisterApp(ODMHANDLE FAR *pOdmHandle, WORD version, - LPSTR lpszAppId, DWORD dwEnvData, LPVOID pReserved); - -void WINAPI ODMUnRegisterApp(ODMHANDLE odmHandle); - -ODMSTATUS WINAPI ODMSelectDoc(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPDWORD pdwFlags); - -ODMSTATUS WINAPI ODMOpenDoc(ODMHANDLE odmHandle, DWORD flags, - LPSTR lpszDocId, LPSTR lpszDocLocation); - -ODMSTATUS WINAPI ODMSaveDoc(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPSTR lpszNewDocId); - -ODMSTATUS WINAPI ODMCloseDoc(ODMHANDLE odmHandle, LPSTR lpszDocId, - DWORD activeTime, DWORD pagesPrinted, LPVOID sessionData, WORD dataLen); - -ODMSTATUS WINAPI ODMNewDoc(ODMHANDLE odmHandle, LPSTR lpszDocId, - DWORD dwFlags, LPSTR lpszFormat, LPSTR lpszDocLocation); - -ODMSTATUS WINAPI ODMSaveAs(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPSTR lpszNewDocId, LPSTR lpszFormat, ODMSAVEASCALLBACK pcbCallBack, - LPVOID pInstanceData); - -ODMSTATUS WINAPI ODMActivate(ODMHANDLE odmHandle, WORD action, - LPSTR lpszDocId); - -ODMSTATUS WINAPI ODMGetDocInfo(ODMHANDLE odmHandle, LPSTR lpszDocId, - WORD item, LPSTR lpszData, WORD dataLen); - -ODMSTATUS WINAPI ODMSetDocInfo(ODMHANDLE odmHandle, LPSTR lpszDocId, - WORD item, LPSTR lpszData); - -ODMSTATUS WINAPI ODMGetDMSInfo(ODMHANDLE odmHandle, LPSTR lpszDmsId, - LPWORD pwVerNo, LPDWORD pdwExtensions); - -/* Query Enhancements */ -WORD WINAPI ODMGetDMSCount(); - -WORD WINAPI ODMGetDMSList( LPSTR buffer, WORD buffer_size ); - -ODMSTATUS WINAPI ODMGetDMS( LPCSTR lpszAppId, LPSTR lpszDMSId ); - -ODMSTATUS WINAPI ODMSetDMS( LPCSTR lpszAppId, LPCSTR lpszDMSId ); - -ODMSTATUS WINAPI ODMQueryExecute(ODMHANDLE odmHandle, LPCSTR lpszQuery, - DWORD flags, LPCSTR lpszDMSList, LPSTR queryId ); - -ODMSTATUS WINAPI ODMQueryGetResults(ODMHANDLE odmHandle, LPCSTR queryId, - LPSTR lpszDocId, LPSTR lpszDocName, WORD docNameLen, - WORD *docCount ); - -ODMSTATUS WINAPI ODMQueryClose(ODMHANDLE odmHandle, LPCSTR queryId ); - -/* ODMA 2.0 Enhancements */ -ODMSTATUS WINAPI ODMCloseDocEx(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPDWORD pdwFlags, DWORD activeTime, DWORD pagesPrinted, - LPVOID sessionData, WORD dataLen); - -ODMSTATUS WINAPI ODMSaveAsEx(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPSTR lpszNewDocId, LPSTR lpszFormat, ODMSAVEASCALLBACK pcbCallBack, - LPVOID pInstanceData, LPDWORD pdwFlags); - -ODMSTATUS WINAPI ODMSaveDocEx(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPSTR lpszNewDocId, LPDWORD pdwFlags); - -ODMSTATUS WINAPI ODMSelectDocEx(ODMHANDLE odmHandle, LPSTR lpszDocIds, - LPWORD pwDocIdsLen, LPWORD pwDocCount, LPDWORD pdwFlags, - LPSTR lpszFormatFilter); - -ODMSTATUS WINAPI ODMQueryCapability(ODMHANDLE odmHandle, LPCSTR lpszDmsId, - DWORD function, DWORD item, DWORD flags); - -ODMSTATUS WINAPI ODMSetDocEvent(ODMHANDLE odmHandle, LPSTR lpszDocId, - DWORD flags, DWORD event, LPVOID lpData, DWORD dwDataLen, - LPSTR lpszComment); - -ODMSTATUS WINAPI ODMGetAlternateContent(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPDWORD pdwFlags, LPSTR lpszFormat, LPSTR lpszDocLocation); - -ODMSTATUS WINAPI ODMSetAlternateContent(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPDWORD pdwFlags, LPSTR lpszFormat, LPSTR lpszDocLocation); - -ODMSTATUS WINAPI ODMGetDocRelation(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPDWORD pdwFlags, LPSTR lpszLinkedId, LPSTR lpszFormat, - LPSTR lpszPreviousId); - -ODMSTATUS WINAPI ODMSetDocRelation(ODMHANDLE odmHandle, LPSTR lpszDocId, - LPDWORD pdwFlags, LPSTR lpszLinkedId, LPSTR lpszFormat, - LPSTR lpszPreviousId); - -#ifdef __cplusplus -} -#endif - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_content.cxx b/ucb/source/ucp/odma/odma_content.cxx deleted file mode 100644 index 0789bd663bda..000000000000 --- a/ucb/source/ucp/odma/odma_content.cxx +++ /dev/null @@ -1,1053 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#include <osl/diagnose.h> -#include <com/sun/star/ucb/XDynamicResultSet.hpp> -#include <com/sun/star/beans/PropertyAttribute.hpp> -#include <com/sun/star/beans/XPropertyAccess.hpp> -#include <com/sun/star/lang/IllegalAccessException.hpp> -#include <com/sun/star/ucb/UnsupportedDataSinkException.hpp> -#include <com/sun/star/sdbc/XRow.hpp> -#include <com/sun/star/io/XOutputStream.hpp> -#include <com/sun/star/io/XActiveDataSink.hpp> -#include <com/sun/star/ucb/OpenCommandArgument2.hpp> -#include <com/sun/star/ucb/OpenMode.hpp> -#include <com/sun/star/ucb/XCommandInfo.hpp> -#include <com/sun/star/ucb/XPersistentPropertySet.hpp> -#include <ucbhelper/contentidentifier.hxx> -#include <ucbhelper/propertyvalueset.hxx> -#include <ucbhelper/cancelcommandexecution.hxx> -#include <com/sun/star/ucb/UnsupportedOpenModeException.hpp> -#include <com/sun/star/ucb/MissingInputStreamException.hpp> -#include <com/sun/star/ucb/InsertCommandArgument.hpp> -#include <com/sun/star/ucb/MissingPropertiesException.hpp> -#include <com/sun/star/io/XActiveDataStreamer.hpp> -#include <com/sun/star/ucb/TransferInfo.hpp> -#include <com/sun/star/ucb/NameClash.hpp> -#ifdef WNT -#include <windows.h> -#endif -#include "odma_content.hxx" -#include "odma_contentprops.hxx" -#include "odma_provider.hxx" -#include "odma_resultset.hxx" -#include "odma_inputstream.hxx" -#include <ucbhelper/content.hxx> -#include <com/sun/star/uno/Exception.hpp> -#include <rtl/ref.hxx> -#include <osl/file.hxx> - -using namespace com::sun::star; -using namespace odma; - -//========================================================================= -//========================================================================= -// -// Content Implementation. -// -//========================================================================= -//========================================================================= - -Content::Content( const uno::Reference< uno::XComponentContext >& rxContext, - ContentProvider* pProvider, - const uno::Reference< ucb::XContentIdentifier >& Identifier, - const ::rtl::Reference<ContentProperties>& _rProps) - : ContentImplHelper( rxContext, pProvider, Identifier ) - ,m_aProps(_rProps) - ,m_pProvider(pProvider) - ,m_pContent(NULL) -{ - OSL_ENSURE(m_aProps.is(),"No valid ContentPropeties!"); -} - -//========================================================================= -// virtual -Content::~Content() -{ - delete m_pContent; -} - -//========================================================================= -// -// XInterface methods. -// -//========================================================================= - -// virtual -void SAL_CALL Content::acquire() throw() -{ - ContentImplHelper::acquire(); -} - -//========================================================================= -// virtual -void SAL_CALL Content::release() throw() -{ - ContentImplHelper::release(); -} - -//========================================================================= -// virtual -uno::Any SAL_CALL Content::queryInterface( const uno::Type & rType ) - throw ( uno::RuntimeException ) -{ - uno::Any aRet; - - // @@@ Add support for additional interfaces. - - return aRet.hasValue() ? aRet : ContentImplHelper::queryInterface( rType ); -} - -//========================================================================= -// -// XTypeProvider methods. -// -//========================================================================= - -XTYPEPROVIDER_COMMON_IMPL( Content ); - -//========================================================================= -// virtual -uno::Sequence< uno::Type > SAL_CALL Content::getTypes() - throw( uno::RuntimeException ) -{ - // @@@ Add own interfaces. - - static cppu::OTypeCollection* pCollection = 0; - - if ( !pCollection ) - { - osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() ); - if ( !pCollection ) - { - static cppu::OTypeCollection aCollection( - CPPU_TYPE_REF( lang::XTypeProvider ), - CPPU_TYPE_REF( lang::XServiceInfo ), - CPPU_TYPE_REF( lang::XComponent ), - CPPU_TYPE_REF( ucb::XContent ), - CPPU_TYPE_REF( ucb::XCommandProcessor ), - CPPU_TYPE_REF( beans::XPropertiesChangeNotifier ), - CPPU_TYPE_REF( ucb::XCommandInfoChangeNotifier ), - CPPU_TYPE_REF( beans::XPropertyContainer ), - CPPU_TYPE_REF( beans::XPropertySetInfoChangeNotifier ), - CPPU_TYPE_REF( container::XChild ) ); - pCollection = &aCollection; - } - } - - return (*pCollection).getTypes(); -} - -//========================================================================= -// -// XServiceInfo methods. -// -//========================================================================= - -// virtual -rtl::OUString SAL_CALL Content::getImplementationName() - throw( uno::RuntimeException ) -{ - // @@@ Adjust implementation name. Keep the prefix "com.sun.star.comp."! - return rtl::OUString("com.sun.star.comp.odma.Content"); -} - -//========================================================================= -// virtual -uno::Sequence< rtl::OUString > SAL_CALL Content::getSupportedServiceNames() - throw( uno::RuntimeException ) -{ - // @@@ Adjust macro name. - uno::Sequence< rtl::OUString > aSNS( 1 ); - aSNS.getArray()[ 0 ] - = rtl::OUString( ODMA_CONTENT_SERVICE_NAME ); - return aSNS; -} - -//========================================================================= -// -// XContent methods. -// -//========================================================================= - -// virtual -rtl::OUString SAL_CALL Content::getContentType() - throw( uno::RuntimeException ) -{ - // @@@ Adjust macro name ( def in odma_provider.hxx ). - return rtl::OUString( ODMA_CONTENT_TYPE ); -} - -//========================================================================= -// -// XCommandProcessor methods. -// -//========================================================================= - -// virtual -uno::Any SAL_CALL Content::execute( - const ucb::Command& aCommand, - sal_Int32 /*CommandId*/, - const uno::Reference< ucb::XCommandEnvironment >& Environment ) - throw( uno::Exception, - ucb::CommandAbortedException, - uno::RuntimeException ) -{ - uno::Any aRet; - - if ( aCommand.Name == "getPropertyValues" ) - { - ////////////////////////////////////////////////////////////////// - // getPropertyValues - ////////////////////////////////////////////////////////////////// - - uno::Sequence< beans::Property > Properties; - if ( !( aCommand.Argument >>= Properties ) ) - { - OSL_FAIL( "Wrong argument type!" ); - ucbhelper::cancelCommandExecution( - uno::makeAny( lang::IllegalArgumentException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - -1 ) ), - Environment ); - // Unreachable - } - - aRet <<= getPropertyValues( Properties, Environment ); - } - else if ( aCommand.Name == "setPropertyValues" ) - { - ////////////////////////////////////////////////////////////////// - // setPropertyValues - ////////////////////////////////////////////////////////////////// - - uno::Sequence< beans::PropertyValue > aProperties; - if ( !( aCommand.Argument >>= aProperties ) ) - { - OSL_FAIL( "Wrong argument type!" ); - ucbhelper::cancelCommandExecution( - uno::makeAny( lang::IllegalArgumentException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - -1 ) ), - Environment ); - // Unreachable - } - - if ( !aProperties.getLength() ) - { - OSL_FAIL( "No properties!" ); - ucbhelper::cancelCommandExecution( - uno::makeAny( lang::IllegalArgumentException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - -1 ) ), - Environment ); - // Unreachable - } - - aRet <<= setPropertyValues( aProperties, Environment ); - } - else if ( aCommand.Name == "getPropertySetInfo" ) - { - ////////////////////////////////////////////////////////////////// - // getPropertySetInfo - ////////////////////////////////////////////////////////////////// - - // Note: Implemented by base class. - aRet <<= getPropertySetInfo( Environment ); - } - else if ( aCommand.Name == "getCommandInfo" ) - { - ////////////////////////////////////////////////////////////////// - // getCommandInfo - ////////////////////////////////////////////////////////////////// - - // Note: Implemented by base class. - aRet <<= getCommandInfo( Environment ); - } - else if ( aCommand.Name == "open" ) - { - ucb::OpenCommandArgument2 aOpenCommand; - if ( !( aCommand.Argument >>= aOpenCommand ) ) - { - OSL_FAIL( "Wrong argument type!" ); - ucbhelper::cancelCommandExecution( - uno::makeAny( lang::IllegalArgumentException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - -1 ) ), - Environment ); - // Unreachable - } - - sal_Bool bOpenFolder = - ( ( aOpenCommand.Mode == ucb::OpenMode::ALL ) || - ( aOpenCommand.Mode == ucb::OpenMode::FOLDERS ) || - ( aOpenCommand.Mode == ucb::OpenMode::DOCUMENTS ) ); - - if ( bOpenFolder) - { - // open as folder - return result set - - uno::Reference< ucb::XDynamicResultSet > xSet - = new DynamicResultSet( m_xContext, - this, - aOpenCommand, - Environment ); - aRet <<= xSet; - } - - if ( aOpenCommand.Sink.is() ) - { - // Open document - supply document data stream. - - // Check open mode - if ( ( aOpenCommand.Mode - == ucb::OpenMode::DOCUMENT_SHARE_DENY_NONE ) || - ( aOpenCommand.Mode - == ucb::OpenMode::DOCUMENT_SHARE_DENY_WRITE ) ) - { - // Unsupported. - ucbhelper::cancelCommandExecution( - uno::makeAny( ucb::UnsupportedOpenModeException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - sal_Int16( aOpenCommand.Mode ) ) ), - Environment ); - // Unreachable - } - - - rtl::OUString aURL = m_xIdentifier->getContentIdentifier(); - rtl::OUString sFileURL = openDoc(); - delete m_pContent; - m_pContent = new ::ucbhelper::Content( sFileURL, NULL, m_xContext ); - if(!m_pContent->isDocument()) - { - rtl::OUString sErrorMsg("File: "); - sErrorMsg += sFileURL; - sErrorMsg += rtl::OUString(" could not be found."); - ucbhelper::cancelCommandExecution( - uno::makeAny( io::IOException( - sErrorMsg, - static_cast< cppu::OWeakObject * >( this )) ), - Environment ); - } - - uno::Reference< io::XOutputStream > xOut - = uno::Reference< io::XOutputStream >( - aOpenCommand.Sink, uno::UNO_QUERY ); - if ( xOut.is() ) - { - // @@@ PUSH: write data into xOut - m_pContent->openStream(xOut); - } - else - { - uno::Reference< io::XActiveDataSink > xDataSink - = uno::Reference< io::XActiveDataSink >( - aOpenCommand.Sink, uno::UNO_QUERY ); - if ( xDataSink.is() ) - { - // @@@ PULL: wait for client read - uno::Reference< io::XInputStream > xIn; - try - { - xIn = m_pContent->openStream(); - } - catch(uno::Exception&) - { - OSL_FAIL("Exception occurred while creating the file content!"); - } - xDataSink->setInputStream( xIn ); - } - else - { - uno::Reference< io::XActiveDataStreamer > activeDataStreamer( aOpenCommand.Sink,uno::UNO_QUERY ); - if(activeDataStreamer.is()) - { - activeDataStreamer->setStream(new OOdmaStream(m_pContent,getContentProvider(),m_aProps)); - m_pContent = NULL; // don't delete here because the stream is now the owner - } - else - { - // Note: aOpenCommand.Sink may contain an XStream - // implementation. Support for this type of - // sink is optional... - ucbhelper::cancelCommandExecution( - uno::makeAny( ucb::UnsupportedDataSinkException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - aOpenCommand.Sink ) ), - Environment ); - // Unreachable - } - } - } - } - } - else if ( aCommand.Name == "close" ) - { - getContentProvider()->closeDocument(m_aProps->m_sDocumentId); - } - else if ( aCommand.Name == "delete" ) - { - ////////////////////////////////////////////////////////////////// - // delete - ////////////////////////////////////////////////////////////////// - - // Remove own and all children's Additional Core Properties. - removeAdditionalPropertySet( sal_True ); - // Remove own and all childrens(!) persistent data. - if(!getContentProvider()->deleteDocument(m_aProps)) - ucbhelper::cancelCommandExecution( - uno::makeAny( lang::IllegalArgumentException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - -1 ) ), - Environment ); - } - else if ( aCommand.Name == "insert" ) - { - ////////////////////////////////////////////////////////////////// - // insert - ////////////////////////////////////////////////////////////////// - - ucb::InsertCommandArgument arg; - if ( !( aCommand.Argument >>= arg ) ) - { - OSL_FAIL( "Wrong argument type!" ); - ucbhelper::cancelCommandExecution( - uno::makeAny( lang::IllegalArgumentException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - -1 ) ), - Environment ); - // Unreachable - } - - insert( arg.Data, arg.ReplaceExisting, Environment ); - } - else if( ! aCommand.Name.compareToAscii( "transfer" ) ) - { - // So far I have determined that this command is called when - // doing "Save As" to copy an already written backup copy of - // the document in the file system into the DMS. - - // Maybe also in other situations. - - ucb::TransferInfo aTransferInfo; - if( ! ( aCommand.Argument >>= aTransferInfo ) ) - { - OSL_FAIL( "Wrong argument type!" ); - ucbhelper::cancelCommandExecution( - uno::makeAny( lang::IllegalArgumentException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - -1 ) ), - Environment ); - // Unreachable - } - ::rtl::Reference<ContentProperties> aProp = m_aProps; - if(aProp->m_bIsFolder) - { - aProp = getContentProvider()->getContentPropertyWithDocumentId(aTransferInfo.NewTitle); - if(!aProp.is()) - aProp = getContentProvider()->getContentPropertyWithSavedAsName(aTransferInfo.NewTitle); - sal_Bool bError = !aProp.is(); - - // There used to be code below that called ODMSaveAsEx, - // but that was very broken. We have already called - // ODMSaveAsEx in the ODMA file picker when selecting the - // name for a new document, or the document already exists - // in the DMS and we don't need any ODMSaveAsEx. The ODMA - // file picker tells odma::ContentProvider about the new - // document's DOCID, so the - // getContentPropertyWithDocumentId() call above should - // succeed. - - if(bError) - ucbhelper::cancelCommandExecution( - uno::makeAny( lang::IllegalArgumentException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - -1 ) ), - Environment ); - } - rtl::OUString sFileURL = ContentProvider::openDoc(aProp); - - sal_Int32 nLastIndex = sFileURL.lastIndexOf( sal_Unicode('/') ); - // Create a new Content object for the "shadow" file - // corresponding to the opened document from the DMS. - ::ucbhelper::Content aContent(sFileURL.copy(0,nLastIndex),NULL, m_xContext); - // aTransferInfo.NameClash = ucb::NameClash::OVERWRITE; - aTransferInfo.NewTitle = sFileURL.copy( 1 + nLastIndex ); - // Copy our saved backup copy to the "shadow" file. - aContent.executeCommand(::rtl::OUString("transfer"),uno::makeAny(aTransferInfo)); - // Tell the DMS that the "shadow" file is done and can be - // imported. - getContentProvider()->saveDocument(aProp->m_sDocumentId); - } - else if ( aCommand.Name == "getCasePreservingURL" ) - { - rtl::OUString CasePreservingURL = openDoc(); - aRet <<= CasePreservingURL; - } - else - { - ////////////////////////////////////////////////////////////////// - // Unsupported command - ////////////////////////////////////////////////////////////////// - - OSL_FAIL( "Content::execute - unsupported command!" ); - - ucbhelper::cancelCommandExecution( - uno::makeAny( ucb::UnsupportedCommandException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ) ) ), - Environment ); - // Unreachable - } - - return aRet; -} - -//========================================================================= -// virtual -void SAL_CALL Content::abort( sal_Int32 /*CommandId*/ ) - throw( uno::RuntimeException ) -{ - // @@@ Implement logic to abort running commands, if this makes - // sense for your content. -} - -//========================================================================= -// -// Non-interface methods. -// -//========================================================================= - -// virtual -::rtl::OUString Content::getParentURL() -{ - ::rtl::OUString sURL = m_xIdentifier->getContentIdentifier(); - - // @@@ Extract URL of parent from aURL and return it... - static ::rtl::OUString sScheme1(ODMA_URL_SCHEME ODMA_URL_SHORT "/"); - static ::rtl::OUString sScheme2(ODMA_URL_SCHEME ODMA_URL_SHORT); - if(sURL == sScheme1 || sURL == sScheme2) - sURL = ::rtl::OUString(); - else - sURL = sScheme1; - - return sURL; -} - -//========================================================================= -// static -uno::Reference< sdbc::XRow > Content::getPropertyValues( - const uno::Reference< uno::XComponentContext >& rxContext, - const uno::Sequence< beans::Property >& rProperties, - const rtl::Reference<ContentProperties>& rData, - const rtl::Reference< ::ucbhelper::ContentProviderImplHelper >& rProvider, - const rtl::OUString& rContentId ) -{ - // Note: Empty sequence means "get values of all supported properties". - - rtl::Reference< ::ucbhelper::PropertyValueSet > xRow - = new ::ucbhelper::PropertyValueSet( rxContext ); - - sal_Int32 nCount = rProperties.getLength(); - if ( nCount ) - { - uno::Reference< beans::XPropertySet > xAdditionalPropSet; - sal_Bool bTriedToGetAdditonalPropSet = sal_False; - - const beans::Property* pProps = rProperties.getConstArray(); - for ( sal_Int32 n = 0; n < nCount; ++n ) - { - const beans::Property& rProp = pProps[ n ]; - - // Process Core properties. - - if ( rProp.Name == "ContentType" ) - { - xRow->appendString ( rProp, rData->m_sContentType ); - } - else if ( rProp.Name == "Title" ) - { - xRow->appendString ( rProp, rData->m_sTitle ); - } - else if ( rProp.Name == "IsDocument" ) - { - xRow->appendBoolean( rProp, rData->m_bIsDocument ); - } - else if ( rProp.Name == "IsFolder" ) - { - xRow->appendBoolean( rProp, rData->m_bIsFolder ); - } - else if ( rProp.Name == "DateCreated" ) - { - xRow->appendTimestamp( rProp, rData->m_aDateCreated ); - } - else if ( rProp.Name == "DateModified" ) - { - xRow->appendTimestamp( rProp, rData->m_aDateModified ); - } - else if ( rProp.Name == "IsReadOnly" ) - { - xRow->appendBoolean( rProp, rData->m_bIsReadOnly ); - } - else if ( rProp.Name == "Author" ) - { - xRow->appendString ( rProp, rData->m_sAuthor ); - } - else if ( rProp.Name == "Subject" ) - { - xRow->appendString ( rProp, rData->m_sSubject ); - } - else if ( rProp.Name == "Keywords" ) - { - xRow->appendString ( rProp, rData->m_sKeywords ); - } - else - { - // @@@ Note: If your data source supports adding/removing - // properties, you should implement the interface - // XPropertyContainer by yourself and supply your own - // logic here. The base class uses the service - // "com.sun.star.ucb.Store" to maintain Additional Core - // properties. But using server functionality is preferred! - - // Not a Core Property! Maybe it's an Additional Core Property?! - - if ( !bTriedToGetAdditonalPropSet && !xAdditionalPropSet.is() ) - { - xAdditionalPropSet - = uno::Reference< beans::XPropertySet >( - rProvider->getAdditionalPropertySet( rContentId, - sal_False ), - uno::UNO_QUERY ); - bTriedToGetAdditonalPropSet = sal_True; - } - - if ( xAdditionalPropSet.is() ) - { - if ( !xRow->appendPropertySetValue( - xAdditionalPropSet, - rProp ) ) - { - // Append empty entry. - xRow->appendVoid( rProp ); - } - } - else - { - // Append empty entry. - xRow->appendVoid( rProp ); - } - } - } - } - else - { - // Append all Core Properties. - xRow->appendString ( - beans::Property( rtl::OUString("ContentType"), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND - | beans::PropertyAttribute::READONLY ), - rData->m_sContentType ); - xRow->appendString ( - beans::Property( rtl::OUString("Title"), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND ), - rData->m_sTitle ); - xRow->appendBoolean( - beans::Property( rtl::OUString("IsDocument"), - -1, - getCppuBooleanType(), - beans::PropertyAttribute::BOUND - | beans::PropertyAttribute::READONLY ), - rData->m_bIsDocument ); - xRow->appendBoolean( - beans::Property( rtl::OUString("IsFolder"), - -1, - getCppuBooleanType(), - beans::PropertyAttribute::BOUND - | beans::PropertyAttribute::READONLY ), - rData->m_bIsFolder ); - - // @@@ Append other properties supported directly. - xRow->appendTimestamp( - beans::Property( rtl::OUString("DateCreated"), - -1, - getCppuType(static_cast< const util::DateTime * >( 0 ) ), - beans::PropertyAttribute::BOUND - | beans::PropertyAttribute::READONLY ), - rData->m_aDateCreated ); - xRow->appendTimestamp( - beans::Property( rtl::OUString("DateModified"), - -1, - getCppuType(static_cast< const util::DateTime * >( 0 ) ), - beans::PropertyAttribute::BOUND - | beans::PropertyAttribute::READONLY ), - rData->m_aDateModified ); - xRow->appendBoolean( - beans::Property( rtl::OUString("IsReadOnly"), - -1, - getCppuBooleanType(), - beans::PropertyAttribute::BOUND - | beans::PropertyAttribute::READONLY ), - rData->m_bIsReadOnly ); - xRow->appendString ( - beans::Property( rtl::OUString("Author"), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND ), - rData->m_sAuthor ); - xRow->appendString ( - beans::Property( rtl::OUString("Subject"), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND ), - rData->m_sSubject ); - xRow->appendString ( - beans::Property( rtl::OUString("Keywords"), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND ), - rData->m_sKeywords ); - - // @@@ Note: If your data source supports adding/removing - // properties, you should implement the interface - // XPropertyContainer by yourself and supply your own - // logic here. The base class uses the service - // "com.sun.star.ucb.Store" to maintain Additional Core - // properties. But using server functionality is preferred! - - // Append all Additional Core Properties. - - uno::Reference< beans::XPropertySet > xSet( - rProvider->getAdditionalPropertySet( rContentId, sal_False ), - uno::UNO_QUERY ); - xRow->appendPropertySet( xSet ); - } - - return uno::Reference< sdbc::XRow >( xRow.get() ); -} - -//========================================================================= -uno::Reference< sdbc::XRow > Content::getPropertyValues( - const uno::Sequence< beans::Property >& rProperties, - const uno::Reference< ucb::XCommandEnvironment >& /*xEnv*/ ) -{ - osl::Guard< osl::Mutex > aGuard( m_aMutex ); - return getPropertyValues( m_xContext, - rProperties, - m_aProps, - rtl::Reference< - ::ucbhelper::ContentProviderImplHelper >( - m_xProvider.get() ), - m_xIdentifier->getContentIdentifier() ); -} - -//========================================================================= -uno::Sequence< uno::Any > Content::setPropertyValues( - const uno::Sequence< beans::PropertyValue >& rValues, - const uno::Reference< ucb::XCommandEnvironment >& /*xEnv*/ ) -{ - osl::ClearableGuard< osl::Mutex > aGuard( m_aMutex ); - - uno::Sequence< uno::Any > aRet( rValues.getLength() ); - uno::Sequence< beans::PropertyChangeEvent > aChanges( rValues.getLength() ); - sal_Int32 nChanged = 0; - - beans::PropertyChangeEvent aEvent; - aEvent.Source = static_cast< cppu::OWeakObject * >( this ); - aEvent.Further = sal_False; -// aEvent.PropertyName = - aEvent.PropertyHandle = -1; -// aEvent.OldValue = -// aEvent.NewValue = - - const beans::PropertyValue* pValues = rValues.getConstArray(); - sal_Int32 nCount = rValues.getLength(); - - uno::Reference< ucb::XPersistentPropertySet > xAdditionalPropSet; - sal_Bool bTriedToGetAdditonalPropSet = sal_False; - - for ( sal_Int32 n = 0; n < nCount; ++n ) - { - const beans::PropertyValue& rValue = pValues[ n ]; - - if ( rValue.Name == "Title" ) - { - changePropertyValue(rValue,n,m_aProps->m_sTitle,nChanged,aRet,aChanges); - } - else if ( rValue.Name == "Author" ) - { - changePropertyValue(rValue,n,m_aProps->m_sAuthor,nChanged,aRet,aChanges); - } - else if ( rValue.Name == "Keywords" ) - { - changePropertyValue(rValue,n,m_aProps->m_sKeywords,nChanged,aRet,aChanges); - } - else if ( rValue.Name == "Subject" ) - { - changePropertyValue(rValue,n,m_aProps->m_sSubject,nChanged,aRet,aChanges); - } - else if ( rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "ContentType" ) ) || - rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "IsDocument" ) ) || - rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "IsFolder" ) ) || - rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "DateCreated" ) ) || - rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "DateModified" ) ) || - rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "IsReadOnly" ) ) ) - { - // Read-only property! - aRet[ n ] <<= lang::IllegalAccessException( - rtl::OUString( "Property is read-only!" ), - static_cast< cppu::OWeakObject * >( this ) ); - } - else - { - // @@@ Note: If your data source supports adding/removing - // properties, you should implement the interface - // XPropertyContainer by yourself and supply your own - // logic here. The base class uses the service - // "com.sun.star.ucb.Store" to maintain Additional Core - // properties. But using server functionality is preferred! - - // Not a Core Property! Maybe it's an Additional Core Property?! - - if ( !bTriedToGetAdditonalPropSet && !xAdditionalPropSet.is() ) - { - xAdditionalPropSet = getAdditionalPropertySet( sal_False ); - bTriedToGetAdditonalPropSet = sal_True; - } - - if ( xAdditionalPropSet.is() ) - { - try - { - uno::Any aOldValue - = xAdditionalPropSet->getPropertyValue( rValue.Name ); - if ( aOldValue != rValue.Value ) - { - xAdditionalPropSet->setPropertyValue( - rValue.Name, rValue.Value ); - - aEvent.PropertyName = rValue.Name; - aEvent.OldValue = aOldValue; - aEvent.NewValue = rValue.Value; - - aChanges.getArray()[ nChanged ] = aEvent; - nChanged++; - } - else - { - // Old value equals new value. No error! - } - } - catch ( beans::UnknownPropertyException const & e ) - { - aRet[ n ] <<= e; - } - catch ( lang::WrappedTargetException const & e ) - { - aRet[ n ] <<= e; - } - catch ( beans::PropertyVetoException const & e ) - { - aRet[ n ] <<= e; - } - catch ( lang::IllegalArgumentException const & e ) - { - aRet[ n ] <<= e; - } - } - else - { - aRet[ n ] <<= uno::Exception( - rtl::OUString( "No property set for storing the value!" ), - static_cast< cppu::OWeakObject * >( this ) ); - } - } - } - - if ( nChanged > 0 ) - { - // @@@ Save changes. -// storeData(); - - aGuard.clear(); - aChanges.realloc( nChanged ); - notifyPropertiesChange( aChanges ); - } - - return aRet; -} -//========================================================================= -void Content::insert( - const uno::Reference< io::XInputStream > & xInputStream, - sal_Bool bReplaceExisting, - const uno::Reference< ucb::XCommandEnvironment >& Environment ) - throw( uno::Exception ) -{ - osl::ClearableGuard< osl::Mutex > aGuard( m_aMutex ); - - // Check, if all required properties were set. - if ( !m_aProps->m_sTitle.getLength()) - { - OSL_FAIL( "Content::insert - property value missing!" ); - - uno::Sequence< rtl::OUString > aProps( 1 ); - aProps[ 0 ] = rtl::OUString("zzzz"); - ucbhelper::cancelCommandExecution( - uno::makeAny( ucb::MissingPropertiesException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ), - aProps ) ), - Environment ); - // Unreachable - } - - if ( !xInputStream.is() ) - { - OSL_FAIL( "Content::insert - No data stream!" ); - - ucbhelper::cancelCommandExecution( - uno::makeAny( ucb::MissingInputStreamException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ) ) ), - Environment ); - // Unreachable - } - - // Assemble new content identifier... - - // uno::Reference< ucb::XContentIdentifier > xId = ...; - - // Fail, if a resource with given id already exists. - if ( !bReplaceExisting ) // && hasData( m_xIdentifier ) ) - { - ucbhelper::cancelCommandExecution( - uno::makeAny( ucb::UnsupportedCommandException( - rtl::OUString(), - static_cast< cppu::OWeakObject * >( this ) ) ), - Environment ); -// ucbhelper::cancelCommandExecution( -// ucb::IOErrorCode_ALREADY_EXISTING, -// Environment, -// uno::makeAny(static_cast< cppu::OWeakObject * >( this )) -// ); - // Unreachable - } - - // m_xIdentifier = xId; - -// @@@ -// storeData(); - - aGuard.clear(); - inserted(); -} - -// ----------------------------------------------------------------------------- -::rtl::OUString Content::openDoc() -{ - OSL_ENSURE(m_aProps.is(),"No valid content properties!"); - return ContentProvider::openDoc(m_aProps); -} -// ----------------------------------------------------------------------------- -void Content::changePropertyValue(const beans::PropertyValue& _rValue, - sal_Int32 _rnCurrentPos, - ::rtl::OUString& _rsMemberValue, - sal_Int32& _rnChanged, - uno::Sequence< uno::Any >& _rRet, - uno::Sequence< beans::PropertyChangeEvent >& _rChanges) throw (beans::IllegalTypeException) -{ - rtl::OUString sNewValue; - sal_Bool bError = sal_False; - if ( _rValue.Value >>= sNewValue ) - { - if ( sNewValue != _rsMemberValue ) - { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); - // first we have to check if we could change the property inside the DMS - ::rtl::OString sDocInfoValue = ::rtl::OUStringToOString(sNewValue,RTL_TEXTENCODING_ASCII_US); - WORD nDocInfo = 0; - if(&_rsMemberValue == &m_aProps->m_sTitle) - nDocInfo = ODM_TITLETEXT; - else if(&_rsMemberValue == &m_aProps->m_sAuthor) - nDocInfo = ODM_AUTHOR; - else if(&_rsMemberValue == &m_aProps->m_sSubject) - nDocInfo = ODM_SUBJECT; - else if(&_rsMemberValue == &m_aProps->m_sKeywords) - nDocInfo = ODM_KEYWORDS; - else - bError = sal_True; - - if(!bError) - { - ODMSTATUS odm = NODMSetDocInfo( ContentProvider::getHandle(), - const_cast<sal_Char*>(m_aProps->m_sDocumentId.getStr()), - nDocInfo, - const_cast<sal_Char*>(sDocInfoValue.getStr()) - ); - if(odm == ODM_SUCCESS) - { - beans::PropertyChangeEvent aEvent; - aEvent.Source = static_cast< cppu::OWeakObject * >( this ); - aEvent.Further = sal_False; - aEvent.PropertyHandle = -1; - aEvent.PropertyName = _rValue.Name; - aEvent.OldValue = uno::makeAny( _rsMemberValue ); - aEvent.NewValue = uno::makeAny( sNewValue ); - - _rChanges.getArray()[ _rnChanged ] = aEvent; - - _rsMemberValue = sNewValue; - ++_rnChanged; - } - } - } - else - { - // Old value equals new value. No error! - } - } - else - bError = sal_True; - - if(bError) - { - _rRet[ _rnCurrentPos ] <<= beans::IllegalTypeException( - rtl::OUString( "Property value has wrong type!" ), - static_cast< cppu::OWeakObject * >( this ) ); - } -} -// ----------------------------------------------------------------------------- - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_content.hxx b/ucb/source/ucp/odma/odma_content.hxx deleted file mode 100644 index 21608870da18..000000000000 --- a/ucb/source/ucp/odma/odma_content.hxx +++ /dev/null @@ -1,190 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef ODMA_CONTENT_HXX -#define ODMA_CONTENT_HXX - -#include <list> -#include <ucbhelper/contenthelper.hxx> - -namespace com { namespace sun { namespace star { - namespace beans { - struct Property; - struct PropertyValue; - } - namespace sdbc { - class XRow; - } - namespace io { - class XInputStream; - } -}}} -namespace ucbhelper -{ - class Content; -} - - -// @@@ Adjust namespace name. -namespace odma -{ - -//========================================================================= - -// @@@ Adjust service name. - -// UNO service name for the content. -#define ODMA_CONTENT_SERVICE_NAME \ - "com.sun.star.ucb.ODMAContent" - -//========================================================================= -class ContentProvider; -class ContentProperties; -class Content : public ::ucbhelper::ContentImplHelper -{ - ::rtl::Reference<ContentProperties> m_aProps; - ContentProvider* m_pProvider; - ::ucbhelper::Content* m_pContent; - -private: - virtual com::sun::star::uno::Sequence< com::sun::star::beans::Property > - getProperties( const com::sun::star::uno::Reference< - com::sun::star::ucb::XCommandEnvironment > & xEnv ); - virtual com::sun::star::uno::Sequence< com::sun::star::ucb::CommandInfo > - getCommands( const com::sun::star::uno::Reference< - com::sun::star::ucb::XCommandEnvironment > & xEnv ); - virtual ::rtl::OUString getParentURL(); - - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRow > - getPropertyValues( const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::Property >& rProperties, - const ::com::sun::star::uno::Reference< - ::com::sun::star::ucb::XCommandEnvironment >& xEnv ); - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > - setPropertyValues( const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& rValues, - const ::com::sun::star::uno::Reference< - ::com::sun::star::ucb::XCommandEnvironment >& xEnv ); - - /** openDoc returns the file URL for the DOC ID - @return the url of the temporary file - */ - ::rtl::OUString openDoc(); - - /** changePropertyValue sets the property referenced by _sMemberValue to the new value - @param _rValue the new value to set - @param _rnCurrentPos the current position inside the Any sequence _rRet - @param _sMemberValue the place where to set the property - @param _rnChanged will be incremented when property changed - @param _rRet collect the exceptions - @param _rChanges contains the changes done - */ - void changePropertyValue(const ::com::sun::star::beans::PropertyValue& _rValue, - sal_Int32 _rnCurrentPos, - ::rtl::OUString& _rsMemberValue, - sal_Int32& _rnChanged, - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& _rRet, - ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyChangeEvent >& _rChanges) throw (::com::sun::star::beans::IllegalTypeException); - -// typedef rtl::Reference< Content > ContentRef; -// typedef std::list< ContentRef > ContentRefList; -// void queryChildren( ContentRefList& rChildren ); - - // Command "insert" - void insert( const ::com::sun::star::uno::Reference< - ::com::sun::star::io::XInputStream > & xInputStream, - sal_Bool bReplaceExisting, - const com::sun::star::uno::Reference< - com::sun::star::ucb::XCommandEnvironment >& Environment ) - throw( ::com::sun::star::uno::Exception ); - -// // Command "delete" -// void destroy( sal_Bool bDeletePhysical ) -// throw( ::com::sun::star::uno::Exception ); - -public: - Content( const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XComponentContext >& rxContext, - ContentProvider* pProvider, - const ::com::sun::star::uno::Reference< - ::com::sun::star::ucb::XContentIdentifier >& Identifier, - const ::rtl::Reference<ContentProperties>& _rProps); - virtual ~Content(); - - // XInterface - XINTERFACE_DECL() - - // XTypeProvider - XTYPEPROVIDER_DECL() - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL - getImplementationName() - throw( ::com::sun::star::uno::RuntimeException ); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL - getSupportedServiceNames() - throw( ::com::sun::star::uno::RuntimeException ); - - // XContent - virtual rtl::OUString SAL_CALL - getContentType() - throw( com::sun::star::uno::RuntimeException ); - - // XCommandProcessor - virtual com::sun::star::uno::Any SAL_CALL - execute( const com::sun::star::ucb::Command& aCommand, - sal_Int32 CommandId, - const com::sun::star::uno::Reference< - com::sun::star::ucb::XCommandEnvironment >& Environment ) - throw( com::sun::star::uno::Exception, - com::sun::star::ucb::CommandAbortedException, - com::sun::star::uno::RuntimeException ); - virtual void SAL_CALL - abort( sal_Int32 CommandId ) - throw( com::sun::star::uno::RuntimeException ); - - ////////////////////////////////////////////////////////////////////// - // Additional interfaces - ////////////////////////////////////////////////////////////////////// - - // @@@ Add additional interfaces ( like com::sun:.star::ucb::XContentCreator ). - - ////////////////////////////////////////////////////////////////////// - // Non-interface methods. - ////////////////////////////////////////////////////////////////////// - - // Called from resultset data supplier. - static ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRow > - getPropertyValues( const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XComponentContext >& rxContext, - const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::Property >& rProperties, - const ::rtl::Reference<ContentProperties>& rData, - const ::rtl::Reference< - ::ucbhelper::ContentProviderImplHelper >& rProvider, - const ::rtl::OUString& rContentId ); - - ContentProvider* getContentProvider() const { return m_pProvider; } -}; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_contentcaps.cxx b/ucb/source/ucp/odma/odma_contentcaps.cxx deleted file mode 100644 index b27c920d188a..000000000000 --- a/ucb/source/ucp/odma/odma_contentcaps.cxx +++ /dev/null @@ -1,236 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#include <com/sun/star/beans/Property.hpp> -#include <com/sun/star/beans/PropertyAttribute.hpp> -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/ucb/CommandInfo.hpp> -#include <com/sun/star/ucb/InsertCommandArgument.hpp> -#include <com/sun/star/ucb/OpenCommandArgument2.hpp> -#include <com/sun/star/uno/Sequence.hxx> -#include <com/sun/star/util/DateTime.hpp> -#include <com/sun/star/ucb/TransferInfo.hpp> -#ifdef WNT -#include <windows.h> -#endif -#include "odma_content.hxx" - -using namespace com::sun::star; -using namespace odma; - -//========================================================================= -// -// Content implementation. -// -//========================================================================= - -//========================================================================= -// -// IMPORTENT: If any property data ( name / type / ... ) are changed, then -// Content::getPropertyValues(...) must be adapted too! -// -//========================================================================= - -// virtual -uno::Sequence< beans::Property > Content::getProperties( - const uno::Reference< ucb::XCommandEnvironment > & /*xEnv*/ ) -{ - // @@@ Add additional properties... - - // @@@ Note: If your data source supports adding/removing properties, - // you should implement the interface XPropertyContainer - // by yourself and supply your own logic here. The base class - // uses the service "com.sun.star.ucb.Store" to maintain - // Additional Core properties. But using server functionality - // is preferred! In fact you should return a table conatining - // even that dynamicly added properties. - -// osl::Guard< osl::Mutex > aGuard( m_aMutex ); - - //================================================================= - // - // Supported properties - // - //================================================================= - - #define PROPERTY_COUNT 10 - - static beans::Property aPropertyInfoTable[] = - { - /////////////////////////////////////////////////////////////// - // Required properties - /////////////////////////////////////////////////////////////// - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ContentType" ) ), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY - ), - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsDocument" ) ), - -1, - getCppuBooleanType(), - beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY - ), - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsFolder" ) ), - -1, - getCppuBooleanType(), - beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY - ), - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Title" ) ), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND - ), - /////////////////////////////////////////////////////////////// - // Optional standard properties - /////////////////////////////////////////////////////////////// - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DateCreated" ) ), - -1, - getCppuType(static_cast< const util::DateTime * >( 0 ) ), - beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY - ), - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DateModified" ) ), - -1, - getCppuType(static_cast< const util::DateTime * >( 0 ) ), - beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY - ), - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsReadOnly" ) ), - -1, - getCppuBooleanType(), - beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY - ), - /////////////////////////////////////////////////////////////// - // New properties - /////////////////////////////////////////////////////////////// - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Author" ) ), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND - ), - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Subject" ) ), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND - ), - beans::Property( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Keywords" ) ), - -1, - getCppuType( static_cast< const rtl::OUString * >( 0 ) ), - beans::PropertyAttribute::BOUND - ) - }; - return uno::Sequence< - beans::Property >( aPropertyInfoTable, PROPERTY_COUNT ); -} - -//========================================================================= -// virtual -uno::Sequence< ucb::CommandInfo > Content::getCommands( - const uno::Reference< ucb::XCommandEnvironment > & /*xEnv*/ ) -{ - // @@@ Add additional commands... - -// osl::Guard< osl::Mutex > aGuard( m_aMutex ); - - //================================================================= - // - // Supported commands - // - //================================================================= - - #define COMMAND_COUNT 8 - - static ucb::CommandInfo aCommandInfoTable[] = - { - /////////////////////////////////////////////////////////////// - // Required commands - /////////////////////////////////////////////////////////////// - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getCommandInfo" ) ), - -1, - getCppuVoidType() - ), - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getPropertySetInfo" ) ), - -1, - getCppuVoidType() - ), - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getPropertyValues" ) ), - -1, - getCppuType( - static_cast< uno::Sequence< beans::Property > * >( 0 ) ) - ), - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "setPropertyValues" ) ), - -1, - getCppuType( - static_cast< uno::Sequence< beans::PropertyValue > * >( 0 ) ) - ), - /////////////////////////////////////////////////////////////// - // Optional standard commands - /////////////////////////////////////////////////////////////// -/* - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "delete" ) ), - -1, - getCppuBooleanType() - ), -*/ - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "insert" ) ), - -1, - getCppuType( - static_cast< ucb::InsertCommandArgument * >( 0 ) ) - ), - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "open" ) ), - -1, - getCppuType( static_cast< ucb::OpenCommandArgument2 * >( 0 ) ) - ), - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "close" ) ), - -1, - getCppuVoidType( ) - ), - ucb::CommandInfo( - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "transfer" ) ), - -1, - getCppuType( static_cast< ucb::TransferInfo * >( 0 ) ) - ) - - /////////////////////////////////////////////////////////////// - // New commands - /////////////////////////////////////////////////////////////// - }; - - return uno::Sequence< - ucb::CommandInfo >( aCommandInfoTable, COMMAND_COUNT ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_contentprops.hxx b/ucb/source/ucp/odma/odma_contentprops.hxx deleted file mode 100644 index 5b0aeba113a5..000000000000 --- a/ucb/source/ucp/odma/odma_contentprops.hxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#ifndef ODMA_CONTENTPROPS_HXX -#define ODMA_CONTENTPROPS_HXX - -#include "rtl/ref.hxx" -#include "salhelper/simplereferenceobject.hxx" -#include <rtl/ustring.hxx> -#include <com/sun/star/util/DateTime.hpp> -#include <functional> - -namespace odma -{ - class ContentProperties : public salhelper::SimpleReferenceObject - { - public: - com::sun::star::util::DateTime m_aDateCreated; // when was the document created - com::sun::star::util::DateTime m_aDateModified; // when was the document last modified - ::rtl::OUString m_sTitle; // Title - ::rtl::OUString m_sContentType; // ContentType - ::rtl::OString m_sDocumentId; // the document id given from the DMS - ::rtl::OUString m_sDocumentName;// document name - ::rtl::OUString m_sFileURL; // the temporary file location - ::rtl::OUString m_sAuthor; // the Author of the document - ::rtl::OUString m_sSubject; // the subject of the document - ::rtl::OUString m_sKeywords; // the keywords of the document - ::rtl::OUString m_sSavedAsName; // the name which was used to save it - sal_Bool m_bIsDocument; // IsDocument - sal_Bool m_bIsFolder; // IsFolder - sal_Bool m_bIsOpen; // is true when OpenDoc was called - sal_Bool m_bIsReadOnly; // true when the document is read-only - - // @@@ Add other properties supported by your content. - - ContentProperties() - :m_bIsDocument( sal_True ) - ,m_bIsFolder( sal_False ) - ,m_bIsOpen( sal_False ) - ,m_bIsReadOnly( sal_False ) - {} - - inline ::rtl::OUString getTitle() const { return m_sTitle; } - inline ::rtl::OUString getDocumentId() const { return ::rtl::OStringToOUString( m_sDocumentId, RTL_TEXTENCODING_ASCII_US ); } - inline ::rtl::OUString getSavedAsName() const { return m_sSavedAsName; } - }; - typedef ::std::binary_function< ::rtl::Reference<ContentProperties>, ::rtl::OUString,bool> TContentPropertiesFunctorBase; - /// binary_function Functor object for class ContentProperties return type is bool - class ContentPropertiesMemberFunctor : public TContentPropertiesFunctorBase - { - ::std::const_mem_fun_t< ::rtl::OUString,ContentProperties> m_aFunction; - public: - ContentPropertiesMemberFunctor(const ::std::const_mem_fun_t< ::rtl::OUString,ContentProperties>& _rFunc) - : m_aFunction(_rFunc){} - - inline bool operator()(const ::rtl::Reference<ContentProperties>& lhs,const ::rtl::OUString& rhs) const - { - return !!(m_aFunction(lhs.get()) == rhs); - } - }; -} -#endif // ODMA_CONTENTPROPS_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_datasupplier.cxx b/ucb/source/ucp/odma/odma_datasupplier.cxx deleted file mode 100644 index 5b2daf928d02..000000000000 --- a/ucb/source/ucp/odma/odma_datasupplier.cxx +++ /dev/null @@ -1,447 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#ifdef WNT -#include <windows.h> -#endif -#include <vector> -#include <comphelper/processfactory.hxx> -#include <ucbhelper/contentidentifier.hxx> -#include <ucbhelper/providerhelper.hxx> -#include "odma_datasupplier.hxx" -#include "odma_content.hxx" -#include "odma_contentprops.hxx" -#include "odma_provider.hxx" - -using namespace com::sun::star::beans; -using namespace com::sun::star::lang; -using namespace com::sun::star::ucb; -using namespace com::sun::star::uno; -using namespace com::sun::star::sdbc; - -using namespace odma; - -namespace odma -{ - -//========================================================================= -// -// struct ResultListEntry. -// -//========================================================================= - -struct ResultListEntry -{ - ::rtl::OUString aId; - Reference< XContentIdentifier > xId; - Reference< XContent > xContent; - Reference< XRow > xRow; - ::rtl::Reference<ContentProperties> rData; - - ResultListEntry( const ::rtl::Reference<ContentProperties>& rEntry ) : rData( rEntry ) {} -}; - -//========================================================================= -// -// ResultList. -// -//========================================================================= - -typedef std::vector< ResultListEntry* > ResultList; - -//========================================================================= -// -// struct DataSupplier_Impl. -// -//========================================================================= - -struct DataSupplier_Impl -{ - osl::Mutex m_aMutex; - ResultList m_aResults; - rtl::Reference< Content > m_xContent; - Reference< XMultiServiceFactory > m_xSMgr; -// @@@ The data source and an iterator for it -// Entry m_aFolder; -// Entry::iterator m_aIterator; - sal_Int32 m_nOpenMode; - sal_Bool m_bCountFinal; - - DataSupplier_Impl( const Reference< XMultiServiceFactory >& rxSMgr, - const rtl::Reference< Content >& rContent, - sal_Int32 nOpenMode ) - : m_xContent( rContent ), m_xSMgr( rxSMgr ), -// m_aFolder( rxSMgr, rContent->getIdentifier()->getContentIdentifier() ), - m_nOpenMode( nOpenMode ), m_bCountFinal( sal_False ) {} - ~DataSupplier_Impl(); -}; - -//========================================================================= -DataSupplier_Impl::~DataSupplier_Impl() -{ - ResultList::const_iterator it = m_aResults.begin(); - ResultList::const_iterator end = m_aResults.end(); - - while ( it != end ) - { - delete (*it); - ++it; - } -} - -} - -//========================================================================= -//========================================================================= -// -// DataSupplier Implementation. -// -//========================================================================= -//========================================================================= - -DataSupplier::DataSupplier( const Reference<XMultiServiceFactory >& rxSMgr, - const rtl::Reference< ::odma::Content >& rContent, - sal_Int32 nOpenMode ) -: m_pImpl( new DataSupplier_Impl( rxSMgr, rContent, nOpenMode ) ) -{ -} - -//========================================================================= -// virtual -DataSupplier::~DataSupplier() -{ - delete m_pImpl; -} - -//========================================================================= -// virtual -::rtl::OUString DataSupplier::queryContentIdentifierString( sal_uInt32 nIndex ) -{ - osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex ); - - if ( nIndex < m_pImpl->m_aResults.size() ) - { - ::rtl::OUString aId = m_pImpl->m_aResults[ nIndex ]->aId; - if ( aId.getLength() ) - { - // Already cached. - return aId; - } - } - - if ( getResult( nIndex ) ) - { - ::rtl::OUString aId - = m_pImpl->m_xContent->getIdentifier()->getContentIdentifier(); - - aId += m_pImpl->m_aResults[ nIndex ]->rData->m_sTitle; - - m_pImpl->m_aResults[ nIndex ]->aId = aId; - return aId; - } - return ::rtl::OUString(); -} - -//========================================================================= -// virtual -Reference< XContentIdentifier > DataSupplier::queryContentIdentifier( - sal_uInt32 nIndex ) -{ - osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex ); - - if ( nIndex < m_pImpl->m_aResults.size() ) - { - Reference< XContentIdentifier > xId - = m_pImpl->m_aResults[ nIndex ]->xId; - if ( xId.is() ) - { - // Already cached. - return xId; - } - } - - ::rtl::OUString aId = queryContentIdentifierString( nIndex ); - if ( aId.getLength() ) - { - Reference< XContentIdentifier > xId - = new ucbhelper::ContentIdentifier( aId ); - m_pImpl->m_aResults[ nIndex ]->xId = xId; - return xId; - } - return Reference< XContentIdentifier >(); -} - -//========================================================================= -// virtual -Reference< XContent > DataSupplier::queryContent( sal_uInt32 nIndex ) -{ - osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex ); - - if ( nIndex < m_pImpl->m_aResults.size() ) - { - Reference< XContent > xContent - = m_pImpl->m_aResults[ nIndex ]->xContent; - if ( xContent.is() ) - { - // Already cached. - return xContent; - } - } - - Reference< XContentIdentifier > xId = queryContentIdentifier( nIndex ); - if ( xId.is() ) - { - try - { - Reference< XContent > xContent - = m_pImpl->m_xContent->getProvider()->queryContent( xId ); - m_pImpl->m_aResults[ nIndex ]->xContent = xContent; - return xContent; - - } - catch ( IllegalIdentifierException& ) - { - } - } - return Reference< XContent >(); -} - -//========================================================================= -// virtual -sal_Bool DataSupplier::getResult( sal_uInt32 nIndex ) -{ - osl::ClearableGuard< osl::Mutex > aGuard( m_pImpl->m_aMutex ); - - if ( m_pImpl->m_aResults.size() > nIndex ) - { - // Result already present. - return sal_True; - } - - // Result not (yet) present. - - if ( m_pImpl->m_bCountFinal ) - return sal_False; - - // Try to obtain result... - - sal_uInt32 nOldCount = m_pImpl->m_aResults.size(); - sal_Bool bFound = sal_False; -// sal_uInt32 nPos = nOldCount; - - // @@@ Obtain data and put it into result list... -/* - while ( m_pImpl->m_aFolder.next( m_pImpl->m_aIterator ) ) - { - m_pImpl->m_aResults.push_back( - new ResultListEntry( *m_pImpl->m_aIterator ) ); - - if ( nPos == nIndex ) - { - // Result obtained. - bFound = sal_True; - break; - } - - nPos++; - } -*/ - // now query for all documents in the DMS - OSL_ENSURE(ContentProvider::getHandle(),"No Handle!"); - sal_Char* pQueryId = new sal_Char[ODM_QUERYID_MAX]; - sal_Char* lpszDMSList = new sal_Char[ODM_DMSID_MAX]; - - ODMSTATUS odm = NODMGetDMS(ODMA_ODMA_REGNAME, lpszDMSList); - lpszDMSList[strlen(lpszDMSList)+1] = '\0'; - - const char sQuery[] = "SELECT ODM_DOCID_LATEST, ODM_NAME"; - - DWORD dwFlags = ODM_SPECIFIC; - odm = NODMQueryExecute(ContentProvider::getHandle(), sQuery, dwFlags, lpszDMSList, pQueryId ); - if(odm != ODM_SUCCESS) { - delete[] pQueryId; - delete[] lpszDMSList; - return sal_False; - } - - sal_uInt16 nCount = 10; - sal_uInt16 nMaxCount = 10; - sal_Char* lpszDocId = new sal_Char[ODM_DOCID_MAX * nMaxCount]; - sal_Char* lpszDocName = new sal_Char[ODM_NAME_MAX * nMaxCount]; - - - ::rtl::OUString sContentType(RTL_CONSTASCII_USTRINGPARAM(ODMA_CONTENT_TYPE)); - sal_uInt32 nCurrentCount = 0; - do - { - if(nCount >= nMaxCount) - { - nCount = nMaxCount; - odm = NODMQueryGetResults(ContentProvider::getHandle(), pQueryId,lpszDocId, lpszDocName, ODM_NAME_MAX, (WORD*)&nCount); - nCurrentCount += nCount; - } - if(odm == ODM_SUCCESS && nIndex < nCurrentCount) - { - bFound = sal_True; - for(sal_uInt16 i = 0; i < nCount; ++i) - { - ::rtl::Reference<ContentProperties> rProps = new ContentProperties(); - rProps->m_sDocumentId = ::rtl::OString(&lpszDocId[ODM_DOCID_MAX*i]); - rProps->m_sContentType = sContentType; - m_pImpl->m_xContent->getContentProvider()->append(rProps); - m_pImpl->m_aResults.push_back( new ResultListEntry(rProps)); - } - } - } - while(nCount > nMaxCount); - - - // now close the query - odm = NODMQueryClose(ContentProvider::getHandle(), pQueryId); - - delete [] lpszDMSList; - delete [] pQueryId; - delete [] lpszDocId; - delete [] lpszDocName; - - if ( !bFound ) - m_pImpl->m_bCountFinal = sal_True; - - rtl::Reference< ucbhelper::ResultSet > xResultSet = getResultSet(); - if ( xResultSet.is() ) - { - // Callbacks follow! - aGuard.clear(); - - if ( nOldCount < m_pImpl->m_aResults.size() ) - xResultSet->rowCountChanged( - nOldCount, m_pImpl->m_aResults.size() ); - - if ( m_pImpl->m_bCountFinal ) - xResultSet->rowCountFinal(); - } - - return bFound; -} - -//========================================================================= -// virtual -sal_uInt32 DataSupplier::totalCount() -{ - osl::ClearableGuard< osl::Mutex > aGuard( m_pImpl->m_aMutex ); - - if ( m_pImpl->m_bCountFinal ) - return m_pImpl->m_aResults.size(); - - sal_uInt32 nOldCount = m_pImpl->m_aResults.size(); - - // @@@ Obtain data and put it into result list... -/* - while ( m_pImpl->m_aFolder.next( m_pImpl->m_aIterator ) ) - m_pImpl->m_aResults.push_back( - new ResultListEntry( *m_pImpl->m_aIterator ) ); -*/ - m_pImpl->m_bCountFinal = sal_True; - - rtl::Reference< ucbhelper::ResultSet > xResultSet = getResultSet(); - if ( xResultSet.is() ) - { - // Callbacks follow! - aGuard.clear(); - - if ( nOldCount < m_pImpl->m_aResults.size() ) - xResultSet->rowCountChanged( - nOldCount, m_pImpl->m_aResults.size() ); - - xResultSet->rowCountFinal(); - } - - return m_pImpl->m_aResults.size(); -} - -//========================================================================= -// virtual -sal_uInt32 DataSupplier::currentCount() -{ - return m_pImpl->m_aResults.size(); -} - -//========================================================================= -// virtual -sal_Bool DataSupplier::isCountFinal() -{ - return m_pImpl->m_bCountFinal; -} - -//========================================================================= -// virtual -Reference< XRow > DataSupplier::queryPropertyValues( sal_uInt32 nIndex ) -{ - osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex ); - - if ( nIndex < m_pImpl->m_aResults.size() ) - { - Reference< XRow > xRow = m_pImpl->m_aResults[ nIndex ]->xRow; - if ( xRow.is() ) - { - // Already cached. - return xRow; - } - } - - if ( getResult( nIndex ) ) - { - Reference< XRow > xRow = Content::getPropertyValues( - comphelper::getComponentContext(m_pImpl->m_xSMgr), - getResultSet()->getProperties(), - m_pImpl->m_aResults[ nIndex ]->rData, - m_pImpl->m_xContent->getProvider(), - queryContentIdentifierString( nIndex ) ); - m_pImpl->m_aResults[ nIndex ]->xRow = xRow; - return xRow; - } - - return Reference< XRow >(); -} - -//========================================================================= -// virtual -void DataSupplier::releasePropertyValues( sal_uInt32 nIndex ) -{ - osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex ); - - if ( nIndex < m_pImpl->m_aResults.size() ) - m_pImpl->m_aResults[ nIndex ]->xRow = Reference< XRow >(); -} - -//========================================================================= -// virtual -void DataSupplier::close() -{ -} - -//========================================================================= -// virtual -void DataSupplier::validate() - throw( ResultSetException ) -{ -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_datasupplier.hxx b/ucb/source/ucp/odma/odma_datasupplier.hxx deleted file mode 100644 index 2e0adb4bd270..000000000000 --- a/ucb/source/ucp/odma/odma_datasupplier.hxx +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef ODMA_DATASUPPLIER_HXX -#define ODMA_DATASUPPLIER_HXX - -#include <ucbhelper/resultset.hxx> - -namespace odma { - -struct DataSupplier_Impl; -class Content; - -class DataSupplier : public ucbhelper::ResultSetDataSupplier -{ - DataSupplier_Impl* m_pImpl; - -public: - DataSupplier( const com::sun::star::uno::Reference< - com::sun::star::lang::XMultiServiceFactory >& rxSMgr, - const rtl::Reference< Content >& rContent, - sal_Int32 nOpenMode ); - virtual ~DataSupplier(); - - virtual rtl::OUString queryContentIdentifierString( sal_uInt32 nIndex ); - virtual com::sun::star::uno::Reference< - com::sun::star::ucb::XContentIdentifier > - queryContentIdentifier( sal_uInt32 nIndex ); - virtual com::sun::star::uno::Reference< com::sun::star::ucb::XContent > - queryContent( sal_uInt32 nIndex ); - - virtual sal_Bool getResult( sal_uInt32 nIndex ); - - virtual sal_uInt32 totalCount(); - virtual sal_uInt32 currentCount(); - virtual sal_Bool isCountFinal(); - - virtual com::sun::star::uno::Reference< com::sun::star::sdbc::XRow > - queryPropertyValues( sal_uInt32 nIndex ); - virtual void releasePropertyValues( sal_uInt32 nIndex ); - - virtual void close(); - - virtual void validate() - throw( com::sun::star::ucb::ResultSetException ); -}; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_inputstream.cxx b/ucb/source/ucp/odma/odma_inputstream.cxx deleted file mode 100644 index 839e5ccbb273..000000000000 --- a/ucb/source/ucp/odma/odma_inputstream.cxx +++ /dev/null @@ -1,281 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "com/sun/star/io/IOException.hpp" -#include <com/sun/star/ucb/OpenCommandArgument2.hpp> -#include <com/sun/star/ucb/OpenMode.hpp> -#include <ucbhelper/content.hxx> -#include <com/sun/star/io/XActiveDataStreamer.hpp> -#include <cppuhelper/implbase1.hxx> -#ifdef WNT -#include <windows.h> -#endif -#include "odma_inputstream.hxx" -#include "odma_contentprops.hxx" -#include "odma_provider.hxx" - -using namespace odma; -using namespace com::sun::star; - -class OActiveDataStreamer : public ::cppu::WeakImplHelper1< io::XActiveDataStreamer> -{ - uno::Reference< io::XStream > m_xStream; -public: - OActiveDataStreamer(){} - virtual void SAL_CALL setStream( const uno::Reference< io::XStream >& _rStream ) throw (uno::RuntimeException) - { - m_xStream = _rStream; - } - virtual uno::Reference< io::XStream > SAL_CALL getStream( ) throw (uno::RuntimeException) - { - return m_xStream; - } -}; -// ----------------------------------------------------------------------------- -OOdmaStream::OOdmaStream(::ucbhelper::Content* _pContent, - ContentProvider* _pProvider, - const ::rtl::Reference<ContentProperties>& _rProp) - :m_aProp(_rProp) - ,m_pContent(_pContent) - ,m_pProvider(_pProvider) - ,m_bInputStreamCalled(sal_False) - ,m_bOutputStreamCalled(sal_False) - ,m_bModified(sal_False) -{ -} -// ----------------------------------------------------------------------------- -OOdmaStream::~OOdmaStream() -{ - try - { - closeStream(); - delete m_pContent; - } - catch (io::IOException const &) - { - OSL_FAIL("unexpected situation"); - } - catch (uno::RuntimeException const &) - { - OSL_FAIL("unexpected situation"); - } -} -// ----------------------------------------------------------------------------- -uno::Reference< io::XInputStream > SAL_CALL OOdmaStream::getInputStream( ) throw( uno::RuntimeException) -{ - { - osl::MutexGuard aGuard( m_aMutex ); - m_bInputStreamCalled = sal_True; - } - return uno::Reference< io::XInputStream >( this ); -} -// ----------------------------------------------------------------------------- -uno::Reference< io::XOutputStream > SAL_CALL OOdmaStream::getOutputStream( ) throw( uno::RuntimeException ) -{ - { - osl::MutexGuard aGuard( m_aMutex ); - m_bOutputStreamCalled = sal_True; - } - return uno::Reference< io::XOutputStream >( this ); -} -// ----------------------------------------------------------------------------- -sal_Int32 SAL_CALL OOdmaStream::readBytes( uno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead ) - throw( io::NotConnectedException, - io::BufferSizeExceededException, - io::IOException, - uno::RuntimeException) -{ - ensureInputStream(); - - return m_xInput->readBytes(aData,nBytesToRead); -} -// ----------------------------------------------------------------------------- -sal_Int32 SAL_CALL OOdmaStream::readSomeBytes( uno::Sequence< sal_Int8 >& aData,sal_Int32 nMaxBytesToRead ) - throw( io::NotConnectedException, - io::BufferSizeExceededException, - io::IOException, - uno::RuntimeException) -{ - return readBytes( aData,nMaxBytesToRead ); -} -// ----------------------------------------------------------------------------- -void SAL_CALL OOdmaStream::skipBytes( sal_Int32 nBytesToSkip ) - throw( io::NotConnectedException, - io::BufferSizeExceededException, - io::IOException, - uno::RuntimeException ) -{ - ensureInputStream(); - m_xInput->skipBytes(nBytesToSkip ); -} -// ----------------------------------------------------------------------------- -sal_Int32 SAL_CALL OOdmaStream::available() - throw( io::NotConnectedException, - io::IOException, - uno::RuntimeException) -{ - ensureInputStream(); - return m_xInput->available(); -} -// ----------------------------------------------------------------------------- -void SAL_CALL OOdmaStream::writeBytes( const uno::Sequence< sal_Int8 >& aData ) - throw( io::NotConnectedException, - io::BufferSizeExceededException, - io::IOException, - uno::RuntimeException) -{ - ensureOutputStream(); - m_xOutput->writeBytes(aData); - m_bModified = sal_True; -} -// ----------------------------------------------------------------------------- -void SAL_CALL OOdmaStream::closeStream() throw( io::NotConnectedException,io::IOException,uno::RuntimeException ) -{ - if( m_xInput.is() ) - { - m_xInput->closeInput(); - m_xInput = NULL; - m_xInputSeek = NULL; - } - if(m_xOutput.is()) - { - m_xOutput->closeOutput(); - m_xOutput = NULL; - m_xTruncate = NULL; - if(m_bModified) - m_pProvider->saveDocument(m_aProp->m_sDocumentId); - } -} -// ----------------------------------------------------------------------------- -void SAL_CALL OOdmaStream::closeInput() - throw( io::NotConnectedException, - io::IOException, - uno::RuntimeException ) -{ - osl::MutexGuard aGuard( m_aMutex ); - m_bInputStreamCalled = sal_False; - - if( ! m_bOutputStreamCalled ) - closeStream(); -} -// ----------------------------------------------------------------------------- -void SAL_CALL OOdmaStream::closeOutput() - throw( io::NotConnectedException, - io::IOException, - uno::RuntimeException ) -{ - osl::MutexGuard aGuard( m_aMutex ); - m_bOutputStreamCalled = sal_False; - - if( ! m_bInputStreamCalled ) - closeStream(); -} -// ----------------------------------------------------------------------------- -void SAL_CALL OOdmaStream::flush() - throw( io::NotConnectedException, - io::BufferSizeExceededException, - io::IOException, - uno::RuntimeException ) -{ - ensureOutputStream(); - m_xOutput->flush(); -} -// ----------------------------------------------------------------------------- -void OOdmaStream::ensureInputStream() throw( io::IOException ) -{ - try - { - if(!m_xInput.is()) - { - m_xInput = m_pContent->openStream(); - m_xInputSeek = uno::Reference< io::XSeekable>(m_xInput,uno::UNO_QUERY); - } - } - catch(const uno::Exception&) - { - } - if(!m_xInput.is()) - throw io::IOException(); -} -// ----------------------------------------------------------------------------- -void OOdmaStream::ensureOutputStream() throw( io::IOException ) -{ - try - { - if(!m_xOutput.is()) - { - ucb::OpenCommandArgument2 aCommand; - aCommand.Mode = ucb::OpenMode::DOCUMENT; - uno::Reference< io::XActiveDataStreamer > xActiveStreamer = new OActiveDataStreamer(); - aCommand.Sink = xActiveStreamer; - m_pContent->executeCommand(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("open")),uno::makeAny(aCommand)); - if(xActiveStreamer.is()) - { - uno::Reference< io::XStream> xStream = xActiveStreamer->getStream(); - if(xStream.is()) - m_xOutput = xStream->getOutputStream(); - } - } - } - catch(const uno::Exception&) - { - } - if(!m_xOutput.is()) - throw io::IOException(); - m_xTruncate = uno::Reference< io::XTruncate>(m_xOutput,uno::UNO_QUERY); -} -// ----------------------------------------------------------------------------- -// XTruncate -void SAL_CALL OOdmaStream::truncate( void ) - throw( io::IOException, - uno::RuntimeException ) -{ - if(m_xTruncate.is()) - m_xTruncate->truncate(); -} -// ----------------------------------------------------------------------------- -// XSeekable -void SAL_CALL OOdmaStream::seek(sal_Int64 location ) - throw( lang::IllegalArgumentException, - io::IOException, - uno::RuntimeException ) -{ - ensureInputStream(); - if(m_xInputSeek.is()) - m_xInputSeek->seek(location); -} -// ----------------------------------------------------------------------------- -sal_Int64 SAL_CALL OOdmaStream::getPosition() - throw( io::IOException, - uno::RuntimeException ) -{ - ensureInputStream(); - return m_xInputSeek.is() ? m_xInputSeek->getPosition() : sal_Int64(0); -} -// ----------------------------------------------------------------------------- -sal_Int64 SAL_CALL OOdmaStream::getLength() - throw( io::IOException, - uno::RuntimeException ) -{ - ensureInputStream(); - return m_xInputSeek.is() ? m_xInputSeek->getLength() : sal_Int64(0); -} -// ----------------------------------------------------------------------------- - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_inputstream.hxx b/ucb/source/ucp/odma/odma_inputstream.hxx deleted file mode 100644 index 7250367062e3..000000000000 --- a/ucb/source/ucp/odma/odma_inputstream.hxx +++ /dev/null @@ -1,132 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef ODMA_INPUTSTREAM_HXX -#define ODMA_INPUTSTREAM_HXX - -#include <osl/mutex.hxx> -#include <com/sun/star/io/XInputStream.hpp> -#include <com/sun/star/io/XStream.hpp> -#include <com/sun/star/io/XOutputStream.hpp> -#include <com/sun/star/io/XTruncate.hpp> -#include <com/sun/star/io/XSeekable.hpp> -#include <cppuhelper/implbase5.hxx> - -#include "rtl/ref.hxx" - -namespace ucbhelper -{ - class Content; -} -namespace odma -{ - typedef ::cppu::WeakImplHelper5< ::com::sun::star::io::XInputStream, - ::com::sun::star::io::XStream, - ::com::sun::star::io::XTruncate, - ::com::sun::star::io::XSeekable, - ::com::sun::star::io::XOutputStream> OOdmaStreamBase; - - class ContentProvider; - class ContentProperties; - class OOdmaStream : public OOdmaStreamBase - { - ::osl::Mutex m_aMutex; - ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream> m_xOutput; - ::com::sun::star::uno::Reference< ::com::sun::star::io::XTruncate> m_xTruncate; - ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream> m_xInput; - ::com::sun::star::uno::Reference< ::com::sun::star::io::XSeekable> m_xInputSeek; - - ::rtl::Reference<ContentProperties> m_aProp; - ::ucbhelper::Content* m_pContent; - ContentProvider* m_pProvider; - sal_Bool m_bInputStreamCalled; - sal_Bool m_bOutputStreamCalled; - sal_Bool m_bModified; - - void ensureInputStream() throw( ::com::sun::star::io::IOException ); - void ensureOutputStream() throw( ::com::sun::star::io::IOException ); - void SAL_CALL closeStream() throw( ::com::sun::star::io::NotConnectedException, - ::com::sun::star::io::IOException, - ::com::sun::star::uno::RuntimeException ); - public: - OOdmaStream(::ucbhelper::Content* _pContent, - ContentProvider* _pProvider, - const ::rtl::Reference<ContentProperties>& _rProp); - virtual ~OOdmaStream(); - // com::sun::star::io::XInputStream - virtual sal_Int32 SAL_CALL readBytes( ::com::sun::star::uno::Sequence<sal_Int8>& aData, sal_Int32 nBytesToRead ) - throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, - ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - - virtual sal_Int32 SAL_CALL readSomeBytes( ::com::sun::star::uno::Sequence<sal_Int8>& aData, sal_Int32 nMaxBytesToRead ) - throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, - ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL skipBytes( sal_Int32 nBytesToSkip ) - throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, - ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - - virtual sal_Int32 SAL_CALL available( ) - throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL closeInput( ) - throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - - // com::sun::star::io::XStream - virtual com::sun::star::uno::Reference< com::sun::star::io::XInputStream > SAL_CALL getInputStream( ) throw( com::sun::star::uno::RuntimeException ); - virtual com::sun::star::uno::Reference< com::sun::star::io::XOutputStream > SAL_CALL getOutputStream( ) throw( com::sun::star::uno::RuntimeException ); - - // com::sun::star::io::XOutputStream - void SAL_CALL writeBytes( const com::sun::star::uno::Sequence< sal_Int8 >& aData ) - throw( com::sun::star::io::NotConnectedException, - com::sun::star::io::BufferSizeExceededException, - com::sun::star::io::IOException, - com::sun::star::uno::RuntimeException); - - void SAL_CALL flush() - throw( com::sun::star::io::NotConnectedException, - com::sun::star::io::BufferSizeExceededException, - com::sun::star::io::IOException, - com::sun::star::uno::RuntimeException); - void SAL_CALL closeOutput() - throw( com::sun::star::io::NotConnectedException, - com::sun::star::io::IOException, - com::sun::star::uno::RuntimeException ); - // XTruncate - virtual void SAL_CALL truncate( void ) - throw( com::sun::star::io::IOException, - com::sun::star::uno::RuntimeException ); - // XSeekable - void SAL_CALL seek(sal_Int64 location ) - throw( com::sun::star::lang::IllegalArgumentException, - com::sun::star::io::IOException, - com::sun::star::uno::RuntimeException ); - - sal_Int64 SAL_CALL getPosition() - throw( com::sun::star::io::IOException, - com::sun::star::uno::RuntimeException ); - - sal_Int64 SAL_CALL getLength() - throw( com::sun::star::io::IOException, - com::sun::star::uno::RuntimeException ); - }; -} -#endif // ODMA_INPUTSTREAM_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_lib.cxx b/ucb/source/ucp/odma/odma_lib.cxx deleted file mode 100644 index 157fad76196b..000000000000 --- a/ucb/source/ucp/odma/odma_lib.cxx +++ /dev/null @@ -1,142 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifdef WNT -#include <windows.h> -#endif -#include <osl/module.h> -#include <rtl/ustring.hxx> -#include "odma_lib.hxx" - - -namespace odma -{ - - TODMRegisterApp pODMRegisterApp; - TODMUnRegisterApp pODMUnRegisterApp; - TODMSelectDoc pODMSelectDoc; - TODMOpenDoc pODMOpenDoc; - TODMSaveDoc pODMSaveDoc; - TODMCloseDoc pODMCloseDoc; - TODMNewDoc pODMNewDoc; - TODMSaveAs pODMSaveAs; - TODMActivate pODMActivate; - TODMGetDocInfo pODMGetDocInfo; - TODMSetDocInfo pODMSetDocInfo; - TODMGetDMSInfo pODMGetDMSInfo; - TODMGetDMSCount pODMGetDMSCount; - TODMGetDMSList pODMGetDMSList; - TODMGetDMS pODMGetDMS; - TODMSetDMS pODMSetDMS; - TODMQueryExecute pODMQueryExecute; - TODMQueryGetResults pODMQueryGetResults; - TODMQueryClose pODMQueryClose; - TODMCloseDocEx pODMCloseDocEx; - TODMSaveAsEx pODMSaveAsEx; - TODMSaveDocEx pODMSaveDocEx; - TODMSelectDocEx pODMSelectDocEx; - TODMQueryCapability pODMQueryCapability; - TODMSetDocEvent pODMSetDocEvent; - TODMGetAlternateContent pODMGetAlternateContent; - TODMSetAlternateContent pODMSetAlternateContent; - TODMGetDocRelation pODMGetDocRelation; - TODMSetDocRelation pODMSetDocRelation; - - sal_Bool LoadFunctions(oslModule _pODMA); - - sal_Bool DMSsAvailable() - { - static sal_Bool bLoaded = sal_False; - static sal_Bool bBeenHere = sal_False; - oslModule pODMA = NULL; - - if (bBeenHere) - return bLoaded; - - bBeenHere = sal_True; - - ::rtl::OUString sPath; - #ifdef WNT - OSL_ASSERT( sizeof( wchar_t ) == sizeof( sal_Unicode ) ); - - wchar_t system32[MAX_PATH]; - UINT n = GetSystemDirectoryW( system32, MAX_PATH ); - - if (n == 0) - return sal_False; - - sPath = ::rtl::OUString( reinterpret_cast< const sal_Unicode* >( system32 ), n ) + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\\ODMA32.DLL")); - - #endif - #ifdef UNX - sPath = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("libodma.so")); - #endif - - pODMA = osl_loadModule( sPath.pData,SAL_LOADMODULE_NOW ); - if( !pODMA) - return sal_False; - - if (!LoadFunctions(pODMA)) - return sal_False; - - bLoaded = (NODMGetDMSCount() > 0); - - if (getenv ("NO_ODMA")) - bLoaded = sal_False; - - return bLoaded; - } - // ------------------------------------------------------------------------- - - sal_Bool LoadFunctions(oslModule pODMA) - { - if ( ( pODMRegisterApp = (TODMRegisterApp)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMRegisterApp")).pData)) == NULL ) return sal_False; - if ( ( pODMUnRegisterApp = (TODMUnRegisterApp)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMUnRegisterApp")).pData)) == NULL ) return sal_False; - if ( ( pODMSelectDoc = (TODMSelectDoc)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSelectDoc")).pData)) == NULL ) return sal_False; - if ( ( pODMOpenDoc = (TODMOpenDoc)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMOpenDoc")).pData)) == NULL ) return sal_False; - if ( ( pODMSaveDoc = (TODMSaveDoc)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSaveDoc")).pData)) == NULL ) return sal_False; - if ( ( pODMCloseDoc = (TODMCloseDoc)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMCloseDoc")).pData)) == NULL ) return sal_False; - if ( ( pODMNewDoc = (TODMNewDoc)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMNewDoc")).pData)) == NULL ) return sal_False; - if ( ( pODMSaveAs = (TODMSaveAs)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSaveAs")).pData)) == NULL ) return sal_False; - if ( ( pODMActivate = (TODMActivate)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMActivate")).pData)) == NULL ) return sal_False; - if ( ( pODMGetDocInfo = (TODMGetDocInfo)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMGetDocInfo")).pData)) == NULL ) return sal_False; - if ( ( pODMSetDocInfo = (TODMSetDocInfo)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSetDocInfo")).pData)) == NULL ) return sal_False; - if ( ( pODMGetDMSInfo = (TODMGetDMSInfo)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMGetDMSInfo")).pData)) == NULL ) return sal_False; - if ( ( pODMGetDMSCount = (TODMGetDMSCount)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMGetDMSCount")).pData)) == NULL ) return sal_False; - if ( ( pODMGetDMSList = (TODMGetDMSList)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMGetDMSList")).pData)) == NULL ) return sal_False; - if ( ( pODMGetDMS = (TODMGetDMS)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMGetDMS")).pData)) == NULL ) return sal_False; - if ( ( pODMSetDMS = (TODMSetDMS)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSetDMS")).pData)) == NULL ) return sal_False; - if ( ( pODMQueryExecute = (TODMQueryExecute)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMQueryExecute")).pData)) == NULL ) return sal_False; - if ( ( pODMQueryGetResults = (TODMQueryGetResults)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMQueryGetResults")).pData)) == NULL ) return sal_False; - if ( ( pODMQueryClose = (TODMQueryClose)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMQueryClose")).pData)) == NULL ) return sal_False; - if ( ( pODMCloseDocEx = (TODMCloseDocEx)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMCloseDocEx")).pData)) == NULL ) return sal_False; - if ( ( pODMSaveAsEx = (TODMSaveAsEx)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSaveAsEx")).pData)) == NULL ) return sal_False; - if ( ( pODMSaveDocEx = (TODMSaveDocEx)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSaveDocEx")).pData)) == NULL ) return sal_False; - if ( ( pODMSelectDocEx = (TODMSelectDocEx)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSelectDocEx")).pData)) == NULL ) return sal_False; - if ( ( pODMQueryCapability = (TODMQueryCapability)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMQueryCapability")).pData)) == NULL ) return sal_False; - if ( ( pODMSetDocEvent = (TODMSetDocEvent)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSetDocEvent")).pData)) == NULL ) return sal_False; - if ( ( pODMGetAlternateContent = (TODMGetAlternateContent)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMGetAlternateContent")).pData)) == NULL ) return sal_False; - if ( ( pODMSetAlternateContent = (TODMSetAlternateContent)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSetAlternateContent")).pData)) == NULL ) return sal_False; - if ( ( pODMGetDocRelation = (TODMGetDocRelation)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMGetDocRelation")).pData)) == NULL ) return sal_False; - if ( ( pODMSetDocRelation = (TODMSetDocRelation)osl_getSymbol(pODMA,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMSetDocRelation")).pData)) == NULL ) return sal_False; - return sal_True; - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_lib.hxx b/ucb/source/ucp/odma/odma_lib.hxx deleted file mode 100644 index e40f0c2d012e..000000000000 --- a/ucb/source/ucp/odma/odma_lib.hxx +++ /dev/null @@ -1,254 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#ifndef ODMA_LIB_HXX -#define ODMA_LIB_HXX - -#include <odma.h> - -namespace odma -{ - typedef ODMSTATUS (WINAPI *TODMRegisterApp) ( ODMHANDLE FAR *pOdmHandle, - WORD version, - LPSTR lpszAppId, - DWORD dwEnvData, - LPVOID pReserved); - - typedef void (WINAPI *TODMUnRegisterApp)(ODMHANDLE odmHandle); - - - typedef ODMSTATUS (WINAPI *TODMSelectDoc)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPDWORD pdwFlags); - - - typedef ODMSTATUS (WINAPI *TODMOpenDoc)( ODMHANDLE odmHandle, - DWORD flags, - LPSTR lpszDocId, - LPSTR lpszDocLocation); - - typedef ODMSTATUS (WINAPI *TODMSaveDoc)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPSTR lpszNewDocId); - - typedef ODMSTATUS (WINAPI *TODMCloseDoc)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - DWORD activeTime, - DWORD pagesPrinted, - LPVOID sessionData, - WORD dataLen); - - typedef ODMSTATUS (WINAPI *TODMNewDoc)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - DWORD dwFlags, - LPSTR lpszFormat, - LPSTR lpszDocLocation); - - typedef ODMSTATUS (WINAPI *TODMSaveAs)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPSTR lpszNewDocId, - LPSTR lpszFormat, - ODMSAVEASCALLBACK pcbCallBack, - LPVOID pInstanceData); - - typedef ODMSTATUS (WINAPI *TODMActivate)( ODMHANDLE odmHandle, - WORD action, - LPSTR lpszDocId); - - typedef ODMSTATUS (WINAPI *TODMGetDocInfo)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - WORD item, - LPSTR lpszData, - WORD dataLen); - - typedef ODMSTATUS (WINAPI *TODMSetDocInfo)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - WORD item, - LPSTR lpszData); - - typedef ODMSTATUS (WINAPI *TODMGetDMSInfo)( ODMHANDLE odmHandle, - LPSTR lpszDmsId, - LPWORD pwVerNo, - LPDWORD pdwExtensions); - - /* Query Enhancements */ - typedef WORD (WINAPI *TODMGetDMSCount)(); - - typedef WORD (WINAPI *TODMGetDMSList)( LPSTR buffer, - WORD buffer_size ); - - typedef ODMSTATUS (WINAPI *TODMGetDMS)( LPCSTR lpszAppId, - LPSTR lpszDMSId ); - - typedef ODMSTATUS (WINAPI *TODMSetDMS)( LPCSTR lpszAppId, - LPCSTR lpszDMSId ); - - typedef ODMSTATUS (WINAPI *TODMQueryExecute)( ODMHANDLE odmHandle, - LPCSTR lpszQuery, - DWORD flags, - LPCSTR lpszDMSList, - LPSTR queryId ); - - typedef ODMSTATUS (WINAPI *TODMQueryGetResults)(ODMHANDLE odmHandle, - LPCSTR queryId, - LPSTR lpszDocId, - LPSTR lpszDocName, - WORD docNameLen, - WORD *docCount ); - - typedef ODMSTATUS (WINAPI *TODMQueryClose)( ODMHANDLE odmHandle, - LPCSTR queryId ); - - /* ODMA 2.0 Enhancements */ - typedef ODMSTATUS (WINAPI *TODMCloseDocEx)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPDWORD pdwFlags, - DWORD activeTime, - DWORD pagesPrinted, - LPVOID sessionData, - WORD dataLen); - - typedef ODMSTATUS (WINAPI *TODMSaveAsEx)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPSTR lpszNewDocId, - LPSTR lpszFormat, - ODMSAVEASCALLBACK pcbCallBack, - LPVOID pInstanceData, - LPDWORD pdwFlags); - - typedef ODMSTATUS (WINAPI *TODMSaveDocEx)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPSTR lpszNewDocId, - LPDWORD pdwFlags); - - typedef ODMSTATUS (WINAPI *TODMSelectDocEx)( ODMHANDLE odmHandle, - LPSTR lpszDocIds, - LPWORD pwDocIdsLen, - LPWORD pwDocCount, - LPDWORD pdwFlags, - LPSTR lpszFormatFilter); - - typedef ODMSTATUS (WINAPI *TODMQueryCapability)(ODMHANDLE odmHandle, - LPCSTR lpszDmsId, - DWORD function, - DWORD item, - DWORD flags); - - typedef ODMSTATUS (WINAPI *TODMSetDocEvent)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - DWORD flags, - DWORD event, - LPVOID lpData, - DWORD dwDataLen, - LPSTR lpszComment); - - typedef ODMSTATUS (WINAPI *TODMGetAlternateContent)(ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPDWORD pdwFlags, - LPSTR lpszFormat, - LPSTR lpszDocLocation); - - typedef ODMSTATUS (WINAPI *TODMSetAlternateContent)(ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPDWORD pdwFlags, - LPSTR lpszFormat, - LPSTR lpszDocLocation); - - typedef ODMSTATUS (WINAPI *TODMGetDocRelation)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPDWORD pdwFlags, - LPSTR lpszLinkedId, - LPSTR lpszFormat, - LPSTR lpszPreviousId); - - typedef ODMSTATUS (WINAPI *TODMSetDocRelation)( ODMHANDLE odmHandle, - LPSTR lpszDocId, - LPDWORD pdwFlags, - LPSTR lpszLinkedId, - LPSTR lpszFormat, - LPSTR lpszPreviousId); - - // now we define some macros - - #define NODMRegisterApp(a,b,c,d,e) (*(::odma::pODMRegisterApp))(a,b,c,d,e) - #define NODMUnRegisterApp(a) (*(::odma::pODMUnRegisterApp))(a) - #define NODMSelectDoc(a,b,c) (*(::odma::pODMSelectDoc))(a,b,c) - #define NODMOpenDoc(a,b,c,d) (*(::odma::pODMOpenDoc))(a,b,c,d) - #define NODMSaveDoc(a,b,c) (*(::odma::pODMSaveDoc))(a,b,c) - #define NODMCloseDoc(a,b,c,d,e,f) (*(::odma::pODMCloseDoc))(a,b,c,d,e,f) - #define NODMNewDoc(a,b,c,d,e) (*(::odma::pODMNewDoc))(a,b,c,d,e) - #define NODMSaveAs(a,b,c,d,e,f) (*(::odma::pODMSaveAs))(a,b,c,d,e,f) - #define NODMActivate(a,b,c) (*(::odma::pODMActivate))(a,b,c) - #define NODMGetDocInfo(a,b,c,d,e) (*(::odma::pODMGetDocInfo))(a,b,c,d,e) - #define NODMSetDocInfo(a,b,c,d) (*(::odma::pODMSetDocInfo))(a,b,c,d) - #define NODMGetDMSInfo(a,b,c,d) (*(::odma::pODMGetDMSInfo))(a,b,c,d) - #define NODMGetDMSCount() (*(::odma::pODMGetDMSCount))() - #define NODMGetDMSList(a,b) (*(::odma::pODMGetDMSList))(a,b) - #define NODMGetDMS(a,b) (*(::odma::pODMGetDMS))(a,b) - #define NODMSetDMS(a,b) (*(::odma::pODMSetDMS))(a,b) - #define NODMQueryExecute(a,b,c,d,e) (*(::odma::pODMQueryExecute))(a,b,c,d,e) - #define NODMQueryGetResults(a,b,c,d,e,f) (*(::odma::pODMQueryGetResults))(a,b,c,d,e,f) - #define NODMQueryClose(a,b) (*(::odma::pODMQueryClose))(a,b) - #define NODMCloseDocEx(a,b,c,d,e,f,g) (*(::odma::pODMCloseDocEx))(a,b,c,d,e,f,g) - #define NODMSaveAsEx(a,b,c,d,e,f,g) (*(::odma::pODMSaveAsEx))(a,b,c,d,e,f,g) - #define NODMSaveDocEx(a,b,c,d) (*(::odma::pODMSaveDocEx))(a,b,c,d) - #define NODMSelectDocEx(a,b,c,d,e,f) (*(::odma::pODMSelectDocEx))(a,b,c,d,e,f) - #define NODMQueryCapability(a,b,c,d,e) (*(::odma::pODMQueryCapability))(a,b,c,d,e) - #define NODMSetDocEvent(a,b,c,d,e,f,g) (*(::odma::pODMSetDocEvent))(a,b,c,d,e,f,g) - #define NODMGetAlternateContent(a,b,c,d,e) (*(::odma::pODMGetAlternateContent))(a,b,c,d,e) - #define NODMSetAlternateContent(a,b,c,d,e) (*(::odma::pODMSetAlternateContent))(a,b,c,d,e) - #define NODMGetDocRelation(a,b,c,d,e,f) (*(::odma::pODMGetDocRelation))(a,b,c,d,e,f) - #define NODMSetDocRelation(a,b,c,d,e,f) (*(::odma::pODMSetDocRelation))(a,b,c,d,e,f) - - sal_Bool DMSsAvailable(); - - extern TODMRegisterApp pODMRegisterApp; - extern TODMUnRegisterApp pODMUnRegisterApp; - extern TODMSelectDoc pODMSelectDoc; - extern TODMOpenDoc pODMOpenDoc; - extern TODMSaveDoc pODMSaveDoc; - extern TODMCloseDoc pODMCloseDoc; - extern TODMNewDoc pODMNewDoc; - extern TODMSaveAs pODMSaveAs; - extern TODMActivate pODMActivate; - extern TODMGetDocInfo pODMGetDocInfo; - extern TODMSetDocInfo pODMSetDocInfo; - extern TODMGetDMSInfo pODMGetDMSInfo; - extern TODMGetDMSCount pODMGetDMSCount; - extern TODMGetDMSList pODMGetDMSList; - extern TODMGetDMS pODMGetDMS; - extern TODMSetDMS pODMSetDMS; - extern TODMQueryExecute pODMQueryExecute; - extern TODMQueryGetResults pODMQueryGetResults; - extern TODMQueryClose pODMQueryClose; - extern TODMCloseDocEx pODMCloseDocEx; - extern TODMSaveAsEx pODMSaveAsEx; - extern TODMSaveDocEx pODMSaveDocEx; - extern TODMSelectDocEx pODMSelectDocEx; - extern TODMQueryCapability pODMQueryCapability; - extern TODMSetDocEvent pODMSetDocEvent; - extern TODMGetAlternateContent pODMGetAlternateContent; - extern TODMSetAlternateContent pODMSetAlternateContent; - extern TODMGetDocRelation pODMGetDocRelation; - extern TODMSetDocRelation pODMSetDocRelation; - -} - -#endif // ODMA_LIB_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_main.cxx b/ucb/source/ucp/odma/odma_main.cxx deleted file mode 100644 index 8d47eb90c03b..000000000000 --- a/ucb/source/ucp/odma/odma_main.cxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#ifdef WNT -#include <windows.h> -#endif -#include <osl/process.h> -#include "odma_provider.hxx" - -#ifdef WNT -#define SOFFICE "soffice.exe" -#else -#define SOFFICE "soffice" -#endif - -/** our main program to convert ODMAIDs to ODMA URLs -*/ - -#if (defined UNX) -void main( int argc, char * argv[] ) -#else -#if (defined GCC) -int _cdecl main( int argc, char * argv[] ) -#else -void _cdecl main( int argc, char * argv[] ) -#endif -#endif -{ - static ::rtl::OUString sProcess(RTL_CONSTASCII_USTRINGPARAM(SOFFICE)); - if(argc > 1) - { - ::rtl::OUString* pArguments = new ::rtl::OUString[argc-1]; - for(int i = 0; i < argc-1; ++i) - { - pArguments[i] = ::rtl::OUString::createFromAscii(argv[i+1]); - if( pArguments[i].matchIgnoreAsciiCaseAsciiL( - RTL_CONSTASCII_STRINGPARAM(ODMA_URL_ODMAID))) - { - ::rtl::OUString sArgument - = ::rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - ODMA_URL_SCHEME ODMA_URL_SHORT "/")); - sArgument += pArguments[i]; - pArguments[i] = sArgument; - } - } - - rtl_uString ** ustrArgumentList = new rtl_uString * [argc-1]; - for (int i = 0; i < argc-1; i++) - ustrArgumentList[i] = pArguments[i].pData; - - oslProcess aProcess; - - if ( osl_Process_E_None == osl_executeProcess( - sProcess.pData, - ustrArgumentList, - argc-1, - osl_Process_DETACHED, - NULL, - NULL, - NULL, - 0, - &aProcess ) - ) - osl_freeProcessHandle( aProcess ); - - delete [] ustrArgumentList; - delete [] pArguments; - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_provider.cxx b/ucb/source/ucp/odma/odma_provider.cxx deleted file mode 100644 index 61aaf76f2914..000000000000 --- a/ucb/source/ucp/odma/odma_provider.cxx +++ /dev/null @@ -1,593 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#ifdef WNT -#include <windows.h> -#endif -#include <ucbhelper/contentidentifier.hxx> -#include "odma_provider.hxx" -#include "odma_content.hxx" -#include "odma_contentprops.hxx" -#include <com/sun/star/util/Date.hpp> -#include <com/sun/star/util/Time.hpp> -#include <rtl/uri.hxx> -#include <algorithm> -#include <osl/file.hxx> - -#include <o3tl/compat_functional.hxx> - -using namespace com::sun::star; -using namespace odma; - -//========================================================================= -//========================================================================= -// -// ContentProvider Implementation. -// -//========================================================================= -//========================================================================= -ODMHANDLE ContentProvider::m_aOdmHandle = NULL; - -ContentProvider::ContentProvider( - const uno::Reference< uno::XComponentContext >& rContext ) -: ::ucbhelper::ContentProviderImplHelper( rContext ) -{ - -} - -//========================================================================= -// virtual -ContentProvider::~ContentProvider() -{ - ContentsMap::iterator aIter = m_aContents.begin(); - for (;aIter != m_aContents.end() ;++aIter ) - { - if(aIter->second->m_bIsOpen) - closeDocument(aIter->first); - } - if(m_aOdmHandle) - { - NODMUnRegisterApp(m_aOdmHandle); - m_aOdmHandle = NULL; - } -} -// ----------------------------------------------------------------------------- -inline bool is_current_process_window(HWND hwnd) -{ - DWORD pid; - GetWindowThreadProcessId(hwnd, &pid); - return (pid == GetCurrentProcessId()); -} - -HWND choose_parent_window() -{ - HWND hwnd_parent = GetForegroundWindow(); - if (!is_current_process_window(hwnd_parent)) - hwnd_parent = GetDesktopWindow(); - return hwnd_parent; -} - -ODMHANDLE ContentProvider::getHandle() -{ - if(!m_aOdmHandle) - { - ODMSTATUS odm = NODMRegisterApp(&m_aOdmHandle,ODM_API_VERSION,const_cast<char*>(ODMA_ODMA_REGNAME),(DWORD) choose_parent_window( ),NULL); - switch(odm) - { - case ODM_SUCCESS: - break; - case ODM_E_NODMS: - break; - case ODM_E_CANTINIT: - break; - case ODM_E_VERSION: - break; - default: - break; - } - } - return m_aOdmHandle; -} -// ----------------------------------------------------------------------------- - -//========================================================================= -// -// XInterface methods. -// -//========================================================================= - -// @@@ Add own interfaces. -XINTERFACE_IMPL_3( ContentProvider, - lang::XTypeProvider, - lang::XServiceInfo, - ucb::XContentProvider ); - -//========================================================================= -// -// XTypeProvider methods. -// -//========================================================================= - -// @@@ Add own interfaces. -XTYPEPROVIDER_IMPL_3( ContentProvider, - lang::XTypeProvider, - lang::XServiceInfo, - ucb::XContentProvider ); - -//========================================================================= -// -// XServiceInfo methods. -// -//========================================================================= - -// @@@ Adjust implementation name. Keep the prefix "com.sun.star.comp."! -// @@@ Adjust service name. -XSERVICEINFO_IMPL_1_CTX( ContentProvider, - rtl::OUString( "com.sun.star.comp.odma.ContentProvider" ), - rtl::OUString(ODMA_CONTENT_PROVIDER_SERVICE_NAME ) ); - -//========================================================================= -// -// Service factory implementation. -// -//========================================================================= - -ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider ); - -//========================================================================= -// -// XContentProvider methods. -// -//========================================================================= - -// virtual -uno::Reference< ucb::XContent > SAL_CALL ContentProvider::queryContent( - const uno::Reference< ucb::XContentIdentifier >& Identifier ) - throw( ucb::IllegalIdentifierException, uno::RuntimeException ) -{ - // Check URL scheme... - if(!getHandle()) - throw ucb::IllegalIdentifierException(); - - rtl::OUString aScheme( rtl::OUString( ODMA_URL_SCHEME ) ); - sal_Int32 nIndex = 0; - rtl::OUString sOdma = aScheme.getToken(3,'.',nIndex); - rtl::OUString sCanonicURL = Identifier->getContentIdentifier(); - // check if url starts with odma - if ( !(Identifier->getContentProviderScheme().equalsIgnoreAsciiCase( aScheme ) || - Identifier->getContentProviderScheme().equalsIgnoreAsciiCase( sOdma )) ) - throw ucb::IllegalIdentifierException(); - - if(!( sCanonicURL.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM(ODMA_URL_SCHEME_SHORT ODMA_URL_SHORT)) || - sCanonicURL.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM(ODMA_URL_SCHEME ODMA_URL_SHORT)))) - throw ucb::IllegalIdentifierException(); - - - // @@@ Id normalization may go here... - - uno::Reference< ucb::XContentIdentifier > xCanonicId = Identifier; - - osl::MutexGuard aGuard( m_aMutex ); - - // Check, if a content with given id already exists... - uno::Reference< ucb::XContent > xContent - = queryExistingContent( xCanonicId ).get(); - if ( xContent.is() ) - return xContent; - - // @@@ Decision, which content implementation to instanciate may be - // made here ( in case you have different content classes ). - - // Create a new content. - - sCanonicURL = convertURL(sCanonicURL); - - ::rtl::Reference<ContentProperties> aProp; - // first check if we got an ODMA ID from outside - if( sCanonicURL.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM(ODMA_URL_ODMAID))) - {// we get an orignal ODMA id so we have to look for the name - ::rtl::OString sDocId = ::rtl::OUStringToOString(sCanonicURL,RTL_TEXTENCODING_MS_1252); - sal_Char* lpszDocName = new sal_Char[ODM_NAME_MAX]; - - ODMSTATUS odm = NODMGetDocInfo( getHandle(), - const_cast<sal_Char*>(sDocId.getStr()), - ODM_NAME, - lpszDocName, - ODM_NAME_MAX - ); - if(odm == ODM_SUCCESS) - { - aProp = new ContentProperties(); - aProp->m_sDocumentName = ::rtl::OStringToOUString(rtl::OString(lpszDocName),RTL_TEXTENCODING_ASCII_US); - aProp->m_sDocumentId = sDocId; - aProp->m_sContentType = ::rtl::OUString(ODMA_CONTENT_TYPE); - append(aProp); - } - delete [] lpszDocName; - } - else // we got an already fetched name here so look for it - { - // we have a valid document name - aProp = getContentPropertyWithTitle(sCanonicURL); - if(!aProp.is()) - aProp = getContentPropertyWithSavedAsName(sCanonicURL); - if(!aProp.is()) - { - if(sCanonicURL.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("/"))) - { // found only the scheme - aProp = new ContentProperties(); - aProp->m_sDocumentId = "/"; - aProp->m_sTitle = sCanonicURL; - aProp->m_bIsFolder = sal_True; - aProp->m_bIsDocument = !aProp->m_bIsFolder; - m_aContents.insert(ContentsMap::value_type(aProp->m_sDocumentId,aProp)); - } - else - aProp = queryContentProperty(sCanonicURL); - } - } - if(!aProp.is()) - throw ucb::IllegalIdentifierException(); - - xContent = new Content( m_xContext, this, xCanonicId ,aProp); - registerNewContent( xContent ); - - if ( !xContent->getIdentifier().is() ) - throw ucb::IllegalIdentifierException(); - - return xContent; -} -// ----------------------------------------------------------------------------- -void ContentProvider::closeDocument(const ::rtl::OString& _sDocumentId) -{ - ContentsMap::iterator aIter = m_aContents.find(_sDocumentId); - if(aIter != m_aContents.end()) - { - DWORD dwFlags = ODM_SILENT; - ODMSTATUS odm = NODMCloseDocEx( ContentProvider::getHandle(), - const_cast<sal_Char*>(_sDocumentId.getStr()), - &dwFlags, - 0xFFFFFFFF, - 0xFFFFFFFF, - NULL, - 0); - OSL_ENSURE(odm == ODM_SUCCESS,"Error while closing a document!"); - if(odm == ODM_SUCCESS) - aIter->second->m_bIsOpen = sal_False; - } -} -// ----------------------------------------------------------------------------- -void ContentProvider::saveDocument(const ::rtl::OString& _sDocumentId) -{ - ContentsMap::iterator aIter = m_aContents.find(_sDocumentId); - if(aIter != m_aContents.end()) - { - sal_Char* lpszDocId = new sal_Char[ODM_DOCID_MAX]; - DWORD dwFlags = ODM_SILENT; - ODMSTATUS odm = NODMSaveDocEx(getHandle(), - const_cast<sal_Char*>(_sDocumentId.getStr()), - lpszDocId, - &dwFlags); - OSL_ENSURE(odm == ODM_SUCCESS,"Could not save document!"); - if(odm != ODM_SUCCESS) - { - delete [] lpszDocId; - throw uno::Exception(); - } - aIter->second->m_sDocumentId = rtl::OString(lpszDocId); - delete [] lpszDocId; - } -} -// ----------------------------------------------------------------------------- -util::Date toDate(const ::rtl::OString& _sSQLString) -{ - sal_uInt16 nYear = 0, - nMonth = 0, - nDay = 0; - nYear = (sal_uInt16)_sSQLString.copy(0,4).toInt32(); - nMonth = (sal_uInt16)_sSQLString.copy(4,2).toInt32(); - nDay = (sal_uInt16)_sSQLString.copy(6,2).toInt32(); - - return util::Date(nDay,nMonth,nYear); -} -//----------------------------------------------------------------------------- -util::Time toTime(const ::rtl::OString& _sSQLString) -{ - sal_uInt16 nHour = 0, - nMinute = 0, - nSecond = 0; - nHour = (sal_uInt16)_sSQLString.copy(8,2).toInt32(); - nMinute = (sal_uInt16)_sSQLString.copy(10,2).toInt32(); - nSecond = (sal_uInt16)_sSQLString.copy(12,2).toInt32(); - - return util::Time(0,nHour,nMinute,nSecond); -} -//----------------------------------------------------------------------------- -util::DateTime toDateTime(const ::rtl::OString& _sSQLString) -{ - util::Date aDate = toDate(_sSQLString); - util::Time aTime = toTime(_sSQLString); - - return util::DateTime(0,aTime.Seconds,aTime.Minutes,aTime.Hours,aDate.Day,aDate.Month,aDate.Year); -} -// ----------------------------------------------------------------------------- -void ContentProvider::fillDocumentProperties(const ::rtl::Reference<ContentProperties>& _rProp) -{ - // read some properties from the DMS - sal_Char* lpszDocInfo = new sal_Char[ODM_DOCID_MAX]; - sal_Char* pDocId = const_cast<sal_Char*>(_rProp->m_sDocumentId.getStr()); - - // read the create date of the document - ODMSTATUS odm = NODMGetDocInfo( getHandle(), - pDocId, - ODM_CREATEDDATE, - lpszDocInfo, - ODM_DOCID_MAX); - if(odm == ODM_SUCCESS) - _rProp->m_aDateCreated = toDateTime(::rtl::OString(lpszDocInfo)); - - // read the modified date of the document - odm = NODMGetDocInfo( getHandle(), - pDocId, - ODM_MODIFYDATE, - lpszDocInfo, - ODM_DOCID_MAX); - if(odm == ODM_SUCCESS) - _rProp->m_aDateModified = toDateTime(::rtl::OString(lpszDocInfo)); - - // read the title of the document - odm = NODMGetDocInfo( getHandle(), - pDocId, - ODM_TITLETEXT, - lpszDocInfo, - ODM_DOCID_MAX); - if(odm == ODM_SUCCESS) - _rProp->m_sTitle = ::rtl::OStringToOUString(rtl::OString(lpszDocInfo),RTL_TEXTENCODING_ASCII_US); - - // read the name of the document - odm = NODMGetDocInfo( getHandle(), - pDocId, - ODM_NAME, - lpszDocInfo, - ODM_DOCID_MAX); - if(odm == ODM_SUCCESS) - _rProp->m_sDocumentName = ::rtl::OStringToOUString(rtl::OString(lpszDocInfo),RTL_TEXTENCODING_ASCII_US); - - // read the author of the document - odm = NODMGetDocInfo( getHandle(), - pDocId, - ODM_AUTHOR, - lpszDocInfo, - ODM_DOCID_MAX); - if(odm == ODM_SUCCESS) - _rProp->m_sAuthor = ::rtl::OStringToOUString(rtl::OString(lpszDocInfo),RTL_TEXTENCODING_ASCII_US); - - // read the subject of the document - odm = NODMGetDocInfo( getHandle(), - pDocId, - ODM_SUBJECT, - lpszDocInfo, - ODM_DOCID_MAX); - if(odm == ODM_SUCCESS) - _rProp->m_sSubject = ::rtl::OStringToOUString(rtl::OString(lpszDocInfo),RTL_TEXTENCODING_ASCII_US); - - // read the keywords of the document - odm = NODMGetDocInfo( getHandle(), - pDocId, - ODM_KEYWORDS, - lpszDocInfo, - ODM_DOCID_MAX); - if(odm == ODM_SUCCESS) - _rProp->m_sKeywords = ::rtl::OStringToOUString(rtl::OString(lpszDocInfo),RTL_TEXTENCODING_ASCII_US); - - delete [] lpszDocInfo; -} -// ----------------------------------------------------------------------------- -void ContentProvider::append(const ::rtl::Reference<ContentProperties>& _rProp) -{ - // now fill some more properties - fillDocumentProperties(_rProp); - // and append them - m_aContents.insert(ContentsMap::value_type(_rProp->m_sDocumentId,_rProp)); -} -// ----------------------------------------------------------------------------- -::rtl::Reference<ContentProperties> ContentProvider::queryContentProperty(const ::rtl::OUString& _sDocumentName) -{ - ::rtl::Reference<ContentProperties> aReturn; - sal_Char* lpszDMSList = new sal_Char[ODM_DMSID_MAX]; - - ODMSTATUS odm = NODMGetDMS(ODMA_ODMA_REGNAME, lpszDMSList); - if(odm == ODM_SUCCESS) - { - sal_Char* pQueryId = new sal_Char[ODM_QUERYID_MAX]; - lpszDMSList[strlen(lpszDMSList)+1] = '\0'; - - ::rtl::OString sTitleText(::rtl::OUStringToOString(_sDocumentName,RTL_TEXTENCODING_ASCII_US)); - ::rtl::OString sQuery("SELECT ODM_DOCID_LATEST, ODM_NAME WHERE ODM_TITLETEXT = '"); - sQuery += sTitleText; - sQuery += "'"; - - DWORD dwFlags = ODM_SPECIFIC; - odm = NODMQueryExecute(getHandle(), sQuery.getStr(), dwFlags, lpszDMSList, pQueryId ); - if(odm == ODM_SUCCESS) - { - sal_uInt16 nCount = 10; - sal_uInt16 nMaxCount = 10; - sal_Char* lpszDocId = new sal_Char[ODM_DOCID_MAX * nMaxCount]; - sal_Char* lpszDocName = new sal_Char[ODM_NAME_MAX * nMaxCount]; - sal_Char* lpszDocInfo = new sal_Char[ODM_DOCID_MAX]; - - ::rtl::OUString sContentType(ODMA_CONTENT_TYPE); - do - { - if(nCount >= nMaxCount) - { - // get the result - nCount = nMaxCount; - odm = NODMQueryGetResults(getHandle(), pQueryId,lpszDocId, lpszDocName, ODM_NAME_MAX, (WORD*)&nCount); - } - if(odm == ODM_SUCCESS) - for(sal_uInt16 i = 0; i < nCount; ++i) - { - odm = NODMGetDocInfo( getHandle(), - &lpszDocId[ODM_DOCID_MAX*i], - ODM_TITLETEXT, - lpszDocInfo, - ODM_DOCID_MAX); - if( odm == ODM_SUCCESS && sTitleText == ::rtl::OString(lpszDocInfo)) - { - aReturn = new ContentProperties(); - aReturn->m_sDocumentName = ::rtl::OStringToOUString(rtl::OString(&lpszDocName[ODM_NAME_MAX*i]),RTL_TEXTENCODING_ASCII_US); - aReturn->m_sDocumentId = ::rtl::OString(&lpszDocId[ODM_DOCID_MAX*i]); - aReturn->m_sContentType = sContentType; - append(aReturn); - nCount = 0; // break condition from outer loop - break; - } - } - } - while(nCount > nMaxCount); - - delete [] lpszDocInfo; - delete [] lpszDocId; - delete [] lpszDocName; - } - - // now close the query - odm = NODMQueryClose(ContentProvider::getHandle(), pQueryId); - delete [] pQueryId; - } - delete [] lpszDMSList; - - - return aReturn; -} -// ----------------------------------------------------------------------------- -::rtl::Reference<ContentProperties> ContentProvider::getContentProperty(const ::rtl::OUString& _sName, - const ContentPropertiesMemberFunctor& _aFunctor) const -{ - ::rtl::Reference<ContentProperties> aReturn; - ContentsMap::const_iterator aFind = ::std::find_if( m_aContents.begin(), - m_aContents.end(), - ::o3tl::compose1( - ::std::bind2nd(_aFunctor,_sName), - ::o3tl::select2nd<ContentsMap::value_type>() - ) - ); - if(aFind != m_aContents.end()) - aReturn = aFind->second; - return aReturn; -} -// ----------------------------------------------------------------------------- -::rtl::Reference<ContentProperties> ContentProvider::getContentPropertyWithSavedAsName(const ::rtl::OUString& _sSaveAsName) const -{ - ContentPropertiesMemberFunctor aFunc(::std::mem_fun(&ContentProperties::getSavedAsName)); - return getContentProperty(_sSaveAsName,aFunc); -} -// ----------------------------------------------------------------------------- -::rtl::Reference<ContentProperties> ContentProvider::getContentPropertyWithTitle(const ::rtl::OUString& _sTitle) const -{ - ContentPropertiesMemberFunctor aFunc(::std::mem_fun(&ContentProperties::getTitle)); - return getContentProperty(_sTitle,aFunc); -} -// ----------------------------------------------------------------------------- -::rtl::Reference<ContentProperties> ContentProvider::getContentPropertyWithDocumentId(const ::rtl::OUString& _sDocumentId) const -{ - ContentPropertiesMemberFunctor aFunc(::std::mem_fun(&ContentProperties::getDocumentId)); - return getContentProperty(_sDocumentId,aFunc); -} -// ----------------------------------------------------------------------------- -::rtl::OUString ContentProvider::openDoc(const ::rtl::Reference<ContentProperties>& _rProp) throw (uno::Exception) -{ - OSL_ENSURE(_rProp.is(),"No valid content properties!"); - if(!_rProp->m_bIsOpen) - { - sal_Char *pFileName = new sal_Char[ODM_FILENAME_MAX]; - - DWORD dwFlag = ODM_MODIFYMODE | ODM_SILENT; - ODMSTATUS odm = NODMOpenDoc(getHandle(), dwFlag, const_cast<sal_Char*>(_rProp->m_sDocumentId.getStr()), pFileName); - switch(odm) - { - case ODM_E_INUSE: - dwFlag = ODM_VIEWMODE; - if( NODMOpenDoc(getHandle(), dwFlag, const_cast<sal_Char*>(_rProp->m_sDocumentId.getStr()), pFileName) != ODM_SUCCESS) - break; - // else run through - case ODM_SUCCESS: - ::osl::FileBase::getFileURLFromSystemPath(::rtl::OStringToOUString(rtl::OString(pFileName),RTL_TEXTENCODING_ASCII_US) - ,_rProp->m_sFileURL); - _rProp->m_bIsOpen = sal_True; - break; - default: - delete [] pFileName; - throw uno::Exception(); // TODO give a more precise error message here - } - - delete [] pFileName; - } - return _rProp->m_sFileURL; -} -// ----------------------------------------------------------------------------- -::rtl::OUString ContentProvider::convertURL(const ::rtl::OUString& _sCanonicURL) -{ - sal_Int32 nPos = 0; - // check if url starts with odma - if(_sCanonicURL.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM(ODMA_URL_SCHEME_SHORT ODMA_URL_SHORT))) - { // URL starts with odma:// so we have to remove this - nPos = ODMA_URL_SHORT_LGTH; - } - else if(_sCanonicURL.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM(ODMA_URL_SCHEME ODMA_URL_SHORT))) - { // URL starts with vnd.sun.star.odma:/// so we have to remove this - nPos = ODMA_URL_LGTH; - } - - ::rtl::OUString sCanonicURL = _sCanonicURL; - // now check what formats we allow - if(nPos == _sCanonicURL.getLength()) // only ask for root entry - sCanonicURL = ::rtl::OUString("/"); - - if(nPos < sCanonicURL.getLength()) - { - sCanonicURL = sCanonicURL.copy(nPos); - sCanonicURL = rtl::Uri::decode(sCanonicURL,rtl_UriDecodeWithCharset,RTL_TEXTENCODING_UTF8); - } - if(sCanonicURL.getLength() > 1 && sCanonicURL.getStr()[0] == sal_Unicode('/')) - { - sCanonicURL = sCanonicURL.copy(1); - if(sCanonicURL.getLength() == 1 && sCanonicURL.getStr()[0] == sal_Unicode('.')) - sCanonicURL = ::rtl::OUString("/"); - } - return sCanonicURL; -} -// ----------------------------------------------------------------------------- -sal_Bool ContentProvider::deleteDocument(const ::rtl::Reference<ContentProperties>& _rProp) -{ - closeDocument(_rProp->m_sDocumentId); - ODMSTATUS odm = NODMActivate(ContentProvider::getHandle(), - ODM_DELETE, - const_cast< sal_Char*>(_rProp->m_sDocumentId.getStr())); - if(odm == ODM_SUCCESS) - m_aContents.erase(_rProp->m_sDocumentId); - - return odm == ODM_SUCCESS; -} -// ----------------------------------------------------------------------------- - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_provider.hxx b/ucb/source/ucp/odma/odma_provider.hxx deleted file mode 100644 index 4aa5285d599d..000000000000 --- a/ucb/source/ucp/odma/odma_provider.hxx +++ /dev/null @@ -1,175 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef ODMA_PROVIDER_HXX -#define ODMA_PROVIDER_HXX - -#include <ucbhelper/providerhelper.hxx> -#include "odma_lib.hxx" - -#include "rtl/ref.hxx" - -#include <map> -#include "odma_contentprops.hxx" - -namespace odma { - -//========================================================================= - -// UNO service name for the provider. This name will be used by the UCB to -// create instances of the provider. -#define ODMA_CONTENT_PROVIDER_SERVICE_NAME \ - "com.sun.star.ucb.ODMAContentProvider" -// #define ODMA_CONTENT_PROVIDER_SERVICE_NAME_LENGTH 34 - -// URL scheme. This is the scheme the provider will be able to create -// contents for. The UCB will select the provider ( i.e. in order to create -// contents ) according to this scheme. -#define ODMA_URL_ODMAID "::ODMA" -#define ODMA_URL_SCHEME "vnd.sun.star.odma" -#define ODMA_URL_SCHEME_SHORT "odma" -#define ODMA_URL_SHORT ":" -#define ODMA_URL_SHORT_LGTH 5 -#define ODMA_URL_LGTH 18 -#define ODMA_URL_ODMAID_LGTH 6 - -// UCB Content Type. -#define ODMA_CONTENT_TYPE "application/" ODMA_URL_SCHEME "-content" -#define ODMA_ODMA_REGNAME "sodma" -#define ODM_NAME_MAX 64 // Max length of a name document including - // the terminating NULL character. - -//========================================================================= -class ContentProperties; -class ContentProvider : public ::ucbhelper::ContentProviderImplHelper -{ - typedef ::std::map< ::rtl::OString, ::rtl::Reference<ContentProperties> > ContentsMap; - ContentsMap m_aContents; // contains all ContentProperties - static ODMHANDLE m_aOdmHandle; // the one and only ODMA handle to our DMS - - /** fillDocumentProperties fills the given _rProp with ODMA properties - @param _rProp the ContentProperties - */ - void fillDocumentProperties(const ::rtl::Reference<ContentProperties>& _rProp); - - /** - */ - ::rtl::Reference<ContentProperties> getContentProperty(const ::rtl::OUString& _sName, - const ContentPropertiesMemberFunctor& _aFunctor) const; -public: - ContentProvider( const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XComponentContext >& rContext ); - virtual ~ContentProvider(); - - // XInterface - XINTERFACE_DECL() - - // XTypeProvider - XTYPEPROVIDER_DECL() - - // XServiceInfo - XSERVICEINFO_DECL() - - // XContentProvider - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::ucb::XContent > SAL_CALL - queryContent( const ::com::sun::star::uno::Reference< - ::com::sun::star::ucb::XContentIdentifier >& Identifier ) - throw( ::com::sun::star::ucb::IllegalIdentifierException, - ::com::sun::star::uno::RuntimeException ); - - ////////////////////////////////////////////////////////////////////// - // Additional interfaces - ////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////// - // Non-interface methods. - ////////////////////////////////////////////////////////////////////// - static ODMHANDLE getHandle(); - - /** append add an entry to the internal map - @param _rProp the content properties - */ - void append(const ::rtl::Reference<ContentProperties>& _rProp); - - /** closeDocument closes the document - @param _sDocumentId the id of the document - */ - void closeDocument(const ::rtl::OString& _sDocumentId); - - /** saveDocument saves the document in DMS - @param _sDocumentId the id of the document - */ - void saveDocument(const ::rtl::OString& _sDocumentId); - - /** queryContentProperty query in the DMS for a content which document name is equal to _sDocumentName - @param _sDocumentName the document to query for - - @return the content properties for this content or an empty refernce - */ - ::rtl::Reference<ContentProperties> queryContentProperty(const ::rtl::OUString& _sDocumentName); - - /** getContentPropertyWithTitle returns the ContentProperties for the first content with that title - @param _sTitle the title of the document - - @return the content properties - */ - ::rtl::Reference<ContentProperties> getContentPropertyWithTitle(const ::rtl::OUString& _sTitle) const; - - /** getContentPropertyWithDocumentId returns the ContentProperties for the first content with that title - @param _sTitle the title of the document - - @return the content properties - */ - ::rtl::Reference<ContentProperties> getContentPropertyWithDocumentId(const ::rtl::OUString& _sDocumentId) const; - - /** getContentPropertyWithSavedAsName returns the ContentProperties for the first content with that SavedAsName - @param _sSaveAsName the SavedAsName of the document - - @return the content properties - */ - ::rtl::Reference<ContentProperties> getContentPropertyWithSavedAsName(const ::rtl::OUString& _sSaveAsName) const; - - /** openDoc returns the URL for the temporary file for the specific Content and opens it - @param _rProp used for check if already open, the member m_sFileURL will be set if is wan't opened yet - - @return the URL of the temporary file - */ - static ::rtl::OUString openDoc(const ::rtl::Reference<ContentProperties>& _rProp) throw (::com::sun::star::uno::Exception); - - /** convertURL converts a normal URL into an ODMA understandable name - @param _sCanonicURL the URL from ContentIndentifier - - @return the ODMA name - */ - static ::rtl::OUString convertURL(const ::rtl::OUString& _sCanonicURL); - - /** deleteDocument deletes the document inside the DMS and remove the content properties from inside list - @param _rProp the ContentProperties - - @return true when successful - */ - sal_Bool deleteDocument(const ::rtl::Reference<ContentProperties>& _rProp); -}; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_resultset.cxx b/ucb/source/ucp/odma/odma_resultset.cxx deleted file mode 100644 index 27f2c2b0d876..000000000000 --- a/ucb/source/ucp/odma/odma_resultset.cxx +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#ifdef WNT -#include <windows.h> -#endif - -/************************************************************************** - TODO - ************************************************************************** - - - This implementation is not a dynamic result set!!! It only implements - the necessary interfaces, but never recognizes/notifies changes!!! - - *************************************************************************/ -#include "odma_datasupplier.hxx" -#include "odma_resultset.hxx" -#include "comphelper/processfactory.hxx" - -using namespace com::sun::star::lang; -using namespace com::sun::star::ucb; -using namespace com::sun::star::uno; - -using namespace odma; - -//========================================================================= -//========================================================================= -// -// DynamicResultSet Implementation. -// -//========================================================================= -//========================================================================= - -DynamicResultSet::DynamicResultSet( - const Reference< XComponentContext >& rxContext, - const rtl::Reference< Content >& rxContent, - const OpenCommandArgument2& rCommand, - const Reference< XCommandEnvironment >& rxEnv ) -: ResultSetImplHelper( rxContext, rCommand ), - m_xContent( rxContent ), - m_xEnv( rxEnv ) -{ -} - -//========================================================================= -// -// Non-interface methods. -// -//========================================================================= - -void DynamicResultSet::initStatic() -{ - m_xResultSet1 - = new ::ucbhelper::ResultSet( m_xContext, - m_aCommand.Properties, - new DataSupplier( Reference<XMultiServiceFactory>(m_xContext->getServiceManager(), UNO_QUERY_THROW), - m_xContent, - m_aCommand.Mode ), - m_xEnv ); -} - -//========================================================================= -void DynamicResultSet::initDynamic() -{ - m_xResultSet1 - = new ::ucbhelper::ResultSet( m_xContext, - m_aCommand.Properties, - new DataSupplier( Reference<XMultiServiceFactory>(m_xContext->getServiceManager(), UNO_QUERY_THROW), - m_xContent, - m_aCommand.Mode ), - m_xEnv ); - m_xResultSet2 = m_xResultSet1; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_resultset.hxx b/ucb/source/ucp/odma/odma_resultset.hxx deleted file mode 100644 index 9fcabf6aca3d..000000000000 --- a/ucb/source/ucp/odma/odma_resultset.hxx +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef ODMA_RESULTSET_HXX -#define ODMA_RESULTSET_HXX - -#include <ucbhelper/resultsethelper.hxx> - -#include "rtl/ref.hxx" -#include "odma_content.hxx" - -namespace odma { - -class DynamicResultSet : public ::ucbhelper::ResultSetImplHelper -{ - rtl::Reference< Content > m_xContent; - com::sun::star::uno::Reference< - com::sun::star::ucb::XCommandEnvironment > m_xEnv; - -private: - virtual void initStatic(); - virtual void initDynamic(); - -public: - DynamicResultSet( - const com::sun::star::uno::Reference< - com::sun::star::uno::XComponentContext >& rxContext, - const rtl::Reference< Content >& rxContent, - const com::sun::star::ucb::OpenCommandArgument2& rCommand, - const com::sun::star::uno::Reference< - com::sun::star::ucb::XCommandEnvironment >& rxEnv ); -}; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/odma_services.cxx b/ucb/source/ucp/odma/odma_services.cxx deleted file mode 100644 index e118e19d7b25..000000000000 --- a/ucb/source/ucp/odma/odma_services.cxx +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifdef WNT -#include <windows.h> -#endif -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/lang/XSingleServiceFactory.hpp> -#include <com/sun/star/registry/XRegistryKey.hpp> -#include "odma_contentprops.hxx" -#include "odma_provider.hxx" - -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; -using namespace com::sun::star::registry; - -//========================================================================= -extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL ucpodma1_component_getFactory( - const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ ) -{ - void * pRet = 0; - - Reference< XMultiServiceFactory > xSMgr( - reinterpret_cast< XMultiServiceFactory * >( pServiceManager ) ); - Reference< XSingleServiceFactory > xFactory; - - ////////////////////////////////////////////////////////////////////// - // Create factory, if implementation name matches. - ////////////////////////////////////////////////////////////////////// - - // @@@ Adjust namespace names. - if ( ::odma::ContentProvider::getImplementationName_Static(). - compareToAscii( pImplName ) == 0 ) - { - if(::odma::DMSsAvailable()) - xFactory = ::odma::ContentProvider::createServiceFactory( xSMgr ); - } - - ////////////////////////////////////////////////////////////////////// - - if ( xFactory.is() ) - { - xFactory->acquire(); - pRet = xFactory.get(); - } - - return pRet; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/odma/ucpodma1.component b/ucb/source/ucp/odma/ucpodma1.component deleted file mode 100644 index 754e8ae98983..000000000000 --- a/ucb/source/ucp/odma/ucpodma1.component +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . ---> -<component loader="com.sun.star.loader.SharedLibrary" prefix="ucpodma1" - xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.comp.ucb.FileProvider"> - <service name="com.sun.star.ucb.ODMAContentProvider"/> - </implementation> -</component> diff --git a/vcl/unx/kde/fpicker/kdefilepicker.cxx b/vcl/unx/kde/fpicker/kdefilepicker.cxx index 048ab9c8318c..f937eb914cf0 100644 --- a/vcl/unx/kde/fpicker/kdefilepicker.cxx +++ b/vcl/unx/kde/fpicker/kdefilepicker.cxx @@ -601,7 +601,7 @@ bool KDEFileDialog::isSupportedProtocol( const QString &rProtocol ) const "https", "slot", "macro", "javascript", "imap", "pop3", "data", "cid", "out", "vnd.sun.star.wfs", "vnd.sun.star.hier", "vim", ".uno", ".component", "vnd.sun.star.pkg", "ldap", "db", - "vnd.sun.star.cmd", "vnd.sun.star.script", "vnd.sun.star.odma", + "vnd.sun.star.cmd", "vnd.sun.star.script", "telnet", NULL }; |