summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xRepository.mk7
-rw-r--r--cui/source/options/optgdlg.cxx46
-rw-r--r--cui/source/options/optgdlg.hrc1
-rw-r--r--cui/source/options/optgdlg.hxx1
-rw-r--r--cui/source/options/optgdlg.src24
-rw-r--r--desktop/source/app/cmdlineargs.cxx9
-rw-r--r--fpicker/Library_fpicker.mk6
-rw-r--r--fpicker/Library_fps_odma.mk60
-rw-r--r--fpicker/Module_fpicker.mk1
-rw-r--r--fpicker/source/generic/fpicker.cxx4
-rw-r--r--fpicker/source/odma/ODMAFilePicker.cxx534
-rw-r--r--fpicker/source/odma/ODMAFilePicker.hxx218
-rw-r--r--fpicker/source/odma/fps_odma.component16
-rw-r--r--fpicker/source/odma/fps_odma.cxx44
-rw-r--r--framework/source/uielement/recentfilesmenucontroller.cxx39
-rw-r--r--officecfg/registry/data/org/openoffice/ucb/Configuration.xcu11
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Common.xcs13
-rw-r--r--postprocess/packcomponents/makefile.mk1
-rw-r--r--readlicense_oo/html/LICENSE.html42
-rw-r--r--readlicense_oo/txt/license.txt53
-rw-r--r--scp2/source/ooo/file_library_ooo.scp8
-rw-r--r--solenv/inc/libs.mk5
-rw-r--r--svl/qa/unit/test_URIHelper.cxx1
-rw-r--r--svtools/inc/svtools/miscopt.hxx3
-rw-r--r--svtools/source/config/miscopt.cxx50
-rw-r--r--tools/inc/tools/urlobj.hxx1
-rw-r--r--tools/source/fsys/urlobj.cxx27
-rw-r--r--ucb/Library_ucpodma1.mk58
-rw-r--r--ucb/Module_ucb.mk8
-rw-r--r--ucb/Package_odma_inc.mk33
-rw-r--r--ucb/StaticLibrary_odma_lib.mk41
-rw-r--r--ucb/source/ucp/odma/odma.h361
-rw-r--r--ucb/source/ucp/odma/odma_content.cxx1053
-rw-r--r--ucb/source/ucp/odma/odma_content.hxx190
-rw-r--r--ucb/source/ucp/odma/odma_contentcaps.cxx236
-rw-r--r--ucb/source/ucp/odma/odma_contentprops.hxx79
-rw-r--r--ucb/source/ucp/odma/odma_datasupplier.cxx447
-rw-r--r--ucb/source/ucp/odma/odma_datasupplier.hxx68
-rw-r--r--ucb/source/ucp/odma/odma_inputstream.cxx281
-rw-r--r--ucb/source/ucp/odma/odma_inputstream.hxx132
-rw-r--r--ucb/source/ucp/odma/odma_lib.cxx142
-rw-r--r--ucb/source/ucp/odma/odma_lib.hxx254
-rw-r--r--ucb/source/ucp/odma/odma_main.cxx89
-rw-r--r--ucb/source/ucp/odma/odma_provider.cxx593
-rw-r--r--ucb/source/ucp/odma/odma_provider.hxx175
-rw-r--r--ucb/source/ucp/odma/odma_resultset.cxx92
-rw-r--r--ucb/source/ucp/odma/odma_resultset.hxx54
-rw-r--r--ucb/source/ucp/odma/odma_services.cxx66
-rw-r--r--ucb/source/ucp/odma/ucpodma1.component24
-rw-r--r--vcl/unx/kde/fpicker/kdefilepicker.cxx2
50 files changed, 11 insertions, 5692 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/postprocess/packcomponents/makefile.mk b/postprocess/packcomponents/makefile.mk
index 3caa0e71add2..fa3231c566aa 100644
--- a/postprocess/packcomponents/makefile.mk
+++ b/postprocess/packcomponents/makefile.mk
@@ -337,7 +337,6 @@ my_components += \
component/dtrans/util/dnd \
component/dtrans/util/ftransl \
component/dtrans/util/sysdtrans \
- component/fpicker/source/odma/fps_odma \
component/fpicker/source/win32/fps \
component/shell/source/backends/wininetbe/wininetbe1 \
component/shell/source/win32/simplemail/smplmail \
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 &quot;AS
-IS&quot; 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..f6e9db46b92c 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 26: 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 };