summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/odma
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2003-03-27 16:27:21 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2003-03-27 16:27:21 +0000
commitbcfa252336671880cf1d41510d2f54483548c2bd (patch)
treef4a69da2fafa8f54b44391e2fc75156e1a81cb0f /ucb/source/ucp/odma
parent3aa3d8c5931c38f00e90a4752dd9ca2a697a2103 (diff)
MWS_SRX644: migrate branch mws_srx644 -> HEAD
Diffstat (limited to 'ucb/source/ucp/odma')
-rw-r--r--ucb/source/ucp/odma/exports.map8
-rw-r--r--ucb/source/ucp/odma/makefile.mk155
-rw-r--r--ucb/source/ucp/odma/odma.h1
-rw-r--r--ucb/source/ucp/odma/odma_content.cxx1313
-rw-r--r--ucb/source/ucp/odma/odma_content.hxx234
-rw-r--r--ucb/source/ucp/odma/odma_contentcaps.cxx300
-rw-r--r--ucb/source/ucp/odma/odma_contentprops.hxx127
-rw-r--r--ucb/source/ucp/odma/odma_datasupplier.cxx502
-rw-r--r--ucb/source/ucp/odma/odma_datasupplier.hxx110
-rw-r--r--ucb/source/ucp/odma/odma_inputstream.cxx336
-rw-r--r--ucb/source/ucp/odma/odma_inputstream.hxx187
-rw-r--r--ucb/source/ucp/odma/odma_lib.cxx170
-rw-r--r--ucb/source/ucp/odma/odma_lib.hxx308
-rw-r--r--ucb/source/ucp/odma/odma_main.cxx110
-rw-r--r--ucb/source/ucp/odma/odma_provider.cxx651
-rw-r--r--ucb/source/ucp/odma/odma_provider.hxx217
-rw-r--r--ucb/source/ucp/odma/odma_resultset.cxx135
-rw-r--r--ucb/source/ucp/odma/odma_resultset.hxx103
-rw-r--r--ucb/source/ucp/odma/odma_services.cxx183
-rw-r--r--ucb/source/ucp/odma/ucpodma.xml102
20 files changed, 0 insertions, 5252 deletions
diff --git a/ucb/source/ucp/odma/exports.map b/ucb/source/ucp/odma/exports.map
deleted file mode 100644
index 14a2531f23..0000000000
--- a/ucb/source/ucp/odma/exports.map
+++ /dev/null
@@ -1,8 +0,0 @@
-VERS_1_0 {
- global:
- component_getImplementationEnvironment;
- component_writeInfo;
- component_getFactory;
- local:
- *;
-};
diff --git a/ucb/source/ucp/odma/makefile.mk b/ucb/source/ucp/odma/makefile.mk
deleted file mode 100644
index 3aaa5aece6..0000000000
--- a/ucb/source/ucp/odma/makefile.mk
+++ /dev/null
@@ -1,155 +0,0 @@
-#*************************************************************************
-#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.1 $
-#
-# last change: $Author: oj $ $Date: 2002-01-14 15:00:27 $
-#
-# The Contents of this file are made available subject to the terms of
-# either of the following licenses
-#
-# - GNU Lesser General Public License Version 2.1
-# - Sun Industry Standards Source License Version 1.1
-#
-# Sun Microsystems Inc., October, 2000
-#
-# GNU Lesser General Public License Version 2.1
-# =============================================
-# Copyright 2000 by Sun Microsystems, Inc.
-# 901 San Antonio Road, Palo Alto, CA 94303, USA
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License version 2.1, as published by the Free Software Foundation.
-#
-# This library 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 for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-#
-# Sun Industry Standards Source License Version 1.1
-# =================================================
-# The contents of this file are subject to the Sun Industry Standards
-# Source License Version 1.1 (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.openoffice.org/license.html.
-#
-# Software provided under this License is provided on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
-# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
-# See the License for the specific provisions governing your rights and
-# obligations concerning the Software.
-#
-# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
-#
-# Copyright: 2000 by Sun Microsystems, Inc.
-#
-# All Rights Reserved.
-#
-# Contributor(s): _______________________________________
-#
-#
-#
-#*************************************************************************
-
-# @@@ UCP Version - Increase, if your UCP libraray becomes incompatible.
-UCP_VERSION=1
-
-# @@@ Name for your UCP. Will become part of the library name (See below).
-UCP_NAME=odma
-
-# @@@ Relative path to project root.
-PRJ=..$/..$/..
-
-# @@@ Name of the project your UCP code recides it.
-PRJNAME=ucb
-
-TARGET=ucp$(UCP_NAME)
-TARGET2=s$(UCP_NAME)
-
-ENABLE_EXCEPTIONS=TRUE
-USE_DEFFILE=TRUE
-NO_BSYMBOLIC=TRUE
-
-TARGET2TYPE=CUI
-LIB2TARGET=NO
-
-# --- Settings ---------------------------------------------------------
-
-.INCLUDE: svpre.mk
-.INCLUDE: settings.mk
-.INCLUDE: sv.mk
-
-# --- General -----------------------------------------------------
-
-# @@@ Adjust template file names. Add own files here.
-SLOFILES=\
- $(SLO)$/odma_lib.obj \
- $(SLO)$/odma_services.obj \
- $(SLO)$/odma_provider.obj \
- $(SLO)$/odma_content.obj \
- $(SLO)$/odma_resultset.obj \
- $(SLO)$/odma_datasupplier.obj \
- $(SLO)$/odma_inputstream.obj \
- $(SLO)$/odma_contentcaps.obj
-
-
-LIB1TARGET=$(SLB)$/_$(TARGET).lib
-LIB1OBJFILES=$(SLOFILES)
-
-# --- Shared-Library ---------------------------------------------------
-
-SHL1TARGET=$(TARGET)$(UCP_VERSION)
-SHL1IMPLIB=i$(TARGET)
-SHL1VERSIONMAP=exports.map
-
-# @@@ Add additional libs here.
-SHL1STDLIBS=\
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB) \
- $(VOSLIB) \
- $(UCBHELPERLIB)
-
-SHL1DEF=$(MISC)$/$(SHL1TARGET).def
-SHL1LIBS=$(LIB1TARGET)
-
-# --- Def-File ---------------------------------------------------------
-
-DEF1NAME=$(SHL1TARGET)
-DEF1EXPORTFILE=exports.dxp
-
-# @@@ A description string for you UCP.
-DEF1DES=UCB ODMA Content Provider
-
-# --- SODMA executable -------------------------------------------------
-OBJ2FILES= $(OBJ)$/odma_main.obj
-
-APP2TARGET= $(TARGET2)
-APP2OBJS= $(OBJ2FILES)
-APP2STDLIBS=$(SALLIB) \
- $(VOSLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB)
-
-APP2STDLIBS+=$(STDLIBCPP)
-
-.IF "$(GUI)"=="WNT"
-APP2STDLIBS+=$(LIBCIMT)
-.ENDIF
-
-# @@@ A description string for you UCP.
-DEF2DES=UCB ODMA URL converter
-
-# --- Targets ----------------------------------------------------------
-
-.INCLUDE: target.mk
-
diff --git a/ucb/source/ucp/odma/odma.h b/ucb/source/ucp/odma/odma.h
deleted file mode 100644
index 545b2bbbdf..0000000000
--- a/ucb/source/ucp/odma/odma.h
+++ /dev/null
@@ -1 +0,0 @@
-#error "odma.h: This file is not included in OpenOffice.org (yet). Please download the latest version at http://www.infonuovo.com/odma/downloads"
diff --git a/ucb/source/ucp/odma/odma_content.cxx b/ucb/source/ucp/odma/odma_content.cxx
deleted file mode 100644
index b40c878cf3..0000000000
--- a/ucb/source/ucp/odma/odma_content.cxx
+++ /dev/null
@@ -1,1313 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_content.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:57:56 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#ifndef _OSL_DIAGNOSE_H_
-#include <osl/diagnose.h>
-#endif
-#ifndef ODMA_CONTENTPROPS_HXX
-#include "odma_contentprops.hxx"
-#endif
-#ifndef _COM_SUN_STAR_UCB_XDYNAMICRESULTSET_HPP_
-#include <com/sun/star/ucb/XDynamicResultSet.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPP_
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_XPROPERTYACCESS_HPP_
-#include <com/sun/star/beans/XPropertyAccess.hpp>
-#endif
-#ifndef _COM_SUN_STAR_LANG_ILLEGALACCESSEXCEPTION_HPP_
-#include <com/sun/star/lang/IllegalAccessException.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_UNSUPPORTEDDATASINKEXCEPTION_HPP_
-#include <com/sun/star/ucb/UnsupportedDataSinkException.hpp>
-#endif
-#ifndef _COM_SUN_STAR_SDBC_XROW_HPP_
-#include <com/sun/star/sdbc/XRow.hpp>
-#endif
-#ifndef _COM_SUN_STAR_IO_XOUTPUTSTREAM_HPP_
-#include <com/sun/star/io/XOutputStream.hpp>
-#endif
-#ifndef _COM_SUN_STAR_IO_XACTIVEDATASINK_HPP_
-#include <com/sun/star/io/XActiveDataSink.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_OPENCOMMANDARGUMENT2_HPP_
-#include <com/sun/star/ucb/OpenCommandArgument2.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_OPENMODE_HPP_
-#include <com/sun/star/ucb/OpenMode.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_XCOMMANDINFO_HPP_
-#include <com/sun/star/ucb/XCommandInfo.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_XPERSISTENTPROPERTYSET_HPP_
-#include <com/sun/star/ucb/XPersistentPropertySet.hpp>
-#endif
-#ifndef _UCBHELPER_CONTENTIDENTIFIER_HXX
-#include <ucbhelper/contentidentifier.hxx>
-#endif
-#ifndef _UCBHELPER_PROPERTYVALUESET_HXX
-#include <ucbhelper/propertyvalueset.hxx>
-#endif
-#ifndef _UCBHELPER_CANCELCOMMANDEXECUTION_HXX_
-#include <ucbhelper/cancelcommandexecution.hxx>
-#endif
-#ifndef _COM_SUN_STAR_UCB_UNSUPPORTEDOPENMODEEXCEPTION_HPP_
-#include <com/sun/star/ucb/UnsupportedOpenModeException.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_MISSINGINPUTSTREAMEXCEPTION_HPP_
-#include <com/sun/star/ucb/MissingInputStreamException.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_INSERTCOMMANDARGUMENT_HPP_
-#include <com/sun/star/ucb/InsertCommandArgument.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_MISSINGPROPERTIESEXCEPTION_HPP_
-#include <com/sun/star/ucb/MissingPropertiesException.hpp>
-#endif
-#ifndef _COM_SUN_STAR_IO_XACTIVEDATASTREAMER_HPP_
-#include <com/sun/star/io/XActiveDataStreamer.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_TRANSFERINFO_HPP_
-#include <com/sun/star/ucb/TransferInfo.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_NAMECLASH_HPP_
-#include <com/sun/star/ucb/NameClash.hpp>
-#endif
-#ifndef ODMA_CONTENT_HXX
-#include "odma_content.hxx"
-#endif
-#ifndef ODMA_PROVIDER_HXX
-#include "odma_provider.hxx"
-#endif
-#ifndef ODMA_RESULTSET_HXX
-#include "odma_resultset.hxx"
-#endif
-#ifndef ODMA_INPUTSTREAM_HXX
-#include "odma_inputstream.hxx"
-#endif
-#ifndef _UCBHELPER_CONTENT_HXX
-#include <ucbhelper/content.hxx>
-#endif
-#ifndef _COM_SUN_STAR_UNO_EXCEPTION_HPP_
-#include <com/sun/star/uno/Exception.hpp>
-#endif
-#ifndef _RTL_REF_HXX_
-#include <rtl/ref.hxx>
-#endif
-#ifndef _OSL_FILE_HXX_
-#include <osl/file.hxx>
-#endif
-
-using namespace com::sun;
-using namespace com::sun::star;
-using namespace odma;
-
-//=========================================================================
-//=========================================================================
-//
-// Content Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-Content::Content( const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- ContentProvider* pProvider,
- const uno::Reference< star::ucb::XContentIdentifier >& Identifier,
- const ::vos::ORef<ContentProperties>& _rProps)
- : ContentImplHelper( rxSMgr, pProvider, Identifier )
- ,m_aProps(_rProps)
- ,m_pProvider(pProvider)
- ,m_pContent(NULL)
-{
- OSL_ENSURE(m_aProps.isValid(),"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.
-#if 0
- aRet = cppu::queryInterface( rType,
- static_cast< yyy::Xxxxxxxxx * >( this ) );
-#endif
-
- 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( star::ucb::XContent ),
- CPPU_TYPE_REF( star::ucb::XCommandProcessor ),
- CPPU_TYPE_REF( beans::XPropertiesChangeNotifier ),
- CPPU_TYPE_REF( star::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::createFromAscii( "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::createFromAscii( 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::createFromAscii( ODMA_CONTENT_TYPE );
-}
-
-//=========================================================================
-//
-// XCommandProcessor methods.
-//
-//=========================================================================
-
-// virtual
-uno::Any SAL_CALL Content::execute(
- const star::ucb::Command& aCommand,
- sal_Int32 CommandId,
- const uno::Reference< star::ucb::XCommandEnvironment >& Environment )
- throw( uno::Exception,
- star::ucb::CommandAbortedException,
- uno::RuntimeException )
-{
- uno::Any aRet;
-
- if ( aCommand.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "getPropertyValues" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // getPropertyValues
- //////////////////////////////////////////////////////////////////
-
- uno::Sequence< beans::Property > Properties;
- if ( !( aCommand.Argument >>= Properties ) )
- {
- OSL_ENSURE( sal_False, "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.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "setPropertyValues" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // setPropertyValues
- //////////////////////////////////////////////////////////////////
-
- uno::Sequence< beans::PropertyValue > aProperties;
- if ( !( aCommand.Argument >>= aProperties ) )
- {
- OSL_ENSURE( sal_False, "Wrong argument type!" );
- ucbhelper::cancelCommandExecution(
- uno::makeAny( lang::IllegalArgumentException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- -1 ) ),
- Environment );
- // Unreachable
- }
-
- if ( !aProperties.getLength() )
- {
- OSL_ENSURE( sal_False, "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.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "getPropertySetInfo" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // getPropertySetInfo
- //////////////////////////////////////////////////////////////////
-
- // Note: Implemented by base class.
- aRet <<= getPropertySetInfo( Environment );
- }
- else if ( aCommand.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "getCommandInfo" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // getCommandInfo
- //////////////////////////////////////////////////////////////////
-
- // Note: Implemented by base class.
- aRet <<= getCommandInfo( Environment );
- }
- else if ( aCommand.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "open" ) ) )
- {
- star::ucb::OpenCommandArgument2 aOpenCommand;
- if ( !( aCommand.Argument >>= aOpenCommand ) )
- {
- OSL_ENSURE( sal_False, "Wrong argument type!" );
- ucbhelper::cancelCommandExecution(
- uno::makeAny( lang::IllegalArgumentException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- -1 ) ),
- Environment );
- // Unreachable
- }
-
- sal_Bool bOpenFolder =
- ( ( aOpenCommand.Mode == star::ucb::OpenMode::ALL ) ||
- ( aOpenCommand.Mode == star::ucb::OpenMode::FOLDERS ) ||
- ( aOpenCommand.Mode == star::ucb::OpenMode::DOCUMENTS ) );
-
- if ( bOpenFolder)
- {
- // open as folder - return result set
-
- uno::Reference< star::ucb::XDynamicResultSet > xSet
- = new DynamicResultSet( m_xSMgr,
- this,
- aOpenCommand,
- Environment );
- aRet <<= xSet;
- }
-
- if ( aOpenCommand.Sink.is() )
- {
- // Open document - supply document data stream.
-
- // Check open mode
- if ( ( aOpenCommand.Mode
- == star::ucb::OpenMode::DOCUMENT_SHARE_DENY_NONE ) ||
- ( aOpenCommand.Mode
- == star::ucb::OpenMode::DOCUMENT_SHARE_DENY_WRITE ) )
- {
- // Unsupported.
- ucbhelper::cancelCommandExecution(
- uno::makeAny( star::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 ::ucb::Content(sFileURL,NULL);
- if(!m_pContent->isDocument())
- {
- rtl::OUString sErrorMsg(RTL_CONSTASCII_USTRINGPARAM("File: "));
- sErrorMsg += sFileURL;
- sErrorMsg += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" 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_ENSURE(0,"Exception occured 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( com::sun::star::ucb::UnsupportedDataSinkException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- aOpenCommand.Sink ) ),
- Environment );
- // Unreachable
- }
- }
- }
- }
- }
- else if ( aCommand.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "close" ) ) )
- {
- getContentProvider()->closeDocument(m_aProps->m_sDocumentId);
- }
- else if ( aCommand.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "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.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "insert" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // insert
- //////////////////////////////////////////////////////////////////
-
- star::ucb::InsertCommandArgument arg;
- if ( !( aCommand.Argument >>= arg ) )
- {
- OSL_ENSURE( sal_False, "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" ) )
- {
- com::sun::star::ucb::TransferInfo aTransferInfo;
- if( ! ( aCommand.Argument >>= aTransferInfo ) )
- {
- OSL_ENSURE( sal_False, "Wrong argument type!" );
- ucbhelper::cancelCommandExecution(
- uno::makeAny( lang::IllegalArgumentException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- -1 ) ),
- Environment );
- // Unreachable
- }
- ::vos::ORef<ContentProperties> aProp = m_aProps;
- if(aProp->m_bIsFolder)
- {
- aProp = getContentProvider()->getContentPropertyWithTitle(aTransferInfo.NewTitle);
- if(!aProp.isValid())
- aProp = getContentProvider()->getContentPropertyWithSavedAsName(aTransferInfo.NewTitle);
- sal_Bool bError = !aProp.isValid();
- if(bError)
- {
- sal_Char* pExtension = NULL;
- ::rtl::OString sExt;
- sal_Int32 nPos = aTransferInfo.NewTitle.lastIndexOf('.');
- if(nPos != -1)
- {
- sExt = ::rtl::OUStringToOString(aTransferInfo.NewTitle.copy(nPos+1),RTL_TEXTENCODING_ASCII_US);
- if(sExt.equalsIgnoreAsciiCase("txt"))
- pExtension = ODM_FORMAT_TEXT;
- else if(sExt.equalsIgnoreAsciiCase("rtf"))
- pExtension = ODM_FORMAT_RTF;
- else if(sExt.equalsIgnoreAsciiCase("ps"))
- pExtension = ODM_FORMAT_PS;
- else
- pExtension = const_cast<sal_Char*>(sExt.getStr());
- }
- else
- pExtension = ODM_FORMAT_TEXT;
-
- sal_Char* lpszNewDocId = new sal_Char[ODM_DOCID_MAX];
- void *pData = NULL;
- DWORD dwFlags = ODM_SILENT;
- ODMSTATUS odm = NODMSaveAsEx(ContentProvider::getHandle(),
- NULL, // means it is saved the first time
- lpszNewDocId,
- pExtension,
- NULL, // no callback function here
- pData,
- &dwFlags);
-
- // check if we have to call the DMS dialog
- if(odm == ODM_E_USERINT)
- {
- dwFlags = 0;
- odm = NODMSaveAsEx(ContentProvider::getHandle(),
- NULL, // means it is saved the first time
- lpszNewDocId,
- pExtension,
- NULL, // no callback function here
- pData,
- &dwFlags);
- }
- bError = odm != ODM_SUCCESS;
- if(!bError)
- {
- aProp = new ContentProperties();
- aProp->m_sDocumentId = ::rtl::OString(lpszNewDocId);
- aProp->m_sContentType = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ODMA_CONTENT_TYPE));
- aProp->m_sSavedAsName = aTransferInfo.NewTitle;
- getContentProvider()->append(aProp);
-
- // now set the title
- WORD nDocInfo = ODM_NAME;
- ::rtl::OUString sFileName = aTransferInfo.NewTitle;
- sal_Int32 nIndex = aTransferInfo.NewTitle.lastIndexOf( sal_Unicode('.') );
- if(nIndex != -1)
- sFileName = aTransferInfo.NewTitle.copy(0,nIndex);
-
- ::rtl::OString sDocInfoValue = ::rtl::OUStringToOString(sFileName,RTL_TEXTENCODING_ASCII_US);
- odm = NODMSetDocInfo( ContentProvider::getHandle(),
- lpszNewDocId,
- nDocInfo,
- const_cast<sal_Char*>(sDocInfoValue.getStr())
- );
-
- }
- else if ( odm == ODM_E_CANCEL)
- ODMSTATUS odm = NODMActivate(ContentProvider::getHandle(),
- ODM_DELETE,
- lpszNewDocId);
-
- delete lpszNewDocId;
- }
- 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('/') );
- ::ucb::Content aContent(sFileURL.copy(0,nLastIndex),NULL);
- // aTransferInfo.NameClash = com::sun::star::ucb::NameClash::OVERWRITE;
- aTransferInfo.NewTitle = sFileURL.copy( 1 + nLastIndex );
- aContent.executeCommand(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("transfer")),uno::makeAny(aTransferInfo));
- getContentProvider()->saveDocument(aProp->m_sDocumentId);
- }
- else
- {
- //////////////////////////////////////////////////////////////////
- // Unsupported command
- //////////////////////////////////////////////////////////////////
-
- OSL_ENSURE( sal_False, "Content::execute - unsupported command!" );
-
- ucbhelper::cancelCommandExecution(
- uno::makeAny( star::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(RTL_CONSTASCII_USTRINGPARAM(ODMA_URL_SCHEME ODMA_URL_SHORT "/"));
- static ::rtl::OUString sScheme2(RTL_CONSTASCII_USTRINGPARAM(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< lang::XMultiServiceFactory >& rSMgr,
- const uno::Sequence< beans::Property >& rProperties,
- const ::vos::ORef<ContentProperties>& rData,
- const vos::ORef< ::ucb::ContentProviderImplHelper >& rProvider,
- const rtl::OUString& rContentId )
-{
- // Note: Empty sequence means "get values of all supported properties".
-
- rtl::Reference< ::ucb::PropertyValueSet > xRow
- = new ::ucb::PropertyValueSet( rSMgr );
-
- 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.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "ContentType" ) ) )
- {
- xRow->appendString ( rProp, rData->m_sContentType );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "Title" ) ) )
- {
- xRow->appendString ( rProp, rData->m_sTitle );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "IsDocument" ) ) )
- {
- xRow->appendBoolean( rProp, rData->m_bIsDocument );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "IsFolder" ) ) )
- {
- xRow->appendBoolean( rProp, rData->m_bIsFolder );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "DateCreated" ) ) )
- {
- xRow->appendTimestamp( rProp, rData->m_aDateCreated );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "DateModified" ) ) )
- {
- xRow->appendTimestamp( rProp, rData->m_aDateModified );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "IsReadOnly" ) ) )
- {
- xRow->appendBoolean( rProp, rData->m_bIsReadOnly );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "Author" ) ) )
- {
- xRow->appendString ( rProp, rData->m_sAuthor );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "Subject" ) ) )
- {
- xRow->appendString ( rProp, rData->m_sSubject );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "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::createFromAscii( "ContentType" ),
- -1,
- getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData->m_sContentType );
- xRow->appendString (
- beans::Property( rtl::OUString::createFromAscii( "Title" ),
- -1,
- getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
- beans::PropertyAttribute::BOUND ),
- rData->m_sTitle );
- xRow->appendBoolean(
- beans::Property( rtl::OUString::createFromAscii( "IsDocument" ),
- -1,
- getCppuBooleanType(),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData->m_bIsDocument );
- xRow->appendBoolean(
- beans::Property( rtl::OUString::createFromAscii( "IsFolder" ),
- -1,
- getCppuBooleanType(),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData->m_bIsFolder );
-
- // @@@ Append other properties supported directly.
- xRow->appendTimestamp(
- beans::Property( rtl::OUString::createFromAscii( "DateCreated" ),
- -1,
- getCppuType(static_cast< const com::sun::star::util::DateTime * >( 0 ) ),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData->m_aDateCreated );
- xRow->appendTimestamp(
- beans::Property( rtl::OUString::createFromAscii( "DateModified" ),
- -1,
- getCppuType(static_cast< const com::sun::star::util::DateTime * >( 0 ) ),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData->m_aDateModified );
- xRow->appendBoolean(
- beans::Property( rtl::OUString::createFromAscii( "IsReadOnly" ),
- -1,
- getCppuBooleanType(),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData->m_bIsReadOnly );
- xRow->appendString (
- beans::Property( rtl::OUString::createFromAscii( "Author" ),
- -1,
- getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
- beans::PropertyAttribute::BOUND ),
- rData->m_sAuthor );
- xRow->appendString (
- beans::Property( rtl::OUString::createFromAscii( "Subject" ),
- -1,
- getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
- beans::PropertyAttribute::BOUND ),
- rData->m_sSubject );
- xRow->appendString (
- beans::Property( rtl::OUString::createFromAscii( "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< star::ucb::XCommandEnvironment >& xEnv )
-{
- osl::Guard< osl::Mutex > aGuard( m_aMutex );
- return getPropertyValues( m_xSMgr,
- rProperties,
- m_aProps,
- vos::ORef<
- ::ucb::ContentProviderImplHelper >(
- m_xProvider.getBodyPtr() ),
- m_xIdentifier->getContentIdentifier() );
-}
-
-//=========================================================================
-uno::Sequence< uno::Any > Content::setPropertyValues(
- const uno::Sequence< beans::PropertyValue >& rValues,
- const uno::Reference< star::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< star::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.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "Title" ) ) )
- {
- changePropertyValue(rValue,n,m_aProps->m_sTitle,nChanged,aRet,aChanges);
- }
- else if ( rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "Author") ) )
- {
- changePropertyValue(rValue,n,m_aProps->m_sAuthor,nChanged,aRet,aChanges);
- }
- else if ( rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "Keywords") ) )
- {
- changePropertyValue(rValue,n,m_aProps->m_sKeywords,nChanged,aRet,aChanges);
- }
- else if ( rValue.Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM( "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(RTL_CONSTASCII_USTRINGPARAM(
- "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::createFromAscii(
- "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;
-}
-
-#if 0
-//=========================================================================
-void Content::queryChildren( ContentRefList& rChildren )
-{
- // @@@ Adapt method to your URL scheme...
-
- // Obtain a list with a snapshot of all currently instanciated contents
- // from provider and extract the contents which are direct children
- // of this content.
-
- ::ucb::ContentRefList aAllContents;
- m_xProvider->queryExistingContents( aAllContents );
-
- OUString aURL = m_xIdentifier->getContentIdentifier();
- sal_Int32 nPos = aURL.lastIndexOf( '/' );
-
- if ( nPos != ( aURL.getLength() - 1 ) )
- {
- // No trailing slash found. Append.
- aURL += OUString::createFromAscii( "/" );
- }
-
- sal_Int32 nLen = aURL.getLength();
-
- ::ucb::ContentRefList::const_iterator it = aAllContents.begin();
- ::ucb::ContentRefList::const_iterator end = aAllContents.end();
-
- while ( it != end )
- {
- ::ucb::ContentImplHelperRef xChild = (*it);
- OUString aChildURL = xChild->getIdentifier()->getContentIdentifier();
-
- // Is aURL a prefix of aChildURL?
- if ( ( aChildURL.getLength() > nLen ) &&
- ( aChildURL.compareTo( aURL, nLen ) == 0 ) )
- {
- sal_Int32 nPos = nLen;
- nPos = aChildURL.indexOf( '/', nPos );
-
- if ( ( nPos == -1 ) ||
- ( nPos == ( aChildURL.getLength() - 1 ) ) )
- {
- // No further slashes / only a final slash. It's a child!
- rChildren.push_back(
- ContentRef(
- static_cast< Content * >( xChild.getBodyPtr() ) ) );
- }
- }
- ++it;
- }
-}
-#endif
-//=========================================================================
-void Content::insert(
- const uno::Reference< io::XInputStream > & xInputStream,
- sal_Bool bReplaceExisting,
- const uno::Reference<
- com::sun::star::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_ENSURE( sal_False, "Content::insert - property value missing!" );
-
- uno::Sequence< rtl::OUString > aProps( 1 );
- aProps[ 0 ] = rtl::OUString::createFromAscii( "zzzz" );
- ucbhelper::cancelCommandExecution(
- uno::makeAny( star::ucb::MissingPropertiesException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- aProps ) ),
- Environment );
- // Unreachable
- }
-
- if ( !xInputStream.is() )
- {
- OSL_ENSURE( sal_False, "Content::insert - No data stream!" );
-
- ucbhelper::cancelCommandExecution(
- uno::makeAny( star::ucb::MissingInputStreamException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ) ) ),
- Environment );
- // Unreachable
- }
-
- // Assemble new content identifier...
-
- // uno::Reference< star::ucb::XContentIdentifier > xId = ...;
-
- // Fail, if a resource with given id already exists.
- if ( !bReplaceExisting ) // && hasData( m_xIdentifier ) )
- {
- ucbhelper::cancelCommandExecution(
- uno::makeAny( star::ucb::UnsupportedCommandException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ) ) ),
- Environment );
-// ucbhelper::cancelCommandExecution(
-// star::ucb::IOErrorCode_ALREADY_EXISTING,
-// Environment,
-// uno::makeAny(static_cast< cppu::OWeakObject * >( this ))
-// );
- // Unreachable
- }
-
- // m_xIdentifier = xId;
-
-// @@@
-// storeData();
-
- aGuard.clear();
- inserted();
-}
-#if 0
-//=========================================================================
-void Content::destroy( sal_Bool bDeletePhysical )
- throw( uno::Exception )
-{
- // @@@ take care about bDeletePhysical -> trashcan support
-
- uno::Reference< star::ucb::XContent > xThis = this;
-
- deleted();
-
- osl::Guard< osl::Mutex > aGuard( m_aMutex );
-
- // Process instanciated children...
-
- ContentRefList aChildren;
- queryChildren( aChildren );
-
- ContentRefList::const_iterator it = aChildren.begin();
- ContentRefList::const_iterator end = aChildren.end();
-
- while ( it != end )
- {
- (*it)->destroy( bDeletePhysical );
- ++it;
- }
-}
-#endif
-
-// -----------------------------------------------------------------------------
-::rtl::OUString Content::openDoc()
-{
- OSL_ENSURE(m_aProps.isValid(),"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;
- 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::createFromAscii(
- "Property value has wrong type!" ),
- static_cast< cppu::OWeakObject * >( this ) );
- }
-}
-// -----------------------------------------------------------------------------
-
diff --git a/ucb/source/ucp/odma/odma_content.hxx b/ucb/source/ucp/odma/odma_content.hxx
deleted file mode 100644
index 9f6c479ab8..0000000000
--- a/ucb/source/ucp/odma/odma_content.hxx
+++ /dev/null
@@ -1,234 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_content.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:58:09 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-// @@@ Adjust multi-include-protection-ifdef.
-#ifndef ODMA_CONTENT_HXX
-#define ODMA_CONTENT_HXX
-
-#include <list>
-
-#ifndef _UCBHELPER_CONTENTHELPER_HXX
-#include <ucbhelper/contenthelper.hxx>
-#endif
-
-namespace com { namespace sun { namespace star {
- namespace beans {
- struct Property;
- struct PropertyValue;
- }
- namespace sdbc {
- class XRow;
- }
- namespace io {
- class XInputStream;
- }
-}}}
-namespace ucb
-{
- 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 ::ucb::ContentImplHelper
-{
- ::vos::ORef<ContentProperties> m_aProps;
- ContentProvider* m_pProvider;
- ::ucb::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::lang::XMultiServiceFactory >& rxSMgr,
- ContentProvider* pProvider,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::ucb::XContentIdentifier >& Identifier,
- const ::vos::ORef<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::lang::XMultiServiceFactory >& rSMgr,
- const ::com::sun::star::uno::Sequence<
- ::com::sun::star::beans::Property >& rProperties,
- const ::vos::ORef<ContentProperties>& rData,
- const ::vos::ORef<
- ::ucb::ContentProviderImplHelper >& rProvider,
- const ::rtl::OUString& rContentId );
-
- ContentProvider* getContentProvider() const { return m_pProvider; }
-};
-
-}
-
-#endif
diff --git a/ucb/source/ucp/odma/odma_contentcaps.cxx b/ucb/source/ucp/odma/odma_contentcaps.cxx
deleted file mode 100644
index af8a51862b..0000000000
--- a/ucb/source/ucp/odma/odma_contentcaps.cxx
+++ /dev/null
@@ -1,300 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_contentcaps.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:58:18 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#ifndef _COM_SUN_STAR_BEANS_PROPERTY_HPP_
-#include <com/sun/star/beans/Property.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPP_
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_
-#include <com/sun/star/beans/PropertyValue.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_COMMANDINFO_HPP_
-#include <com/sun/star/ucb/CommandInfo.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_INSERTCOMMANDARGUMENT_HPP_
-#include <com/sun/star/ucb/InsertCommandArgument.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_OPENCOMMANDARGUMENT2_HPP_
-#include <com/sun/star/ucb/OpenCommandArgument2.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX_
-#include <com/sun/star/uno/Sequence.hxx>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_DATETIME_HPP_
-#include <com/sun/star/util/DateTime.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_TRANSFERINFO_HPP_
-#include <com/sun/star/ucb/TransferInfo.hpp>
-#endif
-#ifndef ODMA_CONTENT_HXX
-#include "odma_content.hxx"
-#endif
-
-using namespace com::sun;
-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< star::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 com::sun::star::util::DateTime * >( 0 ) ),
- beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY
- ),
- beans::Property(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DateModified" ) ),
- -1,
- getCppuType(static_cast< const com::sun::star::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< star::ucb::CommandInfo > Content::getCommands(
- const uno::Reference< star::ucb::XCommandEnvironment > & xEnv )
-{
- // @@@ Add additional commands...
-
-// osl::Guard< osl::Mutex > aGuard( m_aMutex );
-
- //=================================================================
- //
- // Supported commands
- //
- //=================================================================
-
- #define COMMAND_COUNT 8
-
- static star::ucb::CommandInfo aCommandInfoTable[] =
- {
- ///////////////////////////////////////////////////////////////
- // Required commands
- ///////////////////////////////////////////////////////////////
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getCommandInfo" ) ),
- -1,
- getCppuVoidType()
- ),
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getPropertySetInfo" ) ),
- -1,
- getCppuVoidType()
- ),
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getPropertyValues" ) ),
- -1,
- getCppuType(
- static_cast< uno::Sequence< beans::Property > * >( 0 ) )
- ),
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "setPropertyValues" ) ),
- -1,
- getCppuType(
- static_cast< uno::Sequence< beans::PropertyValue > * >( 0 ) )
- ),
- ///////////////////////////////////////////////////////////////
- // Optional standard commands
- ///////////////////////////////////////////////////////////////
-/*
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "delete" ) ),
- -1,
- getCppuBooleanType()
- ),
-*/
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "insert" ) ),
- -1,
- getCppuType(
- static_cast< star::ucb::InsertCommandArgument * >( 0 ) )
- ),
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "open" ) ),
- -1,
- getCppuType( static_cast< star::ucb::OpenCommandArgument2 * >( 0 ) )
- ),
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "close" ) ),
- -1,
- getCppuVoidType( )
- ),
- star::ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "transfer" ) ),
- -1,
- getCppuType( static_cast< star::ucb::TransferInfo * >( 0 ) )
- )
-
- ///////////////////////////////////////////////////////////////
- // New commands
- ///////////////////////////////////////////////////////////////
- };
-
- return uno::Sequence<
- star::ucb::CommandInfo >( aCommandInfoTable, COMMAND_COUNT );
-}
-
diff --git a/ucb/source/ucp/odma/odma_contentprops.hxx b/ucb/source/ucp/odma/odma_contentprops.hxx
deleted file mode 100644
index 22ee1ec9db..0000000000
--- a/ucb/source/ucp/odma/odma_contentprops.hxx
+++ /dev/null
@@ -1,127 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_contentprops.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:58:32 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-#ifndef ODMA_CONTENTPROPS_HXX
-#define ODMA_CONTENTPROPS_HXX
-
-#ifndef _VOS_REFERNCE_HXX_
-#include <vos/refernce.hxx>
-#endif
-#ifndef _VOS_REF_HXX_
-#include <vos/ref.hxx>
-#endif
-#ifndef _RTL_USTRING_HXX_
-#include <rtl/ustring.hxx>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_DATETIME_HPP_
-#include <com/sun/star/util/DateTime.hpp>
-#endif
-#include <functional>
-
-namespace odma
-{
- class ContentProperties : public ::vos::OReference
- {
- 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 getSavedAsName() const { return m_sSavedAsName; }
- };
- typedef ::std::binary_function< ::vos::ORef<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 ::vos::ORef<ContentProperties>& lhs,const ::rtl::OUString& rhs) const
- {
- return !!(m_aFunction(lhs.getBodyPtr()) == rhs);
- }
- };
-}
-#endif // ODMA_CONTENTPROPS_HXX
-
diff --git a/ucb/source/ucp/odma/odma_datasupplier.cxx b/ucb/source/ucp/odma/odma_datasupplier.cxx
deleted file mode 100644
index 47e0a0287b..0000000000
--- a/ucb/source/ucp/odma/odma_datasupplier.cxx
+++ /dev/null
@@ -1,502 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_datasupplier.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:58:43 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#include <vector>
-
-#ifndef _UCBHELPER_CONTENTIDENTIFIER_HXX
-#include <ucbhelper/contentidentifier.hxx>
-#endif
-#ifndef _UCBHELPER_PROVIDERHELPER_HXX
-#include <ucbhelper/providerhelper.hxx>
-#endif
-
-#ifndef ODMA_DATASUPPLIER_HXX
-#include "odma_datasupplier.hxx"
-#endif
-#ifndef ODMA_CONTENT_HXX
-#include "odma_content.hxx"
-#endif
-#ifndef ODMA_CONTENTPROPS_HXX
-#include "odma_contentprops.hxx"
-#endif
-#ifndef ODMA_PROVIDER_HXX
-#include "odma_provider.hxx"
-#endif
-#ifndef ODMA_LIB_HXX
-#include "odma_lib.hxx"
-#endif
-
-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 ucb;
-
-using namespace odma;
-
-namespace odma
-{
-
-//=========================================================================
-//
-// struct ResultListEntry.
-//
-//=========================================================================
-
-struct ResultListEntry
-{
- ::rtl::OUString aId;
- Reference< XContentIdentifier > xId;
- Reference< XContent > xContent;
- Reference< XRow > xRow;
- ::vos::ORef<ContentProperties> rData;
-
- ResultListEntry( const ::vos::ORef<ContentProperties>& rEntry ) : rData( rEntry ) {}
-};
-
-//=========================================================================
-//
-// ResultList.
-//
-//=========================================================================
-
-typedef std::vector< ResultListEntry* > ResultList;
-
-//=========================================================================
-//
-// struct DataSupplier_Impl.
-//
-//=========================================================================
-
-struct DataSupplier_Impl
-{
- osl::Mutex m_aMutex;
- ResultList m_aResults;
- vos::ORef< 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 vos::ORef< 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 vos::ORef< ::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 ucb::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';
-
- ::rtl::OString sQuery("SELECT ODM_DOCID, ODM_NAME");
-
- DWORD dwFlags = ODM_SPECIFIC;
- odm = NODMQueryExecute(ContentProvider::getHandle(), sQuery,dwFlags, lpszDMSList, pQueryId );
- if(odm != ODM_SUCCESS)
- 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)
- {
- ::vos::ORef<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;
-
- vos::ORef< ResultSet > xResultSet = getResultSet();
- if ( xResultSet.isValid() )
- {
- // 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;
-
- vos::ORef< ResultSet > xResultSet = getResultSet();
- if ( xResultSet.isValid() )
- {
- // 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(
- 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 )
-{
-}
diff --git a/ucb/source/ucp/odma/odma_datasupplier.hxx b/ucb/source/ucp/odma/odma_datasupplier.hxx
deleted file mode 100644
index 8a8f9feb02..0000000000
--- a/ucb/source/ucp/odma/odma_datasupplier.hxx
+++ /dev/null
@@ -1,110 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_datasupplier.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:58:55 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef ODMA_DATASUPPLIER_HXX
-#define ODMA_DATASUPPLIER_HXX
-
-#ifndef _UCBHELPER_RESULTSET_HXX
-#include <ucbhelper/resultset.hxx>
-#endif
-
-namespace odma {
-
-struct DataSupplier_Impl;
-class Content;
-
-class DataSupplier : public ucb::ResultSetDataSupplier
-{
- DataSupplier_Impl* m_pImpl;
-
-public:
- DataSupplier( const com::sun::star::uno::Reference<
- com::sun::star::lang::XMultiServiceFactory >& rxSMgr,
- const vos::ORef< 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
diff --git a/ucb/source/ucp/odma/odma_inputstream.cxx b/ucb/source/ucp/odma/odma_inputstream.cxx
deleted file mode 100644
index bf9a59a298..0000000000
--- a/ucb/source/ucp/odma/odma_inputstream.cxx
+++ /dev/null
@@ -1,336 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_inputstream.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:59:03 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef ODMA_INPUTSTREAM_HXX
-#include "odma_inputstream.hxx"
-#endif
-#ifndef _COM_SUN_STAR_IO_IOEXCEPTION_HPP_
-#include "com/sun/star/io/IOException.hpp"
-#endif
-#ifndef _COM_SUN_STAR_UCB_OPENCOMMANDARGUMENT2_HPP_
-#include <com/sun/star/ucb/OpenCommandArgument2.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UCB_OPENMODE_HPP_
-#include <com/sun/star/ucb/OpenMode.hpp>
-#endif
-#ifndef _UCBHELPER_CONTENT_HXX
-#include <ucbhelper/content.hxx>
-#endif
-#ifndef _COM_SUN_STAR_IO_XACTIVEDATASTREAMER_HPP_
-#include <com/sun/star/io/XActiveDataStreamer.hpp>
-#endif
-#ifndef _CPPUHELPER_IMPLBASE1_HXX_
-#include <cppuhelper/implbase1.hxx>
-#endif
-#ifndef ODMA_CONTENTPROPS_HXX
-#include "odma_contentprops.hxx"
-#endif
-#ifndef ODMA_PROVIDER_HXX
-#include "odma_provider.hxx"
-#endif
-
-using namespace odma;
-using namespace com::sun::star;
-
-class OActiveDataStreamer : public ::cppu::WeakImplHelper1< ::com::sun::star::io::XActiveDataStreamer>
-{
- ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > m_xStream;
-public:
- OActiveDataStreamer(){}
- virtual void SAL_CALL setStream( const ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream >& _rStream ) throw (::com::sun::star::uno::RuntimeException)
- {
- m_xStream = _rStream;
- }
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > SAL_CALL getStream( ) throw (::com::sun::star::uno::RuntimeException)
- {
- return m_xStream;
- }
-};
-// -----------------------------------------------------------------------------
-OOdmaStream::OOdmaStream(::ucb::Content* _pContent,
- ContentProvider* _pProvider,
- const ::vos::ORef<ContentProperties>& _rProp)
- :m_pContent(_pContent)
- ,m_bInputStreamCalled(sal_False)
- ,m_bOutputStreamCalled(sal_False)
- ,m_bModified(sal_False)
- ,m_pProvider(_pProvider)
- ,m_aProp(_rProp)
-{
-}
-// -----------------------------------------------------------------------------
-OOdmaStream::~OOdmaStream()
-{
- try
- {
- closeStream();
- delete m_pContent;
- }
- catch (io::IOException const &)
- {
- OSL_ENSURE(false, "unexpected situation");
- }
- catch (uno::RuntimeException const &)
- {
- OSL_ENSURE(false, "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())
- {
- ::com::sun::star::ucb::OpenCommandArgument2 aCommand;
- aCommand.Mode = ::com::sun::star::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( com::sun::star::io::IOException,
- com::sun::star::uno::RuntimeException )
-{
- if(m_xTruncate.is())
- m_xTruncate->truncate();
-}
-// -----------------------------------------------------------------------------
-// XSeekable
-void SAL_CALL OOdmaStream::seek(sal_Int64 location )
- throw( com::sun::star::lang::IllegalArgumentException,
- com::sun::star::io::IOException,
- com::sun::star::uno::RuntimeException )
-{
- ensureInputStream();
- if(m_xInputSeek.is())
- m_xInputSeek->seek(location);
-}
-// -----------------------------------------------------------------------------
-sal_Int64 SAL_CALL OOdmaStream::getPosition()
- throw( com::sun::star::io::IOException,
- com::sun::star::uno::RuntimeException )
-{
- ensureInputStream();
- return m_xInputSeek.is() ? m_xInputSeek->getPosition() : sal_Int64(0);
-}
-// -----------------------------------------------------------------------------
-sal_Int64 SAL_CALL OOdmaStream::getLength()
- throw( com::sun::star::io::IOException,
- com::sun::star::uno::RuntimeException )
-{
- ensureInputStream();
- return m_xInputSeek.is() ? m_xInputSeek->getLength() : sal_Int64(0);
-}
-// ----------------------------------------------------------------------------- \ No newline at end of file
diff --git a/ucb/source/ucp/odma/odma_inputstream.hxx b/ucb/source/ucp/odma/odma_inputstream.hxx
deleted file mode 100644
index c90a79c07e..0000000000
--- a/ucb/source/ucp/odma/odma_inputstream.hxx
+++ /dev/null
@@ -1,187 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_inputstream.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:59:14 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef ODMA_INPUTSTREAM_HXX
-#define ODMA_INPUTSTREAM_HXX
-
-#ifndef _OSL_MUTEX_HXX_
-#include <osl/mutex.hxx>
-#endif
-#ifndef _COM_SUN_STAR_IO_XINPUTSTREAM_HPP_
-#include <com/sun/star/io/XInputStream.hpp>
-#endif
-#ifndef _COM_SUN_STAR_IO_XSTREAM_HPP_
-#include <com/sun/star/io/XStream.hpp>
-#endif
-#ifndef _COM_SUN_STAR_IO_XOUTPUTSTREAM_HPP_
-#include <com/sun/star/io/XOutputStream.hpp>
-#endif
-#ifndef _COM_SUN_STAR_IO_XTRUNCATE_HPP_
-#include <com/sun/star/io/XTruncate.hpp>
-#endif
-#ifndef _COM_SUN_STAR_IO_XSEEKABLE_HPP_
-#include <com/sun/star/io/XSeekable.hpp>
-#endif
-#ifndef _CPPUHELPER_IMPLBASE5_HXX_
-#include <cppuhelper/implbase5.hxx>
-#endif
-#ifndef _VOS_REF_HXX_
-#include <vos/ref.hxx>
-#endif
-
-namespace ucb
-{
- 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;
-
- ::vos::ORef<ContentProperties> m_aProp;
- ::ucb::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(::ucb::Content* _pContent,
- ContentProvider* _pProvider,
- const ::vos::ORef<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
diff --git a/ucb/source/ucp/odma/odma_lib.cxx b/ucb/source/ucp/odma/odma_lib.cxx
deleted file mode 100644
index c0328e483d..0000000000
--- a/ucb/source/ucp/odma/odma_lib.cxx
+++ /dev/null
@@ -1,170 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_lib.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:59:26 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-//#ifndef _OSL_PROCESS_H_
-//#include <osl/process.h>
-//#endif
-#ifndef _OSL_MODULE_H_
-#include <osl/module.h>
-#endif
-#ifndef _RTL_USTRING_HXX_
-#include <rtl/ustring.hxx>
-#endif
-#ifndef ODMA_LIB_HXX
-#include "odma_lib.hxx"
-#endif
-
-
-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 LoadLibrary()
- {
- static sal_Bool bLoaded = sal_False;
- static oslModule pODMA = NULL;
-
- if (bLoaded)
- return sal_True;
- ::rtl::OUString sPath;
- #ifdef WIN
- sPath = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ODMA.DLL"));
-
- #endif
- #ifdef WNT
- sPath = ::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;
-
- return bLoaded = LoadFunctions(pODMA);
- }
- // -------------------------------------------------------------------------
-
- 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;
- }
-}
diff --git a/ucb/source/ucp/odma/odma_lib.hxx b/ucb/source/ucp/odma/odma_lib.hxx
deleted file mode 100644
index 94c227bddd..0000000000
--- a/ucb/source/ucp/odma/odma_lib.hxx
+++ /dev/null
@@ -1,308 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_lib.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:59:35 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an AS IS basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-#ifndef ODMA_LIB_HXX
-#define ODMA_LIB_HXX
-
-typedef void *LPVOID;
-typedef char *LPSTR,
- *PSTR;
-typedef const char *LPCSTR;
-typedef unsigned long DWORD;
-typedef unsigned short WORD;
-typedef unsigned short *LPWORD;
-typedef DWORD *LPDWORD;
-
-#define WINAPI __stdcall
-#define FAR
-
-#ifndef ODMA_H
-#include "odma.h"
-#endif
-
-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) (*(pODMRegisterApp))(a,b,c,d,e)
- #define NODMUnRegisterApp(a) (*(pODMUnRegisterApp))(a)
- #define NODMSelectDoc(a,b,c) (*(pODMSelectDoc))(a,b,c)
- #define NODMOpenDoc(a,b,c,d) (*(pODMOpenDoc))(a,b,c,d)
- #define NODMSaveDoc(a,b,c) (*(pODMSaveDoc))(a,b,c)
- #define NODMCloseDoc(a,b,c,d,e,f) (*(pODMCloseDoc))(a,b,c,d,e,f)
- #define NODMNewDoc(a,b,c,d,e) (*(pODMNewDoc))(a,b,c,d,e)
- #define NODMSaveAs(a,b,c,d,e,f) (*(pODMSaveAs))(a,b,c,d,e,f)
- #define NODMActivate(a,b,c) (*(pODMActivate))(a,b,c)
- #define NODMGetDocInfo(a,b,c,d,e) (*(pODMGetDocInfo))(a,b,c,d,e)
- #define NODMSetDocInfo(a,b,c,d) (*(pODMSetDocInfo))(a,b,c,d)
- #define NODMGetDMSInfo(a,b,c,d) (*(pODMGetDMSInfo))(a,b,c,d)
- #define NODMGetDMSCount() (*(pODMGetDMSCount))()
- #define NODMGetDMSList(a,b) (*(pODMGetDMSList))(a,b)
- #define NODMGetDMS(a,b) (*(pODMGetDMS))(a,b)
- #define NODMSetDMS(a,b) (*(pODMSetDMS))(a,b)
- #define NODMQueryExecute(a,b,c,d,e) (*(pODMQueryExecute))(a,b,c,d,e)
- #define NODMQueryGetResults(a,b,c,d,e,f) (*(pODMQueryGetResults))(a,b,c,d,e,f)
- #define NODMQueryClose(a,b) (*(pODMQueryClose))(a,b)
- #define NODMCloseDocEx(a,b,c,d,e,f,g) (*(pODMCloseDocEx))(a,b,c,d,e,f,g)
- #define NODMSaveAsEx(a,b,c,d,e,f,g) (*(pODMSaveAsEx))(a,b,c,d,e,f,g)
- #define NODMSaveDocEx(a,b,c,d) (*(pODMSaveDocEx))(a,b,c,d)
- #define NODMSelectDocEx(a,b,c,d,e,f) (*(pODMSelectDocEx))(a,b,c,d,e,f)
- #define NODMQueryCapability(a,b,c,d,e) (*(pODMQueryCapability))(a,b,c,d,e)
- #define NODMSetDocEvent(a,b,c,d,e,f,g) (*(pODMSetDocEvent))(a,b,c,d,e,f,g)
- #define NODMGetAlternateContent(a,b,c,d,e) (*(pODMGetAlternateContent))(a,b,c,d,e)
- #define NODMSetAlternateContent(a,b,c,d,e) (*(pODMSetAlternateContent))(a,b,c,d,e)
- #define NODMGetDocRelation(a,b,c,d,e,f) (*(pODMGetDocRelation))(a,b,c,d,e,f)
- #define NODMSetDocRelation(a,b,c,d,e,f) (*(pODMSetDocRelation))(a,b,c,d,e,f)
-
- sal_Bool LoadLibrary();
-
- 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
diff --git a/ucb/source/ucp/odma/odma_main.cxx b/ucb/source/ucp/odma/odma_main.cxx
deleted file mode 100644
index 6f0b46ca4e..0000000000
--- a/ucb/source/ucp/odma/odma_main.cxx
+++ /dev/null
@@ -1,110 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_main.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:59:44 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-#ifndef _VOS_PROCESS_HXX_
-#include <vos/process.hxx>
-#endif
-#ifndef _OSL_PROCESS_H_
-#include <osl/process.h>
-#endif
-#ifndef ODMA_PROVIDER_HXX
-#include "odma_provider.hxx"
-#endif
-
-#ifdef WNT
-#define SOFFICE "soffice.exe"
-#else
-#define SOFFICE "soffice"
-#endif
-
-using namespace vos;
-
-/** our main program to convert ODMAIDs to URLs
-*/
-
-#if (defined UNX) || (defined OS2)
-void main( int argc, char * argv[] )
-#else
-void _cdecl main( int argc, char * argv[] )
-#endif
-{
- static ::rtl::OUString sProcess(RTL_CONSTASCII_USTRINGPARAM(SOFFICE));
- if(argc > 1) // only chang when argument is docid
- {
- ::rtl::OUString* pArguments = new ::rtl::OUString[argc-1];
- for(int i = 1; i < argc;++i)
- {
- pArguments[i] = ::rtl::OUString::createFromAscii(argv[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;
- }
- }
- {
- OArgumentList aList(pArguments,argc-1);
- OProcess aProcess( sProcess );
- aProcess.execute(OProcess::TOption_Detached,aList);
- }
- delete [] pArguments;
- }
-}
-
diff --git a/ucb/source/ucp/odma/odma_provider.cxx b/ucb/source/ucp/odma/odma_provider.cxx
deleted file mode 100644
index c8b332d663..0000000000
--- a/ucb/source/ucp/odma/odma_provider.cxx
+++ /dev/null
@@ -1,651 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_provider.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 14:59:52 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#ifndef _VOS_DIAGNOSE_HXX_
-#include <vos/diagnose.hxx>
-#endif
-#ifndef _UCBHELPER_CONTENTIDENTIFIER_HXX
-#include <ucbhelper/contentidentifier.hxx>
-#endif
-#ifndef ODMA_PROVIDER_HXX
-#include "odma_provider.hxx"
-#endif
-#ifndef ODMA_CONTENT_HXX
-#include "odma_content.hxx"
-#endif
-#ifndef ODMA_CONTENTPROPS_HXX
-#include "odma_contentprops.hxx"
-#endif
-#ifndef _COM_SUN_STAR_UTIL_DATE_HPP_
-#include <com/sun/star/util/Date.hpp>
-#endif
-#ifndef _COM_SUN_STAR_UTIL_TIME_HPP_
-#include <com/sun/star/util/Time.hpp>
-#endif
-#ifndef _RTL_URI_HXX_
-#include <rtl/uri.hxx>
-#endif
-#include <algorithm>
-#ifndef _OSL_FILE_HXX_
-#include <osl/file.hxx>
-#endif
-
-using namespace com::sun;
-using namespace com::sun::star;
-using namespace odma;
-
-//=========================================================================
-//=========================================================================
-//
-// ContentProvider Implementation.
-//
-//=========================================================================
-//=========================================================================
-ODMHANDLE ContentProvider::m_aOdmHandle = NULL;
-
-ContentProvider::ContentProvider(
- const uno::Reference< lang::XMultiServiceFactory >& rSMgr )
-: ::ucb::ContentProviderImplHelper( rSMgr )
-{
-
-}
-
-//=========================================================================
-// virtual
-ContentProvider::~ContentProvider()
-{
- ContentsMap::iterator aIter = m_aContents.begin();
- for (;aIter != m_aContents.begin() ;++aIter )
- {
- if(aIter->second->m_bIsOpen)
- closeDocument(aIter->first);
- }
- if(m_aOdmHandle)
- {
- NODMUnRegisterApp(m_aOdmHandle);
- m_aOdmHandle = NULL;
- }
-}
-// -----------------------------------------------------------------------------
-ODMHANDLE ContentProvider::getHandle()
-{
- if(!m_aOdmHandle)
- {
- ODMSTATUS odm = NODMRegisterApp(&m_aOdmHandle,ODM_API_VERSION,ODMA_ODMA_REGNAME,NULL,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,
- star::ucb::XContentProvider );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// @@@ Add own interfaces.
-XTYPEPROVIDER_IMPL_3( ContentProvider,
- lang::XTypeProvider,
- lang::XServiceInfo,
- star::ucb::XContentProvider );
-
-//=========================================================================
-//
-// XServiceInfo methods.
-//
-//=========================================================================
-
-// @@@ Adjust implementation name. Keep the prefix "com.sun.star.comp."!
-// @@@ Adjust service name.
-XSERVICEINFO_IMPL_1( ContentProvider,
- rtl::OUString::createFromAscii(
- "com.sun.star.comp.odma.ContentProvider" ),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ODMA_CONTENT_PROVIDER_SERVICE_NAME) ) );
-
-//=========================================================================
-//
-// Service factory implementation.
-//
-//=========================================================================
-
-ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider );
-
-//=========================================================================
-//
-// XContentProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Reference< star::ucb::XContent > SAL_CALL ContentProvider::queryContent(
- const uno::Reference< star::ucb::XContentIdentifier >& Identifier )
- throw( star::ucb::IllegalIdentifierException, uno::RuntimeException )
-{
- // Check URL scheme...
- if(!getHandle())
- throw star::ucb::IllegalIdentifierException();
-
- rtl::OUString aScheme( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(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 star::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 star::ucb::IllegalIdentifierException();
-
- // @@@ Further id checks may go here...
-#if 0
- if ( id-check-failes )
- throw star::ucb::IllegalIdentifierException();
-#endif
-
- // @@@ Id normalization may go here...
-#if 0
- // Normalize URL and create new Id.
- rtl::OUString aCanonicURL = ( Identifier->getContentIdentifier() );
- uno::Reference< star::ucb::XContentIdentifier > xCanonicId
- = new ::ucb::ContentIdentifier( m_xSMgr, aCanonicURL );
-#else
- uno::Reference< star::ucb::XContentIdentifier > xCanonicId = Identifier;
-#endif
-
- vos::OGuard aGuard( m_aMutex );
-
- // Check, if a content with given id already exists...
- uno::Reference< star::ucb::XContent > xContent
- = queryExistingContent( xCanonicId ).getBodyPtr();
- 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. Note that the content will insert itself
- // into providers content list by calling addContent(...) from it's ctor.
-
- sCanonicURL = convertURL(sCanonicURL);
-
- ::vos::ORef<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(RTL_CONSTASCII_USTRINGPARAM(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.isValid())
- aProp = getContentPropertyWithSavedAsName(sCanonicURL);
- if(!aProp.isValid())
- {
- 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.isValid())
- throw star::ucb::IllegalIdentifierException();
-
- xContent = new Content( m_xSMgr, this, xCanonicId ,aProp);
-
- if ( !xContent->getIdentifier().is() )
- throw star::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 ::vos::ORef<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);
-
-/*
- odm = NODMGetDocInfo( getHandle(),
- const_cast<sal_Char*>(_rProp->m_sDocumentId.getStr()),
- ODM_URL,
- lpszDocInfo,
- ODM_DOCID_MAX);
-*/
- delete lpszDocInfo;
-}
-// -----------------------------------------------------------------------------
-void ContentProvider::append(const ::vos::ORef<ContentProperties>& _rProp)
-{
- // now fill some more properties
- fillDocumentProperties(_rProp);
- // and append them
- m_aContents.insert(ContentsMap::value_type(_rProp->m_sDocumentId,_rProp));
-}
-// -----------------------------------------------------------------------------
-::vos::ORef<ContentProperties> ContentProvider::queryContentProperty(const ::rtl::OUString& _sDocumentName)
-{
- ::vos::ORef<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, ODM_NAME WHERE ODM_TITLETEXT = '");
- sQuery += sTitleText;
- sQuery += "'";
-
- DWORD dwFlags = ODM_SPECIFIC;
- odm = NODMQueryExecute(getHandle(), sQuery,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(RTL_CONSTASCII_USTRINGPARAM(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;
-}
-// -----------------------------------------------------------------------------
-::vos::ORef<ContentProperties> ContentProvider::getContentProperty(const ::rtl::OUString& _sName,
- const ContentPropertiesMemberFunctor& _aFunctor) const
-{
- ::vos::ORef<ContentProperties> aReturn;
- ContentsMap::const_iterator aFind = ::std::find_if( m_aContents.begin(),
- m_aContents.end(),
- ::std::compose1(
- ::std::bind2nd(_aFunctor,_sName),
- ::std::select2nd<ContentsMap::value_type>()
- )
- );
- if(aFind != m_aContents.end())
- aReturn = aFind->second;
- return aReturn;
-}
-// -----------------------------------------------------------------------------
-::vos::ORef<ContentProperties> ContentProvider::getContentPropertyWithSavedAsName(const ::rtl::OUString& _sSaveAsName) const
-{
- ContentPropertiesMemberFunctor aFunc(::std::mem_fun(&ContentProperties::getSavedAsName));
- return getContentProperty(_sSaveAsName,aFunc);
-}
-// -----------------------------------------------------------------------------
-::vos::ORef<ContentProperties> ContentProvider::getContentPropertyWithTitle(const ::rtl::OUString& _sTitle) const
-{
- ContentPropertiesMemberFunctor aFunc(::std::mem_fun(&ContentProperties::getTitle));
- return getContentProperty(_sTitle,aFunc);
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString ContentProvider::openDoc(const ::vos::ORef<ContentProperties>& _rProp) throw (::com::sun::star::uno::Exception)
-{
- OSL_ENSURE(_rProp.isValid(),"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(RTL_CONSTASCII_USTRINGPARAM("/"));
-
- 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(RTL_CONSTASCII_USTRINGPARAM("/"));
- }
- return sCanonicURL;
-}
-// -----------------------------------------------------------------------------
-sal_Bool ContentProvider::deleteDocument(const ::vos::ORef<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;
-}
-// -----------------------------------------------------------------------------
diff --git a/ucb/source/ucp/odma/odma_provider.hxx b/ucb/source/ucp/odma/odma_provider.hxx
deleted file mode 100644
index 136365b9e2..0000000000
--- a/ucb/source/ucp/odma/odma_provider.hxx
+++ /dev/null
@@ -1,217 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_provider.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 15:00:00 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-// @@@ Adjust multi-include-protection-ifdef.
-#ifndef ODMA_PROVIDER_HXX
-#define ODMA_PROVIDER_HXX
-
-#ifndef _UCBHELPER_PROVIDERHELPER_HXX
-#include <ucbhelper/providerhelper.hxx>
-#endif
-#ifndef ODMA_LIB_HXX
-#include "odma_lib.hxx"
-#endif
-#ifndef _VOS_REF_HXX_
-#include <vos/ref.hxx>
-#endif
-#include <map>
-#ifndef ODMA_CONTENTPROPS_HXX
-#include "odma_contentprops.hxx"
-#endif
-// @@@ Adjust namespace name.
-namespace odma {
-
-//=========================================================================
-
-// @@@ Adjust defines.
-
-// 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 ::ucb::ContentProviderImplHelper
-{
- typedef ::std::map< ::rtl::OString, ::vos::ORef<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 ::vos::ORef<ContentProperties>& _rProp);
-
- /**
- */
- ::vos::ORef<ContentProperties> getContentProperty(const ::rtl::OUString& _sName,
- const ContentPropertiesMemberFunctor& _aFunctor) const;
-public:
- ContentProvider( const ::com::sun::star::uno::Reference<
- ::com::sun::star::lang::XMultiServiceFactory >& rSMgr );
- 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 ::vos::ORef<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
- */
- ::vos::ORef<ContentProperties> queryContentProperty(const ::rtl::OUString& _sDocumentName);
-
- /** getContentProperty returns the ContentProperties for the first content with that title
- @param _sTitle the title of the document
-
- @return the content properties
- */
- ::vos::ORef<ContentProperties> getContentPropertyWithTitle(const ::rtl::OUString& _sTitle) const;
-
- /** getContentProperty returns the ContentProperties for the first content with that SavedAsName
- @param _sSaveAsName the SavedAsName of the document
-
- @return the content properties
- */
- ::vos::ORef<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 ::vos::ORef<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 ::vos::ORef<ContentProperties>& _rProp);
-};
-
-}
-
-#endif
diff --git a/ucb/source/ucp/odma/odma_resultset.cxx b/ucb/source/ucp/odma/odma_resultset.cxx
deleted file mode 100644
index 71406cfce3..0000000000
--- a/ucb/source/ucp/odma/odma_resultset.cxx
+++ /dev/null
@@ -1,135 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_resultset.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 15:00:07 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- - This implementation is not a dynamic result set!!! It only implements
- the necessary interfaces, but never recognizes/notifies changes!!!
-
- *************************************************************************/
-
-// @@@ Adjust multi-include-protection-ifdef and header file name.
-#ifndef ODMA_DATASUPPLIER_HXX
-#include "odma_datasupplier.hxx"
-#endif
-// @@@ Adjust multi-include-protection-ifdef and header file name.
-#ifndef ODMA_RESULTSET_HXX
-#include "odma_resultset.hxx"
-#endif
-
-using namespace com::sun::star::lang;
-using namespace com::sun::star::ucb;
-using namespace com::sun::star::uno;
-
-// @@@ Adjust namespace name.
-using namespace odma;
-
-//=========================================================================
-//=========================================================================
-//
-// DynamicResultSet Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-DynamicResultSet::DynamicResultSet(
- const Reference< XMultiServiceFactory >& rxSMgr,
- const vos::ORef< Content >& rxContent,
- const OpenCommandArgument2& rCommand,
- const Reference< XCommandEnvironment >& rxEnv )
-: ResultSetImplHelper( rxSMgr, rCommand ),
- m_xContent( rxContent ),
- m_xEnv( rxEnv )
-{
-}
-
-//=========================================================================
-//
-// Non-interface methods.
-//
-//=========================================================================
-
-void DynamicResultSet::initStatic()
-{
- m_xResultSet1
- = new ::ucb::ResultSet( m_xSMgr,
- m_aCommand.Properties,
- new DataSupplier( m_xSMgr,
- m_xContent,
- m_aCommand.Mode ),
- m_xEnv );
-}
-
-//=========================================================================
-void DynamicResultSet::initDynamic()
-{
- m_xResultSet1
- = new ::ucb::ResultSet( m_xSMgr,
- m_aCommand.Properties,
- new DataSupplier( m_xSMgr,
- m_xContent,
- m_aCommand.Mode ),
- m_xEnv );
- m_xResultSet2 = m_xResultSet1;
-}
-
diff --git a/ucb/source/ucp/odma/odma_resultset.hxx b/ucb/source/ucp/odma/odma_resultset.hxx
deleted file mode 100644
index 5b4eb44f67..0000000000
--- a/ucb/source/ucp/odma/odma_resultset.hxx
+++ /dev/null
@@ -1,103 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_resultset.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 15:00:13 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-// @@@ Adjust multi-include-protection-ifdef.
-#ifndef ODMA_RESULTSET_HXX
-#define ODMA_RESULTSET_HXX
-
-#ifndef _UCBHELPER_RESULTSETHELPER_HXX
-#include <ucbhelper/resultsethelper.hxx>
-#endif
-#ifndef _VOS_REF_HXX_
-#include <vos/ref.hxx>
-#endif
-
-// @@@ Adjust multi-include-protection-ifdef and header file name.
-#ifndef ODMA_CONTENT_HXX
-#include "odma_content.hxx"
-#endif
-
-// @@@ Adjust namespace name.
-namespace odma {
-
-class DynamicResultSet : public ::ucb::ResultSetImplHelper
-{
- vos::ORef< 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::lang::XMultiServiceFactory >& rxSMgr,
- const vos::ORef< Content >& rxContent,
- const com::sun::star::ucb::OpenCommandArgument2& rCommand,
- const com::sun::star::uno::Reference<
- com::sun::star::ucb::XCommandEnvironment >& rxEnv );
-};
-
-}
-
-#endif
diff --git a/ucb/source/ucp/odma/odma_services.cxx b/ucb/source/ucp/odma/odma_services.cxx
deleted file mode 100644
index fe6a27aa32..0000000000
--- a/ucb/source/ucp/odma/odma_services.cxx
+++ /dev/null
@@ -1,183 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: odma_services.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: oj $ $Date: 2002-01-14 15:00:20 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#endif
-#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#endif
-#ifndef _COM_SUN_STAR_REGISTRY_XREGISTRYKEY_HPP_
-#include <com/sun/star/registry/XRegistryKey.hpp>
-#endif
-
-#ifndef ODMA_CONTENTPROPS_HXX
-#include "odma_contentprops.hxx"
-#endif
-#ifndef ODMA_PROVIDER_HXX
-#include "odma_provider.hxx"
-#endif
-#ifndef ODMA_LIB_HXX
-#include "odma_lib.hxx"
-#endif
-
-using namespace rtl;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-
-//=========================================================================
-static sal_Bool writeInfo( void * pRegistryKey,
- const OUString & rImplementationName,
- Sequence< OUString > const & rServiceNames )
-{
- OUString aKeyName( OUString::createFromAscii( "/" ) );
- aKeyName += rImplementationName;
- aKeyName += OUString::createFromAscii( "/UNO/SERVICES" );
-
- Reference< XRegistryKey > xKey;
- try
- {
- xKey = static_cast< XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( InvalidRegistryException const & )
- {
- }
-
- if ( !xKey.is() )
- return sal_False;
-
- sal_Bool bSuccess = sal_True;
-
- for ( sal_Int32 n = 0; n < rServiceNames.getLength(); ++n )
- {
- try
- {
- xKey->createKey( rServiceNames[ n ] );
- }
- catch ( InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-//=========================================================================
-extern "C" void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Write info into registry.
- //////////////////////////////////////////////////////////////////////
-
- // @@@ Adjust namespace names.
- writeInfo( pRegistryKey,
- ::odma::ContentProvider::getImplementationName_Static(),
- ::odma::ContentProvider::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
-extern "C" void * SAL_CALL 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::LoadLibrary())
- xFactory = ::odma::ContentProvider::createServiceFactory( xSMgr );
- else
- OSL_ASSERT(!"Could not load library!");
- }
-
- //////////////////////////////////////////////////////////////////////
-
- if ( xFactory.is() )
- {
- xFactory->acquire();
- pRet = xFactory.get();
- }
-
- return pRet;
-}
-
diff --git a/ucb/source/ucp/odma/ucpodma.xml b/ucb/source/ucp/odma/ucpodma.xml
deleted file mode 100644
index d627ec3607..0000000000
--- a/ucb/source/ucp/odma/ucpodma.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
-
- <module-name>
- ucpodma
- </module-name>
-
- <component-description>
- <author>
- Ocke Janssen
- </author>
- <name>
- com.sun.star.comp.ucb.OdmaContentProvider
- </name>
- <description>
- This component implements a Content Provider for the Universal
- Content Broker. It provides access to contents stored on an document management
- system (DMS).
- </description>
- <loader-name>
- com.sun.star.loader.SharedLibrary
- </loader-name>
- <language>
- c++
- </language>
- <status value="final"/>
- <supported-service>
- com.sun.star.ucb.ODMAContentProvider
- </supported-service>
-
- <service-dependency>
- com.sun.star.configuration.ConfigurationAccess
- </service-dependency>
- <service-dependency>
- com.sun.star.configuration.ConfigurationProvider
- </service-dependency>
- </component-description>
-
- <project-build-dependency> external </project-build-dependency>
- <project-build-dependency> sal </project-build-dependency>
- <project-build-dependency> cppu </project-build-dependency>
- <project-build-dependency> cppuhelper </project-build-dependency>
- <project-build-dependency> vos </project-build-dependency>
- <project-build-dependency> ucbhelper </project-build-dependency>
-
- <runtime-module-dependency> sal3 </runtime-module-dependency>
- <runtime-module-dependency> cppu3 </runtime-module-dependency>
- <runtime-module-dependency> cppuhelper3$(COM) </runtime-module-dependency>
- <runtime-module-dependency> vos2$(COM) </runtime-module-dependency>
- <runtime-module-dependency> ucbhelper1$(COM) </runtime-module-dependency>
-
- <type> com.sun.star.beans.PropertyAttribute </type>
- <type> com.sun.star.beans.PropertyValue </type>
- <type> com.sun.star.beans.XPropertiesChangeNotifier </type>
- <type> com.sun.star.beans.XPropertyAccess </type>
- <type> com.sun.star.beans.XPropertyContainer </type>
- <type> com.sun.star.beans.XPropertySetInfoChangeNotifier </type>
- <type> com.sun.star.container.XChild </type>
- <type> com.sun.star.container.XNameAccess </type>
- <type> com.sun.star.io.XActiveDataSink </type>
- <type> com.sun.star.io.XInputStream </type>
- <type> com.sun.star.io.XOutputStream </type>
- <type> com.sun.star.io.XSeekable </type>
- <type> com.sun.star.lang.IllegalAccessException </type>
- <type> com.sun.star.lang.XComponent </type>
- <type> com.sun.star.lang.XMultiServiceFactory </type>
- <type> com.sun.star.lang.XServiceInfo </type>
- <type> com.sun.star.lang.XSingleServiceFactory </type>
- <type> com.sun.star.lang.XTypeProvider </type>
- <type> com.sun.star.registry.XRegistryKey </type>
- <type> com.sun.star.sdbc.XCloseable </type>
- <type> com.sun.star.sdbc.XColumnLocate </type>
- <type> com.sun.star.sdbc.XResultSetMetaDataSupplier </type>
- <type> com.sun.star.sdbc.XRow </type>
- <type> com.sun.star.ucb.ContentCreationException </type>
- <type> com.sun.star.ucb.ContentInfoAttribute </type>
- <type> com.sun.star.ucb.InsertCommandArgument </type>
- <type> com.sun.star.ucb.MissingInputStreamException </type>
- <type> com.sun.star.ucb.MissingPropertiesException </type>
- <type> com.sun.star.ucb.NameClash </type>
- <type> com.sun.star.ucb.NameClashException </type>
- <type> com.sun.star.ucb.OpenCommandArgument2 </type>
- <type> com.sun.star.ucb.OpenMode </type>
- <type> com.sun.star.ucb.PostCommandArgument2 </type>
- <type> com.sun.star.ucb.RememberAuthentication </type>
- <type> com.sun.star.ucb.ResultSetException </type>
- <type> com.sun.star.ucb.TransferInfo </type>
- <type> com.sun.star.ucb.XCommandEnvironment </type>
- <type> com.sun.star.ucb.UnsupportedCommandException </type>
- <type> com.sun.star.ucb.UnsupportedDataSinkException </type>
- <type> com.sun.star.ucb.UnsupportedNameClashException </type>
- <type> com.sun.star.ucb.UnsupportedOpenModeException </type>
- <type> com.sun.star.ucb.XCommandInfo </type>
- <type> com.sun.star.ucb.XCommandInfoChangeNotifier </type>
- <type> com.sun.star.ucb.XCommandProcessor </type>
- <type> com.sun.star.ucb.XContentAccess </type>
- <type> com.sun.star.ucb.XContentProvider </type>
- <type> com.sun.star.ucb.XDynamicResultSet </type>
- <type> com.sun.star.ucb.XPersistentPropertySet </type>
- <type> com.sun.star.util.DateTime </type>
-</module-description>