summaryrefslogtreecommitdiff
path: root/ucbhelper
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-03-09 09:22:08 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-03-09 10:26:50 +0000
commitd527c1df688db82f93a2fb336f2c5ae0a243104f (patch)
tree255a7f7f4cf9c3847deb55b066e4387a4d31ce4b /ucbhelper
parentfd468f7c928902600ce612df0141d6ed98b09b9e (diff)
callcatcher: update list
Diffstat (limited to 'ucbhelper')
-rw-r--r--ucbhelper/inc/ucbhelper/content.hxx106
-rw-r--r--ucbhelper/inc/ucbhelper/simplecertificatevalidationrequest.hxx9
-rw-r--r--ucbhelper/source/client/content.cxx165
-rw-r--r--ucbhelper/source/provider/simplecertificatevalidationrequest.cxx33
-rw-r--r--ucbhelper/workben/myucp/makefile.mk89
-rw-r--r--ucbhelper/workben/myucp/myucp_content.cxx944
-rw-r--r--ucbhelper/workben/myucp/myucp_content.hxx194
-rw-r--r--ucbhelper/workben/myucp/myucp_contentcaps.cxx223
-rw-r--r--ucbhelper/workben/myucp/myucp_datasupplier.cxx399
-rw-r--r--ucbhelper/workben/myucp/myucp_datasupplier.hxx80
-rw-r--r--ucbhelper/workben/myucp/myucp_provider.cxx158
-rw-r--r--ucbhelper/workben/myucp/myucp_provider.hxx98
-rw-r--r--ucbhelper/workben/myucp/myucp_resultset.cxx98
-rw-r--r--ucbhelper/workben/myucp/myucp_resultset.hxx65
-rw-r--r--ucbhelper/workben/myucp/myucp_services.cxx129
-rw-r--r--ucbhelper/workben/ucbexplorer/bmp/document.bmpbin1318 -> 0 bytes
-rw-r--r--ucbhelper/workben/ucbexplorer/bmp/fldclose.bmpbin298 -> 0 bytes
-rw-r--r--ucbhelper/workben/ucbexplorer/bmp/fldopen.bmpbin322 -> 0 bytes
-rw-r--r--ucbhelper/workben/ucbexplorer/bmp/link.bmpbin1318 -> 0 bytes
-rw-r--r--ucbhelper/workben/ucbexplorer/makefile.mk71
-rw-r--r--ucbhelper/workben/ucbexplorer/ucbexplorer.cxx1192
-rw-r--r--ucbhelper/workben/ucbexplorer/ucbexplorer.hrc58
-rw-r--r--ucbhelper/workben/ucbexplorer/ucbexplorer.src131
23 files changed, 2 insertions, 4240 deletions
diff --git a/ucbhelper/inc/ucbhelper/content.hxx b/ucbhelper/inc/ucbhelper/content.hxx
index e49999bab3cf..c9b06ec031ce 100644
--- a/ucbhelper/inc/ucbhelper/content.hxx
+++ b/ucbhelper/inc/ucbhelper/content.hxx
@@ -324,20 +324,6 @@ public:
/**
* This method can be used to read multiple property values.
*
- * @param nPropertyHandles is a sequence of handles of properties for
- * that the values shall be obtained.
- * @return an XRow interface that can be used to obtain the property
- * values.
- */
- ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >
- getPropertyValues( const ::com::sun::star::uno::Sequence<
- sal_Int32 >& nPropertyHandles )
- throw( ::com::sun::star::ucb::CommandAbortedException,
- ::com::sun::star::uno::RuntimeException,
- ::com::sun::star::uno::Exception );
- /**
- * This method can be used to read multiple property values.
- *
* @param rPropertyNames is a sequence of names of properties for
* that the values shall be obtained.
* @return the property values.
@@ -348,20 +334,7 @@ public:
throw( ::com::sun::star::ucb::CommandAbortedException,
::com::sun::star::uno::RuntimeException,
::com::sun::star::uno::Exception );
- /**
- * This method can be used to read multiple property values.
- *
- * @param nPropertyHandles is a sequence of handles of properties for
- * that the values shall be obtained.
- * @return an XRow interface that can be used to obtain the property
- * values.
- */
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRow >
- getPropertyValuesInterface( const ::com::sun::star::uno::Sequence<
- sal_Int32 >& nPropertyHandles )
- throw( ::com::sun::star::ucb::CommandAbortedException,
- ::com::sun::star::uno::RuntimeException,
- ::com::sun::star::uno::Exception );
+
/**
* This method can be used to set multiple property values.
*
@@ -400,44 +373,6 @@ public:
throw( ::com::sun::star::ucb::CommandAbortedException,
::com::sun::star::uno::RuntimeException,
::com::sun::star::uno::Exception );
- /**
- * This method can be used to set multiple property values.
- *
- * @param nPropertyHandles is a sequence of handles of properties for
- * that values shall be set.
- * @return a sequence of any's which has exactly the same number
- * of elements as the number of properties to set. Every
- * sequence element contains the status for a property. The
- * first sequence elements corresponds to the first element in
- * the sequence of property names and so on.
- *
- * An any containing:
- * - No value indicates, that the property value was set
- * successfully.
- * - com::sun::star::beans::UnknownPropertyException indicates,
- * that the property is not known to the content implementation.
- * - com::sun::star::beans::IllegalTypeException indicates, that
- * the data type of the property value is not acceptable.
- * - com::sun::star::lang::IllegalAccessException indicates, that
- * the property is constant.
- * - com::sun::star::lang::IllegalArgumentException indicates,
- * that the property value is not acceptable. For instance,
- * setting an empty title may be illegal.
- * - Any other execption derived from
- * com::sun::star::uno::Exception indicates, that the value was
- * not set successfully. For example, this can be a
- * com::sun:star::ucb::InteractiveAugmentedIOException
- * transporting the error code
- * com::sun::star::ucb::IOErrorCode::ACCESS_DENIED.
- */
- ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >
- setPropertyValues( const ::com::sun::star::uno::Sequence<
- sal_Int32 >& nPropertyHandles,
- const ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Any >& rValues )
- throw( ::com::sun::star::ucb::CommandAbortedException,
- ::com::sun::star::uno::RuntimeException,
- ::com::sun::star::uno::Exception );
//////////////////////////////////////////////////////////////////////
// General command execution.
@@ -705,44 +640,7 @@ public:
throw( ::com::sun::star::ucb::CommandAbortedException,
::com::sun::star::uno::RuntimeException,
::com::sun::star::uno::Exception );
- /**
- * This method creates, initializes and inserts (commits) a new content
- * inside this (the target folder) content. For example, it can be used to
- * create a new file system file.
- * Internally this method does a
- * XCommandProcessor::execute( "createNewContent", ... );
- * XCommandProcessor::execute( "setPropertyValues", ... );
- * XCommandProcessor::execute( "insert", ... ); calling sequence.
- *
- * @param rContentType is the type for the new UCB content. Each content
- * provider implementation may introduce own types for its content
- * objects (See queryCreatableContentsInfo()).
- * @param nPropertyHandes is a sequence of handles of properties for that
- * values are to set at the new content before it will be inserted
- * ( commited ).
- * The order of the handles must correspond to the order of the
- * property values.
- * @param rPropertyValues is a sequence of property values that are to
- * set at the new content before it will be inserted ( commited ).
- * The order of the values must correspond to the order of the
- * property handles.
- * @param rStream is a stream containing the content data for the new
- * content (i.e. the content of a file to create)
- * @param rNewContent will be filled by the implementation of this method
- * with the new content.
- */
- sal_Bool
- insertNewContent( const ::rtl::OUString& rContentType,
- const ::com::sun::star::uno::Sequence<
- sal_Int32 >& nPropertyHandles,
- const ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Any >& rPropertyValues,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::io::XInputStream >& rStream,
- Content& rNewContent )
- throw( ::com::sun::star::ucb::CommandAbortedException,
- ::com::sun::star::uno::RuntimeException,
- ::com::sun::star::uno::Exception );
+
/**
* This method transfers (copies/moves) a content. It creates a new
* resource inside this (the target folder) content.
diff --git a/ucbhelper/inc/ucbhelper/simplecertificatevalidationrequest.hxx b/ucbhelper/inc/ucbhelper/simplecertificatevalidationrequest.hxx
index c770c8e7c21a..7a9f2e782cd8 100644
--- a/ucbhelper/inc/ucbhelper/simplecertificatevalidationrequest.hxx
+++ b/ucbhelper/inc/ucbhelper/simplecertificatevalidationrequest.hxx
@@ -63,15 +63,6 @@ public:
SimpleCertificateValidationRequest( const sal_Int32 & lCertificateValidity,
const com::sun::star::uno::Reference<com::sun::star::security::XCertificate> pCertificate,
const rtl::OUString & hostname );
-
- /**
- * After passing this request to XInteractionHandler::handle, this method
- * returns the continuation that was choosen by the interaction handler.
- *
- * @return the continuation choosen by an interaction handler or
- * CONTINUATION_UNKNOWN, if the request was not (yet) handled.
- */
- sal_Int32 getResponse() const;
};
} // namespace ucbhelper
diff --git a/ucbhelper/source/client/content.cxx b/ucbhelper/source/client/content.cxx
index 59cc3997057e..c4e5d8dc9037 100644
--- a/ucbhelper/source/client/content.cxx
+++ b/ucbhelper/source/client/content.cxx
@@ -559,27 +559,6 @@ Sequence< Any > Content::getPropertyValues(
}
//=========================================================================
-Sequence< Any > Content::getPropertyValues(
- const Sequence< sal_Int32 >& nPropertyHandles )
- throw( CommandAbortedException, RuntimeException, Exception )
-{
- Reference< XRow > xRow = getPropertyValuesInterface( nPropertyHandles );
-
- sal_Int32 nCount = nPropertyHandles.getLength();
- Sequence< Any > aValues( nCount );
-
- if ( xRow.is() )
- {
- Any* pValues = aValues.getArray();
-
- for ( sal_Int32 n = 0; n < nCount; ++n )
- pValues[ n ] = xRow->getObject( n + 1, Reference< XNameAccess >() );
- }
-
- return aValues;
-}
-
-//=========================================================================
Reference< XRow > Content::getPropertyValuesInterface(
const Sequence< rtl::OUString >& rPropertyNames )
throw( CommandAbortedException, RuntimeException, Exception )
@@ -613,39 +592,6 @@ Reference< XRow > Content::getPropertyValuesInterface(
}
//=========================================================================
-Reference< XRow > Content::getPropertyValuesInterface(
- const Sequence< sal_Int32 >& nPropertyHandles )
- throw( CommandAbortedException, RuntimeException, Exception )
-{
- sal_Int32 nCount = nPropertyHandles.getLength();
- Sequence< Property > aProps( nCount );
- Property* pProps = aProps.getArray();
-
- const sal_Int32* pHandles = nPropertyHandles.getConstArray();
-
- for ( sal_Int32 n = 0; n< nCount; ++n )
- {
- Property& rProp = pProps[ n ];
-
- rProp.Name = rtl::OUString(); // n/a
- rProp.Handle = pHandles[ n ];
-// rProp.Type =
-// rProp.Attributes = ;
- }
-
- Command aCommand;
- aCommand.Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("getPropertyValues"));
- aCommand.Handle = -1; // n/a
- aCommand.Argument <<= aProps;
-
- Any aResult = m_xImpl->executeCommand( aCommand );
-
- Reference< XRow > xRow;
- aResult >>= xRow;
- return xRow;
-}
-
-//=========================================================================
Sequence< Any > Content::setPropertyValues(
const Sequence< rtl::OUString >& rPropertyNames,
const Sequence< Any >& rValues )
@@ -694,54 +640,6 @@ Sequence< Any > Content::setPropertyValues(
}
//=========================================================================
-Sequence< Any > Content::setPropertyValues(
- const Sequence< sal_Int32 >& nPropertyHandles,
- const Sequence< Any >& rValues )
- throw( CommandAbortedException, RuntimeException, Exception )
-{
- if ( nPropertyHandles.getLength() != rValues.getLength() )
- {
- ucbhelper::cancelCommandExecution(
- makeAny( IllegalArgumentException(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "Length of property handles sequence and value "
- "sequence are unequal!" )),
- get(),
- -1 ) ),
- m_xImpl->getEnvironment() );
- // Unreachable
- }
-
- sal_Int32 nCount = rValues.getLength();
- Sequence< PropertyValue > aProps( nCount );
- PropertyValue* pProps = aProps.getArray();
-
- const sal_Int32* pHandles = nPropertyHandles.getConstArray();
- const Any* pValues = rValues.getConstArray();
-
- for ( sal_Int32 n = 0; n< nCount; ++n )
- {
- PropertyValue& rProp = pProps[ n ];
-
- rProp.Name = rtl::OUString(); // n/a
- rProp.Handle = pHandles[ n ];
- rProp.Value = pValues[ n ];
-// rProp.State = ;
- }
-
- Command aCommand;
- aCommand.Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("setPropertyValues"));
- aCommand.Handle = -1; // n/a
- aCommand.Argument <<= aProps;
-
- Any aResult = m_xImpl->executeCommand( aCommand );
-
- Sequence< Any > aErrors;
- aResult >>= aErrors;
- return aErrors;
-}
-
-//=========================================================================
Any Content::executeCommand( const rtl::OUString& rCommandName,
const Any& rCommandArgument )
throw( CommandAbortedException, RuntimeException, Exception )
@@ -1149,69 +1047,6 @@ sal_Bool Content::insertNewContent( const rtl::OUString& rContentType,
}
//=========================================================================
-sal_Bool Content::insertNewContent( const rtl::OUString& rContentType,
- const Sequence< sal_Int32 >&
- nPropertyHandles,
- const Sequence< Any >& rPropertyValues,
- const Reference< XInputStream >& rData,
- Content& rNewContent )
- throw( CommandAbortedException, RuntimeException, Exception )
-{
- if ( rContentType.isEmpty() )
- return sal_False;
-
- // First, try it using "createNewContent" command -> the "new" way.
- ContentInfo aInfo;
- aInfo.Type = rContentType;
- aInfo.Attributes = 0;
-
- Command aCommand;
- aCommand.Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("createNewContent"));
- aCommand.Handle = -1; // n/a
- aCommand.Argument <<= aInfo;
-
- Reference< XContent > xNew;
- try
- {
- m_xImpl->executeCommand( aCommand ) >>= xNew;
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- }
-
- if ( !xNew.is() )
- {
- // Second, try it using XContentCreator interface -> the "old"
- // way (not providing the chance to supply an XCommandEnvironment.
- Reference< XContentCreator > xCreator( m_xImpl->getContent(), UNO_QUERY );
-
- if ( !xCreator.is() )
- return sal_False;
-
- xNew = xCreator->createNewContent( aInfo );
-
- if ( !xNew.is() )
- return sal_False;
- }
-
- Content aNewContent( xNew, m_xImpl->getEnvironment() );
- aNewContent.setPropertyValues( nPropertyHandles, rPropertyValues );
- aNewContent.executeCommand( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("insert")),
- makeAny(
- InsertCommandArgument(
- rData.is() ? rData : new EmptyInputStream,
- sal_False /* ReplaceExisting */ ) ) );
- aNewContent.m_xImpl->inserted();
-
- rNewContent = aNewContent;
- return sal_True;
-}
-
-//=========================================================================
sal_Bool Content::transferContent( const Content& rSourceContent,
InsertOperation eOperation,
const rtl::OUString & rTitle,
diff --git a/ucbhelper/source/provider/simplecertificatevalidationrequest.cxx b/ucbhelper/source/provider/simplecertificatevalidationrequest.cxx
index c12ae0d8cfbb..952139bb94e8 100644
--- a/ucbhelper/source/provider/simplecertificatevalidationrequest.cxx
+++ b/ucbhelper/source/provider/simplecertificatevalidationrequest.cxx
@@ -53,37 +53,4 @@ SimpleCertificateValidationRequest::SimpleCertificateValidationRequest( const sa
pCertificate.get();
}
-//=========================================================================
-sal_Int32 SimpleCertificateValidationRequest::getResponse() const
-{
- rtl::Reference< InteractionContinuation > xSelection = getSelection();
- if ( xSelection.is() )
- {
- InteractionContinuation * pSelection = xSelection.get();
-
- uno::Reference< task::XInteractionAbort > xAbort(
- pSelection, uno::UNO_QUERY );
- if ( xAbort.is() )
- return 1;
-
- uno::Reference< task::XInteractionRetry > xRetry(
- pSelection, uno::UNO_QUERY );
- if ( xRetry.is() )
- return 2;
-
- uno::Reference< task::XInteractionApprove > xApprove(
- pSelection, uno::UNO_QUERY );
- if ( xApprove.is() )
- return 4;
-
- uno::Reference< task::XInteractionDisapprove > xDisapprove(
- pSelection, uno::UNO_QUERY );
- if ( xDisapprove.is() )
- return 8;
-
- OSL_FAIL( "CertificateValidationRequest - Unknown continuation!" );
- }
- return 0;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/makefile.mk b/ucbhelper/workben/myucp/makefile.mk
deleted file mode 100644
index 73c3d0bb6f34..000000000000
--- a/ucbhelper/workben/myucp/makefile.mk
+++ /dev/null
@@ -1,89 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-# @@@ 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=myucp
-
-# @@@ Relative path to project root.
-PRJ=..$/..
-
-# @@@ Name of the project your UCP code recides it.
-PRJNAME=ucbhelper
-
-TARGET=ucp$(UCP_NAME)$(UCP_VERSION).uno
-
-ENABLE_EXCEPTIONS=TRUE
-USE_DEFFILE=TRUE
-
-# --- Settings ---------------------------------------------------------
-
-.INCLUDE: settings.mk
-.INCLUDE : ../../version.mk
-
-# --- General -----------------------------------------------------
-
-# no "lib" prefix
-DLLPRE =
-
-# @@@ Adjust template file names. Add own files here.
-SLOFILES=\
- $(SLO)$/myucp_services.obj \
- $(SLO)$/myucp_provider.obj \
- $(SLO)$/myucp_content.obj \
- $(SLO)$/myucp_contentcaps.obj \
- $(SLO)$/myucp_resultset.obj \
- $(SLO)$/myucp_datasupplier.obj
-
-LIB1TARGET=$(SLB)$/_$(TARGET).lib
-LIB1OBJFILES=$(SLOFILES)
-
-# --- Shared-Library ---------------------------------------------------
-
-SHL1TARGET=$(TARGET)
-SHL1IMPLIB=i$(TARGET)
-SHL1VERSIONMAP=$(SOLARENV)/src/component.map
-
-# @@@ Add additional libs here.
-SHL1STDLIBS=\
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB) \
- $(SALHELPERLIB) \
- $(UCBHELPERLIB)
-
-SHL1DEF=$(MISC)$/$(SHL1TARGET).def
-SHL1LIBS=$(LIB1TARGET)
-
-DEF1NAME=$(SHL1TARGET)
-
-# --- Targets ----------------------------------------------------------
-
-.INCLUDE: target.mk
-
diff --git a/ucbhelper/workben/myucp/myucp_content.cxx b/ucbhelper/workben/myucp/myucp_content.cxx
deleted file mode 100644
index 8afe738e23fc..000000000000
--- a/ucbhelper/workben/myucp/myucp_content.cxx
+++ /dev/null
@@ -1,944 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#include "osl/diagnose.h"
-
-#include "com/sun/star/beans/PropertyAttribute.hpp"
-#include "com/sun/star/beans/XPropertyAccess.hpp"
-#include "com/sun/star/lang/IllegalAccessException.hpp"
-#include "com/sun/star/sdbc/XRow.hpp"
-#include "com/sun/star/ucb/XCommandInfo.hpp"
-#include "com/sun/star/ucb/XPersistentPropertySet.hpp"
-#include "ucbhelper/contentidentifier.hxx"
-#include "ucbhelper/propertyvalueset.hxx"
-#include "ucbhelper/cancelcommandexecution.hxx"
-
-#include "myucp_content.hxx"
-#include "myucp_provider.hxx"
-
-#ifdef IMPLEMENT_COMMAND_INSERT
-#include "com/sun/star/ucb/InsertCommandArgument.hpp"
-#include "com/sun/star/ucb/MissingInputStreamException.hpp"
-#include "com/sun/star/ucb/MissingPropertiesException.hpp"
-#endif
-#ifdef IMPLEMENT_COMMAND_OPEN
-#include "com/sun/star/io/XOutputStream.hpp"
-#include "com/sun/star/io/XActiveDataSink.hpp"
-#include "com/sun/star/ucb/OpenCommandArgument2.hpp"
-#include "com/sun/star/ucb/OpenMode.hpp"
-#include "com/sun/star/ucb/UnsupportedDataSinkException.hpp"
-#include "com/sun/star/ucb/UnsupportedOpenModeException.hpp"
-#include "myucp_resultset.hxx"
-#endif
-
-using namespace com::sun::star;
-
-// @@@ Adjust namespace name.
-using namespace myucp;
-
-//=========================================================================
-//=========================================================================
-//
-// Content Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-Content::Content( const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- ::ucbhelper::ContentProviderImplHelper* pProvider,
- const uno::Reference< ucb::XContentIdentifier >& Identifier )
-: ContentImplHelper( rxSMgr, pProvider, Identifier )
-{
- // @@@ Fill m_aProps here or implement lazy evaluation logic for this.
- // m_aProps.aTitle =
- // m_aprops.aContentType =
- // m_aProps.bIsDocument =
- // m_aProps.bIsFolder =
-}
-
-//=========================================================================
-// virtual
-Content::~Content()
-{
-}
-
-//=========================================================================
-//
-// 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;
-
- return aRet.hasValue() ? aRet : ContentImplHelper::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_COMMON_IMPL( Content );
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL Content::getTypes()
- throw( uno::RuntimeException )
-{
- // @@@ Add own interfaces.
-
- static cppu::OTypeCollection* pCollection = 0;
-
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection aCollection(
- CPPU_TYPE_REF( lang::XTypeProvider ),
- CPPU_TYPE_REF( lang::XServiceInfo ),
- CPPU_TYPE_REF( lang::XComponent ),
- CPPU_TYPE_REF( ucb::XContent ),
- CPPU_TYPE_REF( ucb::XCommandProcessor ),
- CPPU_TYPE_REF( beans::XPropertiesChangeNotifier ),
- CPPU_TYPE_REF( ucb::XCommandInfoChangeNotifier ),
- CPPU_TYPE_REF( beans::XPropertyContainer ),
- CPPU_TYPE_REF( beans::XPropertySetInfoChangeNotifier ),
- CPPU_TYPE_REF( container::XChild ) );
- pCollection = &aCollection;
- }
- }
-
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XServiceInfo methods.
-//
-//=========================================================================
-
-// virtual
-rtl::OUString SAL_CALL Content::getImplementationName()
- throw( uno::RuntimeException )
-{
- // @@@ Adjust implementation name.
- // Prefix with reversed company domain name.
- return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.myucp.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(RTL_CONSTASCII_USTRINGPARAM( MYUCP_CONTENT_SERVICE_NAME ));
- return aSNS;
-}
-
-//=========================================================================
-//
-// XContent methods.
-//
-//=========================================================================
-
-// virtual
-rtl::OUString SAL_CALL Content::getContentType()
- throw( uno::RuntimeException )
-{
- // @@@ Adjust macro name ( def in myucp_provider.hxx ).
- return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( MYUCP_CONTENT_TYPE ));
-}
-
-//=========================================================================
-//
-// XCommandProcessor methods.
-//
-//=========================================================================
-
-// virtual
-uno::Any SAL_CALL Content::execute(
- const ucb::Command& aCommand,
- sal_Int32 /* CommandId */,
- const uno::Reference< ucb::XCommandEnvironment >& Environment )
- throw( uno::Exception,
- ucb::CommandAbortedException,
- uno::RuntimeException )
-{
- uno::Any aRet;
-
- if ( aCommand.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "getPropertyValues" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // getPropertyValues
- //////////////////////////////////////////////////////////////////
-
- uno::Sequence< beans::Property > Properties;
- if ( !( aCommand.Argument >>= Properties ) )
- {
- OSL_FAIL( "Wrong argument type!" );
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( lang::IllegalArgumentException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- -1 ) ),
- Environment );
- // Unreachable
- }
-
- aRet <<= getPropertyValues( Properties, Environment );
- }
- else if ( aCommand.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "setPropertyValues" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // setPropertyValues
- //////////////////////////////////////////////////////////////////
-
- uno::Sequence< beans::PropertyValue > aProperties;
- if ( !( aCommand.Argument >>= aProperties ) )
- {
- OSL_FAIL( "Wrong argument type!" );
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( lang::IllegalArgumentException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- -1 ) ),
- Environment );
- // Unreachable
- }
-
- if ( !aProperties.getLength() )
- {
- OSL_FAIL( "No properties!" );
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( lang::IllegalArgumentException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- -1 ) ),
- Environment );
- // Unreachable
- }
-
- aRet <<= setPropertyValues( aProperties, Environment );
- }
- else if ( aCommand.Name.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 );
- }
-#ifdef IMPLEMENT_COMMAND_OPEN
- else if ( aCommand.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "open" ) ) )
- {
- ucb::OpenCommandArgument2 aOpenCommand;
- if ( !( aCommand.Argument >>= aOpenCommand ) )
- {
- OSL_FAIL( "Wrong argument type!" );
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( lang::IllegalArgumentException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- -1 ) ),
- Environment );
- // Unreachable
- }
-
- sal_Bool bOpenFolder =
- ( ( aOpenCommand.Mode == ucb::OpenMode::ALL ) ||
- ( aOpenCommand.Mode == ucb::OpenMode::FOLDERS ) ||
- ( aOpenCommand.Mode == ucb::OpenMode::DOCUMENTS ) );
-
- if ( bOpenFolder /*&& isFolder( Environment )*/ )
- {
- // open as folder - return result set
-
- uno::Reference< 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
- == ucb::OpenMode::DOCUMENT_SHARE_DENY_NONE ) ||
- ( aOpenCommand.Mode
- == ucb::OpenMode::DOCUMENT_SHARE_DENY_WRITE ) )
- {
- // Unsupported.
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( ucb::UnsupportedOpenModeException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- sal_Int16( aOpenCommand.Mode ) ) ),
- Environment );
- // Unreachable
- }
-
-
- rtl::OUString aURL = m_xIdentifier->getContentIdentifier();
- uno::Reference< io::XOutputStream > xOut
- = uno::Reference< io::XOutputStream >(
- aOpenCommand.Sink, uno::UNO_QUERY );
- if ( xOut.is() )
- {
- // @@@ write data into xOut
- }
- else
- {
- uno::Reference< io::XActiveDataSink > xDataSink(
- aOpenCommand.Sink, uno::UNO_QUERY );
- if ( xDataSink.is() )
- {
- uno::Reference< io::XInputStream > xIn
- /* @@@ your XInputStream + XSeekable impl. object */;
- xDataSink->setInputStream( xIn );
- }
- else
- {
- // Note: aOpenCommand.Sink may contain an XStream
- // implementation. Support for this type of
- // sink is optional...
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( ucb::UnsupportedDataSinkException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- aOpenCommand.Sink ) ),
- Environment );
- // Unreachable
- }
- }
- }
- }
-#endif // IMPLEMENT_COMMAND_OPEN
-
-#ifdef IMPLEMENT_COMMAND_INSERT
- else if ( aCommand.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "insert" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // insert
- //////////////////////////////////////////////////////////////////
-
- ucb::InsertCommandArgument arg;
- if ( !( aCommand.Argument >>= arg ) )
- {
- OSL_FAIL( "Wrong argument type!" );
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( lang::IllegalArgumentException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ),
- -1 ) ),
- Environment );
- // Unreachable
- }
-
- insert( arg.Data, arg.ReplaceExisting, Environment );
- }
-#endif // IMPLEMENT_COMMAND_INSERT
-
-#ifdef IMPLEMENT_COMMAND_DELETE
- else if ( aCommand.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "delete" ) ) )
- {
- //////////////////////////////////////////////////////////////////
- // delete
- //////////////////////////////////////////////////////////////////
-
- sal_Bool bDeletePhysical = sal_False;
- aCommand.Argument >>= bDeletePhysical;
- destroy( bDeletePhysical );
-
- // Remove own and all children's Additional Core Properties.
- removeAdditionalPropertySet( sal_True );
-
- // Remove own and all childrens(!) persistent data.
-// removeData();
- }
-#endif // IMPLEMENT_COMMAND_DELETE
- else
- {
- //////////////////////////////////////////////////////////////////
- // Unsupported command
- //////////////////////////////////////////////////////////////////
-
- OSL_FAIL( "Content::execute - unsupported command!" );
-
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( ucb::UnsupportedCommandException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ) ) ),
- Environment );
- // Unreachable
- }
-
- return aRet;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL Content::abort( sal_Int32 )
- 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 aURL = m_xIdentifier->getContentIdentifier();
-
- // @@@ Extract URL of parent from aURL and return it...
-
- return rtl::OUString();
-}
-
-//=========================================================================
-// static
-uno::Reference< sdbc::XRow > Content::getPropertyValues(
- const uno::Reference< lang::XMultiServiceFactory >& rSMgr,
- const uno::Sequence< beans::Property >& rProperties,
- const ContentProperties& rData,
- const rtl::Reference<
- ::ucbhelper::ContentProviderImplHelper >& rProvider,
- const rtl::OUString& rContentId )
-{
- // Note: Empty sequence means "get values of all supported properties".
-
- rtl::Reference< ::ucbhelper::PropertyValueSet > xRow
- = new ::ucbhelper::PropertyValueSet( 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.aContentType );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "Title" ) ) )
- {
- xRow->appendString ( rProp, rData.aTitle );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "IsDocument" ) ) )
- {
- xRow->appendBoolean( rProp, rData.bIsDocument );
- }
- else if ( rProp.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "IsFolder" ) ) )
- {
- xRow->appendBoolean( rProp, rData.bIsFolder );
- }
- 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(RTL_CONSTASCII_USTRINGPARAM("ContentType")),
- -1,
- getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData.aContentType );
- xRow->appendString (
- beans::Property( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Title")),
- -1,
- getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
- beans::PropertyAttribute::BOUND ),
- rData.aTitle );
- xRow->appendBoolean(
- beans::Property( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsDocument")),
- -1,
- getCppuBooleanType(),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData.bIsDocument );
- xRow->appendBoolean(
- beans::Property( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsFolder")),
- -1,
- getCppuBooleanType(),
- beans::PropertyAttribute::BOUND
- | beans::PropertyAttribute::READONLY ),
- rData.bIsFolder );
-
- // @@@ Append other properties supported directly.
-
- // @@@ Note: If your data source supports adding/removing
- // properties, you should implement the interface
- // XPropertyContainer by yourself and supply your own
- // logic here. The base class uses the service
- // "com.sun.star.ucb.Store" to maintain Additional Core
- // properties. But using server functionality is preferred!
-
- // Append all Additional Core Properties.
-
- uno::Reference< beans::XPropertySet > xSet(
- rProvider->getAdditionalPropertySet( rContentId, sal_False ),
- uno::UNO_QUERY );
- xRow->appendPropertySet( xSet );
- }
-
- return uno::Reference< sdbc::XRow >( xRow.get() );
-}
-
-//=========================================================================
-uno::Reference< sdbc::XRow > Content::getPropertyValues(
- const uno::Sequence< beans::Property >& rProperties,
- const uno::Reference< ucb::XCommandEnvironment >& /* xEnv */)
-{
- osl::Guard< osl::Mutex > aGuard( m_aMutex );
- return getPropertyValues( m_xSMgr,
- rProperties,
- m_aProps,
- rtl::Reference<
- ::ucbhelper::ContentProviderImplHelper >(
- m_xProvider.get() ),
- m_xIdentifier->getContentIdentifier() );
-}
-
-//=========================================================================
-uno::Sequence< uno::Any > Content::setPropertyValues(
- const uno::Sequence< beans::PropertyValue >& rValues,
- const uno::Reference< ucb::XCommandEnvironment >& /* xEnv */)
-{
- osl::ClearableGuard< osl::Mutex > aGuard( m_aMutex );
-
- uno::Sequence< uno::Any > aRet( rValues.getLength() );
- uno::Sequence< beans::PropertyChangeEvent > aChanges( rValues.getLength() );
- sal_Int32 nChanged = 0;
-
- beans::PropertyChangeEvent aEvent;
- aEvent.Source = static_cast< cppu::OWeakObject * >( this );
- aEvent.Further = sal_False;
-// aEvent.PropertyName =
- aEvent.PropertyHandle = -1;
-// aEvent.OldValue =
-// aEvent.NewValue =
-
- const beans::PropertyValue* pValues = rValues.getConstArray();
- sal_Int32 nCount = rValues.getLength();
-
- uno::Reference< ucb::XPersistentPropertySet > xAdditionalPropSet;
- sal_Bool bTriedToGetAdditonalPropSet = sal_False;
-
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const beans::PropertyValue& rValue = pValues[ n ];
-
- if ( rValue.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "ContentType" ) ) )
- {
- // Read-only property!
- aRet[ n ] <<= lang::IllegalAccessException(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "Property is read-only!" )),
- static_cast< cppu::OWeakObject * >( this ) );
- }
- else if ( rValue.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "IsDocument" ) ) )
- {
- // Read-only property!
- aRet[ n ] <<= lang::IllegalAccessException(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "Property is read-only!" )),
- static_cast< cppu::OWeakObject * >( this ) );
- }
- else if ( rValue.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "IsFolder" ) ) )
- {
- // Read-only property!
- aRet[ n ] <<= lang::IllegalAccessException(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "Property is read-only!" )),
- static_cast< cppu::OWeakObject * >( this ) );
- }
- else if ( rValue.Name.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM( "Title" ) ) )
- {
- rtl::OUString aNewValue;
- if ( rValue.Value >>= aNewValue )
- {
- if ( aNewValue != m_aProps.aTitle )
- {
- aEvent.PropertyName = rValue.Name;
- aEvent.OldValue = uno::makeAny( m_aProps.aTitle );
- aEvent.NewValue = uno::makeAny( aNewValue );
-
- aChanges.getArray()[ nChanged ] = aEvent;
-
- m_aProps.aTitle = aNewValue;
- nChanged++;
- }
- else
- {
- // Old value equals new value. No error!
- }
- }
- else
- {
- aRet[ n ] <<= beans::IllegalTypeException(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "Property value has wrong type!" )),
- 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(RTL_CONSTASCII_USTRINGPARAM(
- "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;
-}
-
-#ifdef IMPLEMENT_COMMAND_INSERT
-
-//=========================================================================
-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.
-
- ::ucbhelper::ContentRefList aAllContents;
- m_xProvider->queryExistingContents( aAllContents );
-
- ::rtl::OUString aURL = m_xIdentifier->getContentIdentifier();
- sal_Int32 nPos = aURL.lastIndexOf( '/' );
-
- if ( nPos != ( aURL.getLength() - 1 ) )
- {
- // No trailing slash found. Append.
- aURL += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- }
-
- sal_Int32 nLen = aURL.getLength();
-
- ::ucbhelper::ContentRefList::const_iterator it = aAllContents.begin();
- ::ucbhelper::ContentRefList::const_iterator end = aAllContents.end();
-
- while ( it != end )
- {
- ::ucbhelper::ContentImplHelperRef xChild = (*it);
- ::rtl::OUString aChildURL
- = xChild->getIdentifier()->getContentIdentifier();
-
- // Is aURL a prefix of aChildURL?
- if ( ( aChildURL.getLength() > nLen ) &&
- ( aChildURL.compareTo( aURL, nLen ) == 0 ) )
- {
- nPos = aChildURL.indexOf( '/', nLen );
-
- 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.get() ) ) );
- }
- }
- ++it;
- }
-}
-
-//=========================================================================
-void Content::insert(
- const uno::Reference< io::XInputStream > & xInputStream,
- sal_Bool bReplaceExisting,
- const uno::Reference< ucb::XCommandEnvironment >& Environment )
- throw( uno::Exception )
-{
- osl::ClearableGuard< osl::Mutex > aGuard( m_aMutex );
-
- // Check, if all required properties were set.
-
- bool bNeedInputStream = true; // @@@ adjust to real requirements
- if ( bNeedInputStream && !xInputStream.is() )
- {
- OSL_FAIL( "Content::insert - No data stream!" );
-
- ::ucbhelper::cancelCommandExecution(
- uno::makeAny( ucb::MissingInputStreamException(
- rtl::OUString(),
- static_cast< cppu::OWeakObject * >( this ) ) ),
- Environment );
- // Unreachable
- }
-
- // Assemble new content identifier...
-
- uno::Reference< ucb::XContentIdentifier > xId /* @@@ create content identifier */;
-
- // Fail, if a resource with given id already exists.
- if ( !bReplaceExisting /*&& hasData( xId ) @@@ impl for hasData() */ )
- {
- uno::Any aProps
- = uno::makeAny( beans::PropertyValue(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM( "Uri" ) ),
- -1,
- uno::makeAny( xId->getContentIdentifier() ),
- beans::PropertyState_DIRECT_VALUE ) );
- ucbhelper::cancelCommandExecution(
- ucb::IOErrorCode_ALREADY_EXISTING,
- uno::Sequence< uno::Any >(&aProps, 1),
- Environment,
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("content already existing!!")),
- this );
- // Unreachable
- }
-
- m_xIdentifier = xId;
-
-// @@@
-// storeData();
-
- aGuard.clear();
- inserted();
-}
-
-#endif // IMPLEMENT_COMMAND_INSERT
-
-#ifdef IMPLEMENT_COMMAND_DELETE
-
-//=========================================================================
-void Content::destroy( sal_Bool bDeletePhysical )
- throw( uno::Exception )
-{
- // @@@ take care about bDeletePhysical -> trashcan support
-
- uno::Reference< 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 // IMPLEMENT_COMMAND_DELETE
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_content.hxx b/ucbhelper/workben/myucp/myucp_content.hxx
deleted file mode 100644
index d2a4668fbe98..000000000000
--- a/ucbhelper/workben/myucp/myucp_content.hxx
+++ /dev/null
@@ -1,194 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// @@@ Adjust multi-include-protection-ifdef.
-#ifndef _MYUCP_CONTENT_HXX
-#define _MYUCP_CONTENT_HXX
-
-#include <list>
-
-#include "rtl/ref.hxx"
-#include "ucbhelper/contenthelper.hxx"
-
-namespace com { namespace sun { namespace star { namespace beans {
- struct Property;
- struct PropertyValue;
-} } } }
-
-namespace com { namespace sun { namespace star { namespace sdbc {
- class XRow;
-} } } }
-
-namespace com { namespace sun { namespace star { namespace io {
- class XInputStream;
-} } } }
-
-// @@@ Adjust namespace name.
-namespace myucp
-{
-
-//=========================================================================
-
-// @@@ Adjust service name.
-
-// UNO service name for the content. Prefix with reversed company domain main.
-#define MYUCP_CONTENT_SERVICE_NAME "com.sun.star.ucb.MyContent"
-
-//=========================================================================
-
-struct ContentProperties
-{
- ::rtl::OUString aTitle; // Title
- ::rtl::OUString aContentType; // ContentType
- sal_Bool bIsDocument; // IsDocument
- sal_Bool bIsFolder; // IsFolder
-
- // @@@ Add other properties supported by your content.
-
- ContentProperties()
- : bIsDocument( sal_True ), bIsFolder( sal_False ) {}
-};
-
-//=========================================================================
-
-class Content : public ::ucbhelper::ContentImplHelper
-{
- ContentProperties m_aProps;
-
-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 );
-
-#define IMPLEMENT_COMMAND_OPEN
-#define IMPLEMENT_COMMAND_INSERT
-#define IMPLEMENT_COMMAND_DELETE
-
-#ifdef IMPLEMENT_COMMAND_INSERT
- 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 );
-#endif
-
-#ifdef IMPLEMENT_COMMAND_DELETE
-
- // Command "delete"
- void destroy( sal_Bool bDeletePhysical )
- throw( ::com::sun::star::uno::Exception );
-#endif
-
-public:
- Content( const ::com::sun::star::uno::Reference<
- ::com::sun::star::lang::XMultiServiceFactory >& rxSMgr,
- ::ucbhelper::ContentProviderImplHelper* pProvider,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::ucb::XContentIdentifier >& Identifier );
- 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 ContentProperties& rData,
- const rtl::Reference<
- ::ucbhelper::ContentProviderImplHelper >& rProvider,
- const ::rtl::OUString& rContentId );
-};
-
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_contentcaps.cxx b/ucbhelper/workben/myucp/myucp_contentcaps.cxx
deleted file mode 100644
index 9d8cdc11755a..000000000000
--- a/ucbhelper/workben/myucp/myucp_contentcaps.cxx
+++ /dev/null
@@ -1,223 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#include "com/sun/star/beans/Property.hpp"
-#include "com/sun/star/beans/PropertyAttribute.hpp"
-#include "com/sun/star/beans/PropertyValue.hpp"
-#include "com/sun/star/ucb/CommandInfo.hpp"
-#include "com/sun/star/uno/Sequence.hxx"
-
-#include "myucp_content.hxx"
-
-#ifdef IMPLEMENT_COMMAND_INSERT
-#include "com/sun/star/ucb/InsertCommandArgument.hpp"
-#endif
-
-#ifdef IMPLEMENT_COMMAND_OPEN
-#include "com/sun/star/ucb/OpenCommandArgument2.hpp"
-#endif
-
-using namespace com::sun::star;
-
-// @@@ Adjust namespace name.
-using namespace myucp;
-
-//=========================================================================
-//
-// Content implementation.
-//
-//=========================================================================
-
-//=========================================================================
-//
-// IMPORTENT: If any property data ( name / type / ... ) are changed, then
-// Content::getPropertyValues(...) must be adapted too!
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< beans::Property > Content::getProperties(
- const uno::Reference< ucb::XCommandEnvironment > & /*xEnv*/ )
-{
- // @@@ Add additional properties...
-
- // @@@ Note: If your data source supports adding/removing properties,
- // you should implement the interface XPropertyContainer
- // by yourself and supply your own logic here. The base class
- // uses the service "com.sun.star.ucb.Store" to maintain
- // Additional Core properties. But using server functionality
- // is preferred! In fact you should return a table conatining
- // even that dynamicly added properties.
-
-// osl::Guard< osl::Mutex > aGuard( m_aMutex );
-
- //=================================================================
- //
- // Supported properties
- //
- //=================================================================
-
- #define PROPERTY_COUNT 4
-
- static beans::Property aPropertyInfoTable[] =
- {
- ///////////////////////////////////////////////////////////////
- // Mandatory 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
- ///////////////////////////////////////////////////////////////
-
- ///////////////////////////////////////////////////////////////
- // New properties
- ///////////////////////////////////////////////////////////////
- };
- return uno::Sequence<
- beans::Property >( aPropertyInfoTable, PROPERTY_COUNT );
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< ucb::CommandInfo > Content::getCommands(
- const uno::Reference< ucb::XCommandEnvironment > & /*xEnv*/ )
-{
- // @@@ Add additional commands...
-
-// osl::Guard< osl::Mutex > aGuard( m_aMutex );
-
- //=================================================================
- //
- // Supported commands
- //
- //=================================================================
-
- sal_uInt32 nCommandCount = 4;
-#ifdef IMPLEMENT_COMMAND_DELETE
- nCommandCount++;
-#endif
-#ifdef IMPLEMENT_COMMAND_INSERT
- nCommandCount++;
-#endif
-#ifdef IMPLEMENT_COMMAND_OPEN
- nCommandCount++;
-#endif
-
- static const ucb::CommandInfo aCommandInfoTable[] =
- {
- ///////////////////////////////////////////////////////////////
- // Mandatory commands
- ///////////////////////////////////////////////////////////////
- ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getCommandInfo" ) ),
- -1,
- getCppuVoidType()
- ),
- ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getPropertySetInfo" ) ),
- -1,
- getCppuVoidType()
- ),
- ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "getPropertyValues" ) ),
- -1,
- getCppuType(
- static_cast< uno::Sequence< beans::Property > * >( 0 ) )
- ),
- ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "setPropertyValues" ) ),
- -1,
- getCppuType(
- static_cast< uno::Sequence< beans::PropertyValue > * >( 0 ) )
- )
- ///////////////////////////////////////////////////////////////
- // Optional standard commands
- ///////////////////////////////////////////////////////////////
-
-#ifdef IMPLEMENT_COMMAND_DELETE
- , ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "delete" ) ),
- -1,
- getCppuBooleanType()
- )
-#endif
-#ifdef IMPLEMENT_COMMAND_INSERT
- , ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "insert" ) ),
- -1,
- getCppuType(
- static_cast< ucb::InsertCommandArgument * >( 0 ) )
- )
-#endif
-#ifdef IMPLEMENT_COMMAND_OPEN
- , ucb::CommandInfo(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "open" ) ),
- -1,
- getCppuType( static_cast< ucb::OpenCommandArgument2 * >( 0 ) )
- )
-#endif
- ///////////////////////////////////////////////////////////////
- // New commands
- ///////////////////////////////////////////////////////////////
- };
-
- return uno::Sequence<
- ucb::CommandInfo >( aCommandInfoTable, nCommandCount );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_datasupplier.cxx b/ucbhelper/workben/myucp/myucp_datasupplier.cxx
deleted file mode 100644
index 77f10880392f..000000000000
--- a/ucbhelper/workben/myucp/myucp_datasupplier.cxx
+++ /dev/null
@@ -1,399 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#include <vector>
-
-#include "ucbhelper/contentidentifier.hxx"
-#include "ucbhelper/providerhelper.hxx"
-
-#include "myucp_datasupplier.hxx"
-#include "myucp_content.hxx"
-
-using namespace com::sun::star;
-
-// @@@ Adjust namespace name.
-namespace myucp
-{
-
-//=========================================================================
-//
-// struct ResultListEntry.
-//
-//=========================================================================
-
-struct ResultListEntry
-{
- rtl::OUString aId;
- uno::Reference< ucb::XContentIdentifier > xId;
- uno::Reference< ucb::XContent > xContent;
- uno::Reference< sdbc::XRow > xRow;
- const ContentProperties& rData;
-
- ResultListEntry( const ContentProperties& rEntry ) : rData( rEntry ) {}
-};
-
-//=========================================================================
-//
-// ResultList.
-//
-//=========================================================================
-
-typedef std::vector< ResultListEntry* > ResultList;
-
-//=========================================================================
-//
-// struct DataSupplier_Impl.
-//
-//=========================================================================
-
-struct DataSupplier_Impl
-{
- osl::Mutex m_aMutex;
- ResultList m_aResults;
- rtl::Reference< Content > m_xContent;
- uno::Reference< lang::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 uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const rtl::Reference< Content >& rContent,
- sal_Int32 nOpenMode )
- : m_xContent( rContent ), m_xSMgr( rxSMgr ),
-// m_aFolder( rxSMgr, rContent->getIdentifier()->getContentIdentifier() ),
- m_nOpenMode( nOpenMode ), m_bCountFinal( sal_False ) {}
- ~DataSupplier_Impl();
-};
-
-//=========================================================================
-DataSupplier_Impl::~DataSupplier_Impl()
-{
- ResultList::const_iterator it = m_aResults.begin();
- ResultList::const_iterator end = m_aResults.end();
-
- while ( it != end )
- {
- delete (*it);
- ++it;
- }
-}
-
-//=========================================================================
-//=========================================================================
-//
-// DataSupplier Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-DataSupplier::DataSupplier( const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const rtl::Reference< 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.aTitle;
-
- m_pImpl->m_aResults[ nIndex ]->aId = aId;
- return aId;
- }
- return rtl::OUString();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< ucb::XContentIdentifier >
-DataSupplier::queryContentIdentifier( sal_uInt32 nIndex )
-{
- osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
-
- if ( nIndex < m_pImpl->m_aResults.size() )
- {
- uno::Reference< ucb::XContentIdentifier > xId
- = m_pImpl->m_aResults[ nIndex ]->xId;
- if ( xId.is() )
- {
- // Already cached.
- return xId;
- }
- }
-
- rtl::OUString aId = queryContentIdentifierString( nIndex );
- if ( aId.getLength() )
- {
- uno::Reference< ucb::XContentIdentifier > xId
- = new ::ucbhelper::ContentIdentifier( aId );
- m_pImpl->m_aResults[ nIndex ]->xId = xId;
- return xId;
- }
- return uno::Reference< ucb::XContentIdentifier >();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< ucb::XContent >
-DataSupplier::queryContent( sal_uInt32 nIndex )
-{
- osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
-
- if ( nIndex < m_pImpl->m_aResults.size() )
- {
- uno::Reference< ucb::XContent > xContent
- = m_pImpl->m_aResults[ nIndex ]->xContent;
- if ( xContent.is() )
- {
- // Already cached.
- return xContent;
- }
- }
-
- uno::Reference< ucb::XContentIdentifier > xId
- = queryContentIdentifier( nIndex );
- if ( xId.is() )
- {
- try
- {
- uno::Reference< ucb::XContent > xContent
- = m_pImpl->m_xContent->getProvider()->queryContent( xId );
- m_pImpl->m_aResults[ nIndex ]->xContent = xContent;
- return xContent;
-
- }
- catch ( ucb::IllegalIdentifierException& )
- {
- }
- }
- return uno::Reference< ucb::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;
-
- // @@@ Obtain data and put it into result list...
-/*
- sal_uInt32 nPos = nOldCount;
- 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++;
- }
-*/
-
- if ( !bFound )
- m_pImpl->m_bCountFinal = sal_True;
-
- rtl::Reference< ::ucbhelper::ResultSet > xResultSet = getResultSet().get();
- if ( xResultSet.is() )
- {
- // Callbacks follow!
- aGuard.clear();
-
- if ( nOldCount < m_pImpl->m_aResults.size() )
- xResultSet->rowCountChanged(
- nOldCount, m_pImpl->m_aResults.size() );
-
- if ( m_pImpl->m_bCountFinal )
- xResultSet->rowCountFinal();
- }
-
- return bFound;
-}
-
-//=========================================================================
-// virtual
-sal_uInt32 DataSupplier::totalCount()
-{
- osl::ClearableGuard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
-
- if ( m_pImpl->m_bCountFinal )
- return m_pImpl->m_aResults.size();
-
- sal_uInt32 nOldCount = m_pImpl->m_aResults.size();
-
- // @@@ Obtain data and put it into result list...
-/*
- while ( m_pImpl->m_aFolder.next( m_pImpl->m_aIterator ) )
- m_pImpl->m_aResults.push_back(
- new ResultListEntry( *m_pImpl->m_aIterator ) );
-*/
- m_pImpl->m_bCountFinal = sal_True;
-
- rtl::Reference< ::ucbhelper::ResultSet > xResultSet = getResultSet().get();
- if ( xResultSet.is() )
- {
- // Callbacks follow!
- aGuard.clear();
-
- if ( nOldCount < m_pImpl->m_aResults.size() )
- xResultSet->rowCountChanged(
- nOldCount, m_pImpl->m_aResults.size() );
-
- xResultSet->rowCountFinal();
- }
-
- return m_pImpl->m_aResults.size();
-}
-
-//=========================================================================
-// virtual
-sal_uInt32 DataSupplier::currentCount()
-{
- return m_pImpl->m_aResults.size();
-}
-
-//=========================================================================
-// virtual
-sal_Bool DataSupplier::isCountFinal()
-{
- return m_pImpl->m_bCountFinal;
-}
-
-//=========================================================================
-// virtual
-uno::Reference< sdbc::XRow >
-DataSupplier::queryPropertyValues( sal_uInt32 nIndex )
-{
- osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
-
- if ( nIndex < m_pImpl->m_aResults.size() )
- {
- uno::Reference< sdbc::XRow > xRow = m_pImpl->m_aResults[ nIndex ]->xRow;
- if ( xRow.is() )
- {
- // Already cached.
- return xRow;
- }
- }
-
- if ( getResult( nIndex ) )
- {
- uno::Reference< sdbc::XRow > xRow = Content::getPropertyValues(
- m_pImpl->m_xSMgr,
- getResultSet()->getProperties(),
- m_pImpl->m_aResults[ nIndex ]->rData,
- m_pImpl->m_xContent->getProvider().get(),
- queryContentIdentifierString( nIndex ) );
- m_pImpl->m_aResults[ nIndex ]->xRow = xRow;
- return xRow;
- }
-
- return uno::Reference< sdbc::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 = uno::Reference< sdbc::XRow >();
-}
-
-//=========================================================================
-// virtual
-void DataSupplier::close()
-{
-}
-
-//=========================================================================
-// virtual
-void DataSupplier::validate()
- throw( ucb::ResultSetException )
-{
-}
-
-} // namespace
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_datasupplier.hxx b/ucbhelper/workben/myucp/myucp_datasupplier.hxx
deleted file mode 100644
index a4bafb8e4480..000000000000
--- a/ucbhelper/workben/myucp/myucp_datasupplier.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// @@@ Adjust multi-include-protection-ifdef.
-#ifndef _MYUCP_DATASUPPLIER_HXX
-#define _MYUCP_DATASUPPLIER_HXX
-
-#include "rtl/ref.hxx"
-#include "ucbhelper/resultset.hxx"
-
-// @@@ Adjust namespace name.
-namespace myucp {
-
-struct DataSupplier_Impl;
-class Content;
-
-class DataSupplier : public ucbhelper::ResultSetDataSupplier
-{
- DataSupplier_Impl* m_pImpl;
-
-public:
- DataSupplier( const com::sun::star::uno::Reference<
- com::sun::star::lang::XMultiServiceFactory >& rxSMgr,
- const rtl::Reference< Content >& rContent,
- sal_Int32 nOpenMode );
- virtual ~DataSupplier();
-
- virtual rtl::OUString queryContentIdentifierString( sal_uInt32 nIndex );
- virtual com::sun::star::uno::Reference<
- com::sun::star::ucb::XContentIdentifier >
- queryContentIdentifier( sal_uInt32 nIndex );
- virtual com::sun::star::uno::Reference< com::sun::star::ucb::XContent >
- queryContent( sal_uInt32 nIndex );
-
- virtual sal_Bool getResult( sal_uInt32 nIndex );
-
- virtual sal_uInt32 totalCount();
- virtual sal_uInt32 currentCount();
- virtual sal_Bool isCountFinal();
-
- virtual com::sun::star::uno::Reference< com::sun::star::sdbc::XRow >
- queryPropertyValues( sal_uInt32 nIndex );
- virtual void releasePropertyValues( sal_uInt32 nIndex );
-
- virtual void close();
-
- virtual void validate()
- throw( com::sun::star::ucb::ResultSetException );
-};
-
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_provider.cxx b/ucbhelper/workben/myucp/myucp_provider.cxx
deleted file mode 100644
index 35057dedee19..000000000000
--- a/ucbhelper/workben/myucp/myucp_provider.cxx
+++ /dev/null
@@ -1,158 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#include "osl/diagnose.h"
-#include "osl/mutex.hxx"
-
-#include "ucbhelper/contentidentifier.hxx"
-
-#include "myucp_provider.hxx"
-#include "myucp_content.hxx"
-
-using namespace com::sun::star;
-
-// @@@ Adjust namespace name.
-namespace myucp {
-
-//=========================================================================
-//=========================================================================
-//
-// ContentProvider Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-ContentProvider::ContentProvider(
- const uno::Reference< lang::XMultiServiceFactory >& rSMgr )
-: ::ucbhelper::ContentProviderImplHelper( rSMgr )
-{
-}
-
-//=========================================================================
-// virtual
-ContentProvider::~ContentProvider()
-{
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// @@@ Add own interfaces.
-XINTERFACE_IMPL_3( ContentProvider,
- lang::XTypeProvider,
- lang::XServiceInfo,
- ucb::XContentProvider );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// @@@ Add own interfaces.
-XTYPEPROVIDER_IMPL_3( ContentProvider,
- lang::XTypeProvider,
- lang::XServiceInfo,
- ucb::XContentProvider );
-
-//=========================================================================
-//
-// XServiceInfo methods.
-//
-//=========================================================================
-
-// @@@ Adjust implementation name. Keep the prefix "com.sun.star.comp."!
-// @@@ Adjust service name.
-XSERVICEINFO_IMPL_1( ContentProvider,
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.comp.myucp.ContentProvider" )),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- MYUCP_CONTENT_PROVIDER_SERVICE_NAME )) );
-
-//=========================================================================
-//
-// Service factory implementation.
-//
-//=========================================================================
-
-ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider );
-
-//=========================================================================
-//
-// XContentProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Reference< ucb::XContent > SAL_CALL ContentProvider::queryContent(
- const uno::Reference< ucb::XContentIdentifier >& Identifier )
- throw( ucb::IllegalIdentifierException, uno::RuntimeException )
-{
- // Check URL scheme...
-
- rtl::OUString aScheme( RTL_CONSTASCII_USTRINGPARAM( MYUCP_URL_SCHEME ) );
- if ( !Identifier->getContentProviderScheme().equalsIgnoreAsciiCase( aScheme ) )
- throw ucb::IllegalIdentifierException();
-
- uno::Reference< ucb::XContentIdentifier > xCanonicId = Identifier;
-
- osl::MutexGuard aGuard( m_aMutex );
-
- // Check, if a content with given id already exists...
- uno::Reference< ucb::XContent > xContent
- = queryExistingContent( xCanonicId ).get();
- if ( xContent.is() )
- return xContent;
-
- // @@@ Decision, which content implementation to instanciate may be
- // made here ( in case you have different content classes ).
-
- // Create a new content.
-
- xContent = new Content( m_xSMgr, this, xCanonicId );
- registerNewContent( xContent );
-
- if ( !xContent->getIdentifier().is() )
- throw ucb::IllegalIdentifierException();
-
- return xContent;
-}
-
-} // namespace
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_provider.hxx b/ucbhelper/workben/myucp/myucp_provider.hxx
deleted file mode 100644
index 729cb5a36687..000000000000
--- a/ucbhelper/workben/myucp/myucp_provider.hxx
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// @@@ Adjust multi-include-protection-ifdef.
-#ifndef _MYUCP_PROVIDER_HXX
-#define _MYUCP_PROVIDER_HXX
-
-#include "ucbhelper/providerhelper.hxx"
-
-// @@@ Adjust namespace name.
-namespace myucp {
-
-//=========================================================================
-
-// @@@ Adjust defines.
-
-// UNO service name for the provider. This name will be used by the UCB to
-// create instances of the provider. Prefix with reversed company domain name.
-#define MYUCP_CONTENT_PROVIDER_SERVICE_NAME \
- "com.sun.star.ucb.MyContentProvider"
-#define MYUCP_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 MYUCP_URL_SCHEME \
- "vnd.sun.star.myucp"
-#define MYUCP_URL_SCHEME_LENGTH 18
-
-// UCB Content Type.
-#define MYUCP_CONTENT_TYPE \
- "application/" MYUCP_URL_SCHEME "-content"
-
-//=========================================================================
-
-class ContentProvider : public ::ucbhelper::ContentProviderImplHelper
-{
-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.
- //////////////////////////////////////////////////////////////////////
-};
-
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_resultset.cxx b/ucbhelper/workben/myucp/myucp_resultset.cxx
deleted file mode 100644
index 154314c924a6..000000000000
--- a/ucbhelper/workben/myucp/myucp_resultset.cxx
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- - This implementation is not a dynamic result set!!! It only implements
- the necessary interfaces, but never recognizes/notifies changes!!!
-
- *************************************************************************/
-
-#include "myucp_datasupplier.hxx"
-#include "myucp_resultset.hxx"
-
-using namespace com::sun::star;
-
-// @@@ Adjust namespace name.
-namespace myucp {
-
-//=========================================================================
-//=========================================================================
-//
-// DynamicResultSet Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-DynamicResultSet::DynamicResultSet(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const rtl::Reference< Content >& rxContent,
- const ucb::OpenCommandArgument2& rCommand,
- const uno::Reference< ucb::XCommandEnvironment >& rxEnv )
-: ResultSetImplHelper( rxSMgr, rCommand ),
- m_xContent( rxContent ),
- m_xEnv( rxEnv )
-{
-}
-
-//=========================================================================
-//
-// Non-interface methods.
-//
-//=========================================================================
-
-void DynamicResultSet::initStatic()
-{
- m_xResultSet1
- = new ::ucbhelper::ResultSet( m_xSMgr,
- m_aCommand.Properties,
- new DataSupplier( m_xSMgr,
- m_xContent,
- m_aCommand.Mode ),
- m_xEnv );
-}
-
-//=========================================================================
-void DynamicResultSet::initDynamic()
-{
- m_xResultSet1
- = new ::ucbhelper::ResultSet( m_xSMgr,
- m_aCommand.Properties,
- new DataSupplier( m_xSMgr,
- m_xContent,
- m_aCommand.Mode ),
- m_xEnv );
- m_xResultSet2 = m_xResultSet1;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_resultset.hxx b/ucbhelper/workben/myucp/myucp_resultset.hxx
deleted file mode 100644
index a36509f961ff..000000000000
--- a/ucbhelper/workben/myucp/myucp_resultset.hxx
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// @@@ Adjust multi-include-protection-ifdef.
-#ifndef _MYUCP_RESULTSET_HXX
-#define _MYUCP_RESULTSET_HXX
-
-#include "rtl/ref.hxx"
-#include "ucbhelper/resultsethelper.hxx"
-
-#include "myucp_content.hxx"
-
-// @@@ Adjust namespace name.
-namespace myucp {
-
-class DynamicResultSet : public ::ucbhelper::ResultSetImplHelper
-{
- rtl::Reference< Content > m_xContent;
- com::sun::star::uno::Reference<
- com::sun::star::ucb::XCommandEnvironment > m_xEnv;
-
-private:
- virtual void initStatic();
- virtual void initDynamic();
-
-public:
- DynamicResultSet(
- const com::sun::star::uno::Reference<
- com::sun::star::lang::XMultiServiceFactory >& rxSMgr,
- const rtl::Reference< Content >& rxContent,
- const com::sun::star::ucb::OpenCommandArgument2& rCommand,
- const com::sun::star::uno::Reference<
- com::sun::star::ucb::XCommandEnvironment >& rxEnv );
-};
-
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/myucp/myucp_services.cxx b/ucbhelper/workben/myucp/myucp_services.cxx
deleted file mode 100644
index aa99c5bdd584..000000000000
--- a/ucbhelper/workben/myucp/myucp_services.cxx
+++ /dev/null
@@ -1,129 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-#include "com/sun/star/lang/XMultiServiceFactory.hpp"
-#include "com/sun/star/lang/XSingleServiceFactory.hpp"
-#include "com/sun/star/registry/XRegistryKey.hpp"
-
-#include "myucp_provider.hxx"
-
-using namespace com::sun::star;
-
-namespace {
-
-//=========================================================================
-sal_Bool writeInfo( void * pRegistryKey,
- const rtl::OUString & rImplementationName,
- uno::Sequence< rtl::OUString > const & rServiceNames )
-{
- rtl::OUString aKeyName( RTL_CONSTASCII_USTRINGPARAM("/") );
- aKeyName += rImplementationName;
- aKeyName += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
-
- uno::Reference< registry::XRegistryKey > xKey;
- try
- {
- xKey = static_cast< registry::XRegistryKey * >(
- pRegistryKey )->createKey( aKeyName );
- }
- catch ( registry::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 ( registry::InvalidRegistryException const & )
- {
- bSuccess = sal_False;
- break;
- }
- }
- return bSuccess;
-}
-
-}
-
-//=========================================================================
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- return pRegistryKey &&
-
- //////////////////////////////////////////////////////////////////////
- // Write info into registry.
- //////////////////////////////////////////////////////////////////////
-
- // @@@ Adjust namespace names.
- writeInfo( pRegistryKey,
- ::myucp::ContentProvider::getImplementationName_Static(),
- ::myucp::ContentProvider::getSupportedServiceNames_Static() );
-}
-
-//=========================================================================
-extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
- const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
-{
- void * pRet = 0;
-
- uno::Reference< lang::XMultiServiceFactory > xSMgr(
- reinterpret_cast< lang::XMultiServiceFactory * >( pServiceManager ) );
- uno::Reference< lang::XSingleServiceFactory > xFactory;
-
- //////////////////////////////////////////////////////////////////////
- // Create factory, if implementation name matches.
- //////////////////////////////////////////////////////////////////////
-
- // @@@ Adjust namespace names.
- if ( ::myucp::ContentProvider::getImplementationName_Static().
- compareToAscii( pImplName ) == 0 )
- {
- xFactory = ::myucp::ContentProvider::createServiceFactory( xSMgr );
- }
-
- //////////////////////////////////////////////////////////////////////
-
- if ( xFactory.is() )
- {
- xFactory->acquire();
- pRet = xFactory.get();
- }
-
- return pRet;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/ucbexplorer/bmp/document.bmp b/ucbhelper/workben/ucbexplorer/bmp/document.bmp
deleted file mode 100644
index 63baf47eca46..000000000000
--- a/ucbhelper/workben/ucbexplorer/bmp/document.bmp
+++ /dev/null
Binary files differ
diff --git a/ucbhelper/workben/ucbexplorer/bmp/fldclose.bmp b/ucbhelper/workben/ucbexplorer/bmp/fldclose.bmp
deleted file mode 100644
index c0f26b337f7a..000000000000
--- a/ucbhelper/workben/ucbexplorer/bmp/fldclose.bmp
+++ /dev/null
Binary files differ
diff --git a/ucbhelper/workben/ucbexplorer/bmp/fldopen.bmp b/ucbhelper/workben/ucbexplorer/bmp/fldopen.bmp
deleted file mode 100644
index f38643510e78..000000000000
--- a/ucbhelper/workben/ucbexplorer/bmp/fldopen.bmp
+++ /dev/null
Binary files differ
diff --git a/ucbhelper/workben/ucbexplorer/bmp/link.bmp b/ucbhelper/workben/ucbexplorer/bmp/link.bmp
deleted file mode 100644
index 0269a76d98d0..000000000000
--- a/ucbhelper/workben/ucbexplorer/bmp/link.bmp
+++ /dev/null
Binary files differ
diff --git a/ucbhelper/workben/ucbexplorer/makefile.mk b/ucbhelper/workben/ucbexplorer/makefile.mk
deleted file mode 100644
index f8c1272e6760..000000000000
--- a/ucbhelper/workben/ucbexplorer/makefile.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=ucbhelper
-TARGET=ucbexplorer
-TARGETTYPE=GUI
-LIBTARGET=NO
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings ---
-
-.INCLUDE : settings.mk
-
-# --- Files ---
-
-OBJFILES=$(OBJ)$/$(TARGET).obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES=$(TARGET).src
-
-#
-# UCBEXPLORER
-#
-
-APP1TARGET=$(TARGET)
-
-RESLIB1NAME=$(TARGET)
-RESLIB1SRSFILES=$(SRS)$/$(TARGET).srs
-
-APP1OBJS=$(OBJ)$/$(TARGET).obj
-APP1RES=$(RES)$/$(TARGET).res
-
-APP1STDLIBS=$(SALLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(TOOLSLIB) \
- $(SVTOOLLIB) \
- $(COMPHELPERLIB) \
- $(UCBHELPERLIB) \
- $(VCLLIB)
-
-# --- Targets ---
-
-.INCLUDE : target.mk
-
diff --git a/ucbhelper/workben/ucbexplorer/ucbexplorer.cxx b/ucbhelper/workben/ucbexplorer/ucbexplorer.cxx
deleted file mode 100644
index 8915cff4cd8b..000000000000
--- a/ucbhelper/workben/ucbexplorer/ucbexplorer.cxx
+++ /dev/null
@@ -1,1192 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <cppuhelper/weak.hxx>
-#include <cppuhelper/bootstrap.hxx>
-#include <comphelper/processfactory.hxx>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/beans/XPropertySetInfo.hpp>
-#include <com/sun/star/io/XActiveDataSink.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/sdbc/XResultSet.hpp>
-#include <com/sun/star/ucb/XCommandInfo.hpp>
-#include <com/sun/star/ucb/XContentAccess.hpp>
-#include <com/sun/star/ucb/CommandAbortedException.hpp>
-#include <com/sun/star/ucb/ContentInfo.hpp>
-#include <com/sun/star/ucb/ContentInfoAttribute.hpp>
-
-#include "rtl/ref.hxx"
-#include <ucbhelper/content.hxx>
-#include <ucbhelper/contentbroker.hxx>
-#include <ucbhelper/commandenvironment.hxx>
-#include <svtools/svtreebx.hxx>
-#include <vcl/wrkwin.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/menu.hxx>
-#include <vcl/dialog.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/group.hxx>
-#include <vcl/button.hxx>
-#include <vcl/msgbox.hxx>
-#include <ucbhelper/macros.hxx>
-#include <ucbhelper/configurationkeys.hxx>
-
-#include "ucbexplorer.hrc"
-
-using namespace com::sun::star;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::io;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::task;
-using namespace com::sun::star::ucb;
-using namespace com::sun::star::uno;
-
-using ::rtl::OUString;
-
-//=========================================================================
-//
-// class TestDataSink.
-//
-//=========================================================================
-
-class TestDataSink : public cppu::OWeakObject, public XActiveDataSink
-{
- uno::Reference< XInputStream > m_xStream;
-
-public:
-// TestDataSink() {}
-// virtual ~TestDataSink();
-
- // XInterface methods
- virtual Any SAL_CALL queryInterface( const Type & rType )
- throw( RuntimeException );
- virtual void SAL_CALL acquire()
- throw ();
- virtual void SAL_CALL release()
- throw ();
-
- // XActiveDataSink methods.
- virtual void SAL_CALL setInputStream(
- const uno::Reference< XInputStream >& aStream )
- throw( RuntimeException );
- virtual uno::Reference< XInputStream > SAL_CALL getInputStream()
- throw( RuntimeException );
-};
-
-//=========================================================================
-//
-// class StringInputDialog.
-//
-//=========================================================================
-
-class StringInputDialog : public ModalDialog
-{
-private:
- FixedText m_aNameText;
- Edit m_aNameEdit;
- GroupBox m_aNameGroup;
- OKButton m_aOKBtn;
- CancelButton m_aCancelBtn;
- HelpButton m_aHelpBtn;
-
- DECL_LINK( OKHdl, Button * );
- DECL_LINK( NameHdl, Edit * );
-
-public:
- StringInputDialog( ResMgr& rResMgr,
- const String& rTitle,
- const String& rDefaultText,
- String* pGroupName = 0 );
- String GetValue() const { return m_aNameEdit.GetText(); }
- void SetValue( const String& rNewName ) { m_aNameEdit.SetText( rNewName ); }
-};
-
-//=========================================================================
-//
-// class UcbExplorerListBoxEntry.
-//
-//=========================================================================
-
-class UcbExplorerListBoxEntry : public SvLBoxEntry
-{
- friend class UcbExplorerTreeListBox;
-
- enum EntryType { FOLDER, DOCUMENT, LINK };
-
- ::ucbhelper::Content m_aContent;
- EntryType m_eType;
-
-public:
- UcbExplorerListBoxEntry();
- virtual ~UcbExplorerListBoxEntry();
-
- BOOL createNewContent( const ContentInfo& rInfo,
- ::ucbhelper::Content& rNewContent );
-};
-
-//=========================================================================
-//
-// class UcbExplorerTreeListBox.
-//
-//=========================================================================
-
-class UcbExplorerTreeListBox : public SvTreeListBox
-{
- Bitmap m_aFolderClosed;
- Bitmap m_aFolderOpened;
- Bitmap m_aDocument;
- Bitmap m_aLink;
-
-private:
- virtual SvLBoxEntry* CreateEntry() const;
- virtual void RequestingChildren( SvLBoxEntry* pParent );
-
-public:
- UcbExplorerTreeListBox( ResMgr & rResMgr, Window* pParent, WinBits nWinStyle = 0 );
- virtual ~UcbExplorerTreeListBox();
-
- virtual void Command( const CommandEvent& rCEvt );
-
- UcbExplorerListBoxEntry*
- InsertEntry( ::ucbhelper::Content& rContent, SvLBoxEntry* pParent );
- UcbExplorerListBoxEntry*
- InsertEntry( const String& rURL, SvLBoxEntry* pParent = 0 );
-};
-
-//=========================================================================
-//
-// class UcbExplorerWindow.
-//
-//=========================================================================
-
-class UcbExplorerWindow : public WorkWindow
-{
- friend class MyApp;
-
- UcbExplorerTreeListBox m_aTree;
-
-public:
- UcbExplorerWindow( ResMgr & rResMgr, Window *pParent, WinBits nWinStyle );
- virtual ~UcbExplorerWindow();
-
- virtual void Resize();
-};
-
-//=========================================================================
-//
-// class MyApp.
-//
-//=========================================================================
-
-class MyApp : public Application
-{
-public:
- virtual void Main();
-};
-
-//=========================================================================
-//
-// TestDataSink implementation.
-//
-//=========================================================================
-
-// virtual
-Any SAL_CALL TestDataSink::queryInterface( const Type & rType )
- throw( RuntimeException )
-{
- Any aRet = cppu::queryInterface(
- rType,
- static_cast< XActiveDataSink * >( this ) );
- return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL TestDataSink::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL TestDataSink::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL TestDataSink::setInputStream(
- const uno::Reference< XInputStream >& aStream )
- throw( RuntimeException )
-{
- m_xStream = aStream;
-}
-
-//=========================================================================
-// virtual
-uno::Reference< XInputStream > SAL_CALL TestDataSink::getInputStream()
- throw( RuntimeException )
-{
- return m_xStream;
-}
-
-//=========================================================================
-//
-// StringInputDialog implementation.
-//
-//=========================================================================
-
-StringInputDialog::StringInputDialog( ResMgr& rResMgr,
- const String& rTitle,
- const String& rDefaultText,
- String* pGroupName )
- : ModalDialog( 0, ResId( DLG_STRINGINPUT, rResMgr ) ),
- m_aNameText ( this, ResId( FT_STRINGINPUT_DLG_NAME, rResMgr ) ),
- m_aNameEdit ( this, ResId( ED_STRINGINPUT_DLG_NAME, rResMgr ) ),
- m_aNameGroup( this, ResId( GB_STRINGINPUT_DLG_NAME, rResMgr ) ),
- m_aOKBtn ( this, ResId( BT_STRINGINPUT_DLG_OK, rResMgr ) ),
- m_aCancelBtn( this, ResId( BT_STRINGINPUT_DLG_CANCEL, rResMgr ) ),
- m_aHelpBtn ( this, ResId( BT_STRINGINPUT_DLG_HELP, rResMgr ) )
-{
- FreeResource();
- SetText( rTitle );
- m_aNameEdit.SetText( rDefaultText );
- m_aOKBtn.SetClickHdl( LINK( this, StringInputDialog, OKHdl ) );
- m_aNameEdit.SetModifyHdl( LINK( this, StringInputDialog, NameHdl ) );
-
- if ( pGroupName )
- m_aNameGroup.SetText( *pGroupName );
-};
-
-//=========================================================================
-IMPL_LINK_NOARG(StringInputDialog, OKHdl)
-{
- // trim the strings
- m_aNameEdit.SetText(
- m_aNameEdit.GetText().EraseLeadingChars().EraseTrailingChars() );
- EndDialog( RET_OK );
- return 1;
-}
-
-//=========================================================================
-IMPL_LINK_NOARG(StringInputDialog, NameHdl)
-{
-/*
- // trim the strings
- String aName = m_aNameEdit.GetText();
- aName.EraseLeadingChars().EraseTrailingChars();
- if ( aName.Len() )
- {
- if ( !m_aOKBtn.IsEnabled() )
- m_aOKBtn.Enable( TRUE );
- }
- else
- {
- if ( m_aOKBtn.IsEnabled() )
- m_aOKBtn.Enable( FALSE );
- }
-*/
- return 0;
-}
-
-//=========================================================================
-//
-// UcbExplorerListBoxEntry implementation.
-//
-//=========================================================================
-
-UcbExplorerListBoxEntry::UcbExplorerListBoxEntry()
-{
-}
-
-//=========================================================================
-// virtual
-UcbExplorerListBoxEntry::~UcbExplorerListBoxEntry()
-{
-}
-
-//=========================================================================
-BOOL UcbExplorerListBoxEntry::createNewContent( const ContentInfo& rInfo,
- ::ucbhelper::Content& rNewContent )
-{
- sal_Int32 nCount = rInfo.Properties.getLength();
- Sequence< Any > aPropValues( nCount );
- Sequence< OUString > aPropNames( nCount );
-
- if ( nCount > 0 )
- {
- // Collect property values.
-
- Any* pValues = aPropValues.getArray();
- const Property* pProps = rInfo.Properties.getConstArray();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const OUString& rName = pProps[ n ].Name;
-
- std::auto_ptr< ResMgr > xManager(
- ResMgr::CreateResMgr( "ucbexplorer" ) );
- StringInputDialog* pDlg = new StringInputDialog( *xManager.get(), rName, rName );
- USHORT nRet = pDlg->Execute();
- if ( nRet == RET_OK )
- {
- OUString aValue( pDlg->GetValue() );
-
- // Convert value according to supplied type info...
-
- const Type& rType = pProps[ n ].Type;
-
- if ( rType == getCppuType(
- static_cast< const OUString * >( 0 ) ) )
- {
- // string
- pValues[ n ] <<= aValue;
- }
- else if ( rType == getCppuType(
- static_cast< const sal_Int32 * >( 0 ) ) )
- {
- // long
- pValues[ n ] <<= aValue.toInt32();
- }
- else if ( rType == getCppuType(
- static_cast< const sal_Int16 * >( 0 ) ) )
- {
- // short
- pValues[ n ] <<= sal_Int16( aValue.toInt32() ) ;
- }
- else if ( rType == getCppuBooleanType() )
- {
- // boolean
- pValues[ n ] <<= sal_Bool( aValue.toChar() ) ;
- }
- else if ( rType == getCppuCharType() )
- {
- // char
- pValues[ n ] <<= aValue.toChar();
- }
- else if ( rType == getCppuType(
- static_cast< const sal_Int8 * >( 0 ) ) )
- {
- // byte
- pValues[ n ] <<= sal_Int8( aValue.toChar() ) ;
- }
- else if ( rType == getCppuType(
- static_cast< const sal_Int64 * >( 0 ) ) )
- {
- // hyper
- pValues[ n ] <<= aValue.toInt64();
- }
- else if ( rType == getCppuType(
- static_cast< const float * >( 0 ) ) )
- {
- // float
- pValues[ n ] <<= aValue.toFloat();
- }
- else if ( rType == getCppuType(
- static_cast< const double * >( 0 ) ) )
- {
- // double
- pValues[ n ] <<= aValue.toDouble();
- }
- else
- {
- // See com/sun/star/ucb/ContentInfo.idl
- OSL_FAIL( "UcbExplorerListBoxEntry::createNewContent - "
- "Invlid type for bootstrap property!" );
- }
- }
-
- delete pDlg;
-
- if ( nRet != RET_OK )
- return FALSE;
-
- aPropNames[ n ] = rName;
- }
- }
-
- uno::Reference< XInputStream > xData;
-
- if ( rInfo.Attributes & ContentInfoAttribute::INSERT_WITH_INPUTSTREAM )
- {
- // Let the user specify the URL of a content containing the
- // data to supply to the new content.
-
- std::auto_ptr< ResMgr > xManager(
- ResMgr::CreateResMgr( "ucbexplorer" ) );
- StringInputDialog* pDlg = new StringInputDialog(
- *xManager.get(),
- OUString(RTL_CONSTASCII_USTRINGPARAM(
- "Document Data Source URL" )),
- OUString() );
- USHORT nRet = pDlg->Execute();
- if ( nRet == RET_OK )
- {
- // Create a content object for the given URL.
-
- OUString aSourceURL( pDlg->GetValue() );
- if ( aSourceURL.getLength() == 0 )
- {
- OSL_FAIL( "UcbExplorerListBoxEntry::createNewContent - "
- "No document data URL!" );
- return FALSE;
- }
-
- try
- {
- uno::Reference< XCommandEnvironment > xEnv;
-
- ::ucbhelper::ContentBroker* pBroker = ::ucbhelper::ContentBroker::get();
- if ( pBroker )
- {
- uno::Reference< XInteractionHandler > xInteractionHandler(
- pBroker->getServiceManager()->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.task.InteractionHandler" )) ),
- UNO_QUERY );
-
- uno::Reference< XProgressHandler > xProgressHandler
- /* = new ProgressHandler( *pBroker ) */ ;
-
- xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler,
- xProgressHandler );
- }
-
- ::ucbhelper::Content aSourceContent( aSourceURL, xEnv );
-
- // Get source data.
- rtl::Reference< TestDataSink > xSourceData = new TestDataSink;
- aSourceContent.openStream( xSourceData.get() );
- xData = xSourceData->getInputStream();
- }
- catch ( ContentCreationException const & )
- {
- OSL_FAIL( "UcbExplorerListBoxEntry::createNewContent - "
- "No content for document data!" );
- return FALSE;
- }
- catch ( CommandAbortedException const & )
- {
- return FALSE;
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- return FALSE;
- }
- }
-
- delete pDlg;
-
- if ( nRet != RET_OK )
- return FALSE;
- }
-
- // Create new content.
-
- ULONG n = Application::ReleaseSolarMutex();
- BOOL bRet = sal_False;
-
- try
- {
- bRet = m_aContent.insertNewContent(
- rInfo.Type, aPropNames, aPropValues, xData, rNewContent );
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- }
-
- Application::AcquireSolarMutex( n );
- return bRet;
-}
-
-//=========================================================================
-//
-// UcbExplorerTreeListBox implementation.
-//
-//=========================================================================
-
-UcbExplorerTreeListBox::UcbExplorerTreeListBox( ResMgr & rResMgr,
- Window* pParent,
- WinBits nWinStyle )
-: SvTreeListBox( pParent, nWinStyle ),
- m_aFolderClosed( ResId( BMP_FOLDER_CLOSED, rResMgr ) ),
- m_aFolderOpened( ResId( BMP_FOLDER_OPENED, rResMgr ) ),
- m_aDocument( ResId( BMP_DOCUMENT, rResMgr ) ),
- m_aLink( ResId( BMP_LINK, rResMgr ) )
-{
-}
-
-//=========================================================================
-// virtual
-UcbExplorerTreeListBox::~UcbExplorerTreeListBox()
-{
-}
-
-//=========================================================================
-// virtual
-SvLBoxEntry* UcbExplorerTreeListBox::CreateEntry() const
-{
- return new UcbExplorerListBoxEntry();
-}
-
-//=========================================================================
-// virtual
-void UcbExplorerTreeListBox::RequestingChildren( SvLBoxEntry* pParent )
-{
- UcbExplorerListBoxEntry* pEntry
- = static_cast< UcbExplorerListBoxEntry * >( pParent );
- if ( !pEntry->HasChildren() )
- {
- switch ( pEntry->m_eType )
- {
- case UcbExplorerListBoxEntry::FOLDER:
- {
- ULONG n = Application::ReleaseSolarMutex();
-
- try
- {
- Sequence< OUString > aPropertyNames( 0 );
-// OUString* pNames = aPropertyNames.getArray();
-// pNames[ 0 ] = OUString(RTL_CONSTASCII_USTRINGPARAM("Title"));
-
- uno::Reference< XResultSet > xResultSet
- = pEntry->m_aContent.createCursor(
- aPropertyNames,
- ::ucbhelper::INCLUDE_FOLDERS_AND_DOCUMENTS );
- uno::Reference< XContentAccess > xContentAccess(
- xResultSet, UNO_QUERY );
-
- if ( xResultSet.is() && xContentAccess.is() )
- {
- while ( xResultSet->next() )
- {
- Application::AcquireSolarMutex( n );
-
- InsertEntry(
- xContentAccess->queryContentIdentifierString(),
- pParent );
-
- n = Application::ReleaseSolarMutex();
- }
- }
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- }
-
- Application::AcquireSolarMutex( n );
- break;
- }
-
- case UcbExplorerListBoxEntry::DOCUMENT:
- break;
-
- case UcbExplorerListBoxEntry::LINK:
- break;
-
- default:
- break;
- }
- }
-}
-
-//=========================================================================
-// virtual
-void UcbExplorerTreeListBox::Command( const CommandEvent& rCEvt )
-{
- if ( rCEvt.GetCommand() == COMMAND_CONTEXTMENU )
- {
- const Point& rPos = rCEvt.GetMousePosPixel();
- UcbExplorerListBoxEntry* pEntry
- = static_cast< UcbExplorerListBoxEntry * >(
- GetEntry( rPos, TRUE ) );
- if ( pEntry )
- {
- std::auto_ptr< ResMgr > xManager(
- ResMgr::CreateResMgr( "ucbexplorer" ) );
- PopupMenu* pMenu = new PopupMenu( ResId( MENU_POPUP, *xManager.get() ) );
- PopupMenu* pNewMenu = 0;
-
-// pMenu->SetSelectHdl( LINK( this,
-// SfxCommonTemplateDialog_Impl,
-// MenuSelectHdl ) );
-
- //////////////////////////////////////////////////////////////
- // Configure "New"
- //////////////////////////////////////////////////////////////
-
- Sequence< ContentInfo > aInfo
- = pEntry->m_aContent.queryCreatableContentsInfo();
- const ContentInfo* pInfo = aInfo.getConstArray();
- sal_Int32 nCount = aInfo.getLength();
- BOOL bCanCreate = ( nCount > 0 );
-
- pNewMenu = new PopupMenu;
- pMenu->SetPopupMenu( MENU_NEW, pNewMenu );
-
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const ContentInfo& rInfo = pInfo[ n ];
- pNewMenu->InsertItem( 20000 + n + 1, rInfo.Type );
- }
-
- pMenu->EnableItem( MENU_NEW, bCanCreate );
-
- //////////////////////////////////////////////////////////////
- // Configure "Rename"
- //////////////////////////////////////////////////////////////
-
- sal_Bool bEnable = sal_False;
-
- try
- {
- Property aProp =
- pEntry->m_aContent.getProperties()->getPropertyByName(
- OUString(RTL_CONSTASCII_USTRINGPARAM("Title")) );
- bEnable = !( aProp.Attributes & PropertyAttribute::READONLY );
- }
- catch( UnknownPropertyException const & )
- {
- // getPropertyByName
- bEnable = sal_False;
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- }
-
- pMenu->EnableItem( MENU_RENAME, bEnable );
-
- //////////////////////////////////////////////////////////////
- // Configure "Delete"
- //////////////////////////////////////////////////////////////
-
- try
- {
- pMenu->EnableItem( MENU_DELETE,
- pEntry->m_aContent
- .getCommands()->hasCommandByName(
- OUString(RTL_CONSTASCII_USTRINGPARAM(
- "delete" )) ) );
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- }
-
- //////////////////////////////////////////////////////////////
- // Execute menu.
- //////////////////////////////////////////////////////////////
-
- USHORT nSelected = pMenu->Execute( this, rPos );
- switch ( nSelected )
- {
-// case MENU_NEW:
-// break;
-
- case MENU_RENAME:
- {
- OUString aNewTitle;
-
- try
- {
- pEntry->m_aContent.getPropertyValue(
- OUString(RTL_CONSTASCII_USTRINGPARAM("Title")) )
- >>= aNewTitle;
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- }
-
- std::auto_ptr< ResMgr > xManager(
- ResMgr::CreateResMgr( "ucbexplorer" ) );
- StringInputDialog* pDlg
- = new StringInputDialog(
- *xManager.get(),
- OUString(RTL_CONSTASCII_USTRINGPARAM("Title")),
- aNewTitle );
-
- USHORT nRet = pDlg->Execute();
-
- Any aValue;
-
- if ( nRet == RET_OK )
- {
- aNewTitle = pDlg->GetValue();
- aValue <<= aNewTitle;
- }
-
- delete pDlg;
-
- if ( nRet != RET_OK )
- break;
-
- sal_Bool bOK = sal_False;
-
- ULONG n = Application::ReleaseSolarMutex();
-
- try
- {
- pEntry->m_aContent.setPropertyValue(
- OUString(RTL_CONSTASCII_USTRINGPARAM("Title")),
- aValue );
- bOK = sal_True;
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- }
-
- Application::AcquireSolarMutex( n );
-
- if ( bOK )
- {
- OUString aText( aNewTitle );
- OUString aTargetURL;
- try
- {
- pEntry->m_aContent.getPropertyValue(
- OUString(RTL_CONSTASCII_USTRINGPARAM("TargetURL")) )
- >>= aTargetURL;
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- // The property is optional!
- }
-
- if ( aTargetURL.getLength() > 0 )
- {
- // Insert link.
- aText += OUString(RTL_CONSTASCII_USTRINGPARAM(" --> "));
- aText += aTargetURL;
- }
-
- SetEntryText( pEntry, aText );
- }
- break;
- }
-
- case MENU_DELETE:
- {
- ULONG n = Application::ReleaseSolarMutex();
- sal_Bool bOK = sal_True;
-
- try
- {
- pEntry->m_aContent.executeCommand(
- OUString(RTL_CONSTASCII_USTRINGPARAM("delete")),
- makeAny( sal_True ) );
- }
- catch ( CommandAbortedException const & )
- {
- bOK = sal_False;
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- bOK = sal_False;
- }
-
- Application::AcquireSolarMutex( n );
-
- if ( bOK )
- RemoveSelection();
-
- break;
- }
-
- default:
- {
- if ( ( nSelected > 20000 ) &&
- ( ( nSelected - 20000 ) <= aInfo.getLength() ) )
- {
- // New-menu entry selected.
-
- ::ucbhelper::Content aNewContent;
- if ( pEntry->createNewContent(
- aInfo.getConstArray()[ nSelected - 20001 ],
- aNewContent ) )
- {
- if ( !IsExpanded( pEntry ) )
- Expand( pEntry );
- else
- InsertEntry( aNewContent, pEntry );
- }
- }
- break;
- }
- }
-
- delete pNewMenu;
- delete pMenu;
- return;
- }
- }
-
- SvTreeListBox::Command( rCEvt );
-}
-
-//=========================================================================
-UcbExplorerListBoxEntry* UcbExplorerTreeListBox::InsertEntry(
- ::ucbhelper::Content& rContent,
- SvLBoxEntry* pParent )
-{
- try
- {
- OUString aTitle;
- rContent.getPropertyValue(
- OUString(RTL_CONSTASCII_USTRINGPARAM("Title")) ) >>= aTitle;
- if ( !aTitle.getLength() )
- aTitle = OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
-
- UcbExplorerListBoxEntry* pEntry = 0;
-
- if ( rContent.isFolder() )
- {
- // Insert folder.
- pEntry = static_cast< UcbExplorerListBoxEntry * >(
- SvTreeListBox::InsertEntry( aTitle,
- m_aFolderOpened,
- m_aFolderClosed,
- pParent,
- TRUE ) );
- pEntry->m_eType = UcbExplorerListBoxEntry::FOLDER;
- }
- else
- {
- OUString aTargetURL;
- try
- {
- rContent.getPropertyValue(
- OUString(RTL_CONSTASCII_USTRINGPARAM("TargetURL")) ) >>= aTargetURL;
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( RuntimeException const & )
- {
- throw;
- }
- catch ( Exception const & )
- {
- // The property is optional!
- }
-
- if ( aTargetURL.getLength() > 0 )
- {
- // Insert link.
- aTitle += OUString(RTL_CONSTASCII_USTRINGPARAM(" --> "));
- aTitle += aTargetURL;
- pEntry = static_cast< UcbExplorerListBoxEntry * >(
- SvTreeListBox::InsertEntry( aTitle,
- m_aLink,
- m_aLink,
- pParent,
- TRUE ) );
- pEntry->m_eType = UcbExplorerListBoxEntry::LINK;
- }
- else
- {
- // Insert Document
- pEntry = static_cast< UcbExplorerListBoxEntry * >(
- SvTreeListBox::InsertEntry( aTitle,
- m_aDocument,
- m_aDocument,
- pParent,
- TRUE ) );
- pEntry->m_eType = UcbExplorerListBoxEntry::DOCUMENT;
- }
- }
-
- pEntry->m_aContent = rContent;
- return pEntry;
- }
- catch ( CommandAbortedException const & )
- {
- }
- catch ( Exception const & )
- {
- }
-
- return 0;
-}
-
-//=========================================================================
-UcbExplorerListBoxEntry* UcbExplorerTreeListBox::InsertEntry(
- const String& rURL,
- SvLBoxEntry* pParent )
-{
- try
- {
- uno::Reference< XCommandEnvironment > xEnv;
-
- ::ucbhelper::ContentBroker* pBroker = ::ucbhelper::ContentBroker::get();
- if ( pBroker )
- {
- uno::Reference< XInteractionHandler > xInteractionHandler(
- pBroker->getServiceManager()->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.task.InteractionHandler" )) ),
- UNO_QUERY );
-
- uno::Reference< XProgressHandler > xProgressHandler
- /* = new ProgressHandler( *pBroker ) */ ;
-
- xEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler,
- xProgressHandler );
- }
-
- ::ucbhelper::Content aContent( rURL, xEnv );
- return InsertEntry( aContent, pParent );
- }
- catch ( ContentCreationException const & )
- {
- }
-
- return 0;
-}
-
-//=========================================================================
-//
-// UcbExplorerWindow implementation.
-//
-//=========================================================================
-
-UcbExplorerWindow::UcbExplorerWindow( ResMgr & rResMgr, Window *pParent, WinBits nWinStyle )
-: WorkWindow( pParent, nWinStyle ),
- m_aTree( rResMgr, this, WB_HSCROLL )
-{
- Font aTreeFont( m_aTree.GetFont() );
- aTreeFont.SetName( String( RTL_CONSTASCII_USTRINGPARAM("Courier") ) );
- aTreeFont.SetFamily( FAMILY_MODERN );
- aTreeFont.SetPitch( PITCH_FIXED );
- aTreeFont.SetSize( Size( 0, 12 ) );
-
- m_aTree.SetFont( aTreeFont );
- m_aTree.SetIndent( 20 );
- m_aTree.SetPosPixel( Point( 0, 0 ) );
-
- m_aTree.Show();
-}
-
-//-------------------------------------------------------------------------
-// virtual
-UcbExplorerWindow::~UcbExplorerWindow()
-{
-}
-
-//-------------------------------------------------------------------------
-// virtual
-void UcbExplorerWindow::Resize()
-{
- m_aTree.SetSizePixel( GetOutputSizePixel() );
-}
-
-//=========================================================================
-//
-// MyApp implementation.
-//
-//=========================================================================
-
-// virtual
-void MyApp::Main()
-{
- //////////////////////////////////////////////////////////////////////
- // Initialize local Service Manager and basic services.
- //////////////////////////////////////////////////////////////////////
-
- uno::Reference< XMultiServiceFactory > xFac;
- try
- {
- uno::Reference< XComponentContext > xCtx(
- cppu::defaultBootstrap_InitialComponentContext() );
- if ( !xCtx.is() )
- {
- OSL_FAIL( "Error creating initial component context!" );
- return;
- }
-
- xFac = uno::Reference< XMultiServiceFactory >(
- xCtx->getServiceManager(), UNO_QUERY );
-
- if ( !xFac.is() )
- {
- OSL_FAIL( "No service manager!" );
- return;
- }
- }
- catch ( com::sun::star::uno::Exception const & )
- {
- OSL_FAIL( "Exception during creation of initial component context!" );
- return;
- }
-
- comphelper::setProcessServiceFactory( xFac );
-
- uno::Reference< XComponent > xComponent( xFac, UNO_QUERY );
-
- //////////////////////////////////////////////////////////////////////
- // Create UCB.
- //////////////////////////////////////////////////////////////////////
-
-#if 1
- // Init UCB (Read configuration from registry)
- Sequence< Any > aArgs( 2 );
- aArgs[ 0 ] <<= OUString(RTL_CONSTASCII_USTRINGPARAM( UCB_CONFIGURATION_KEY1_LOCAL ));
- aArgs[ 1 ] <<= OUString(RTL_CONSTASCII_USTRINGPARAM( UCB_CONFIGURATION_KEY2_OFFICE ));
- sal_Bool bSuccess = ::ucbhelper::ContentBroker::initialize( xFac, aArgs );
-#else
- // Init UCB (Use provided configuration data)
- ::ucbhelper::ContentProviderDataList aProviders;
- aProviders.push_back(
- ::ucbhelper::ContentProviderData(
- OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ucb.FileContentProvider")),
- OUString(RTL_CONSTASCII_USTRINGPARAM("file")),
- OUString() ) );
- sal_Bool bSuccess = ::ucbhelper::ContentBroker::initialize( xFac, aProviders );
-#endif
-
- if ( !bSuccess )
- {
- OSL_FAIL( "Error creating UCB!" );
- return;
- }
-
- //////////////////////////////////////////////////////////////////////
- // Create/init/show app window.
- //////////////////////////////////////////////////////////////////////
-
- std::auto_ptr< ResMgr > xManager( ResMgr::CreateResMgr( "ucbexplorer" ) );
-
- UcbExplorerWindow aAppWin( *xManager.get(), 0, WB_APP | WB_STDWORK );
-
- MenuBar aMBMain( ResId( MENU_MAIN, *xManager.get() ) );
-
- // Check for command line params
-
- String aRootURL = GetCommandLineParam( 0 );
- if ( aRootURL.Len() == 0 )
- aRootURL = UniString::CreateFromAscii(
- RTL_CONSTASCII_STRINGPARAM( "vnd.sun.star.hier:/" ) );
-
- String aTitle( ResId( TEXT_TITLEBAR, *xManager.get() ) );
- aTitle.AppendAscii( RTL_CONSTASCII_STRINGPARAM( " - " ) );
- aTitle += aRootURL;
-
- aAppWin.SetText( aTitle );
-
- aAppWin.SetPosSizePixel( 0, 0, 500, 750 );
-
- aAppWin.Show();
-
- aAppWin.m_aTree.InsertEntry( aRootURL );
-
- //////////////////////////////////////////////////////////////////////
- // Execute app.
- //////////////////////////////////////////////////////////////////////
-
- Execute();
-
- //////////////////////////////////////////////////////////////////////
- // Cleanup.
- //////////////////////////////////////////////////////////////////////
-
- // m_aTree holds UCB contents!
- aAppWin.m_aTree.Clear();
-
- ::ucbhelper::ContentBroker::deinitialize();
-
- if ( xComponent.is() )
- xComponent->dispose();
-}
-
-//=========================================================================
-//
-// The Application.
-//
-//=========================================================================
-
-MyApp aMyApp;
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/workben/ucbexplorer/ucbexplorer.hrc b/ucbhelper/workben/ucbexplorer/ucbexplorer.hrc
deleted file mode 100644
index 7d6aa8dba4ad..000000000000
--- a/ucbhelper/workben/ucbexplorer/ucbexplorer.hrc
+++ /dev/null
@@ -1,58 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// UCB Explorer ( resource identifiers )
-
-#ifndef _UCBEXPLORER_HRC
-#define _UCBEXPLORER_HRC
-
-#define MENU_MAIN 1000
-#define MENU_FILE 100
-#define MENU_EXIT 10
-
-#define MENU_POPUP 1001
-#define MENU_NEW 10
-#define MENU_RENAME 11
-#define MENU_DELETE 12
-
-#define TEXT_TITLEBAR 5000
-
-#define BMP_FOLDER_CLOSED 6001
-#define BMP_FOLDER_OPENED 6002
-#define BMP_DOCUMENT 6003
-#define BMP_LINK 6004
-
-#define DLG_STRINGINPUT 7000
-#define FT_STRINGINPUT_DLG_NAME 10
-#define ED_STRINGINPUT_DLG_NAME 11
-#define GB_STRINGINPUT_DLG_NAME 12
-#define BT_STRINGINPUT_DLG_OK 13
-#define BT_STRINGINPUT_DLG_CANCEL 14
-#define BT_STRINGINPUT_DLG_HELP 15
-
-
-#endif /* !_UCBEXPLORER_HRC */
diff --git a/ucbhelper/workben/ucbexplorer/ucbexplorer.src b/ucbhelper/workben/ucbexplorer/ucbexplorer.src
deleted file mode 100644
index aac9b6ac8571..000000000000
--- a/ucbhelper/workben/ucbexplorer/ucbexplorer.src
+++ /dev/null
@@ -1,131 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include "ucbexplorer.hrc"
-
-Menu MENU_MAIN
-{
- ItemList =
-
- {
- MenuItem
- {
- Identifier = MENU_FILE ;
- Text [ en-US ] = "~File" ;
- SubMenu = Menu
- {
- ItemList =
-
- {
- MenuItem
- {
- Identifier = MENU_EXIT ;
- Text [ en-US ] = "~Exit" ;
- AccelKey = KeyCode
- {
- Function = KEYFUNC_QUIT ;
- };
- };
- };
- };
- };
- };
-};
-
-Menu MENU_POPUP
-{
- ItemList =
-
- {
- MenuItem
- {
- Identifier = MENU_NEW ;
- Text [ en-US ] = "~New" ;
- };
- MenuItem
- {
- Identifier = MENU_RENAME ;
- Text [ en-US ] = "~Rename" ;
- };
- MenuItem
- {
- Identifier = MENU_DELETE ;
- Text [ en-US ] = "~Delete" ;
- };
- };
-};
-
-ModalDialog DLG_STRINGINPUT
-{
- HelpID = "ucbhelper:ModalDialog:DLG_STRINGINPUT";
- Border = TRUE ;
- Moveable = TRUE ;
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Size = MAP_APPFONT ( 218 , 44 ) ;
- FixedText FT_STRINGINPUT_DLG_NAME
- {
- Pos = MAP_APPFONT ( 12 , 18 ) ;
- Size = MAP_APPFONT ( 28 , 10 ) ;
- Text [ en-US ] = "~Value" ;
- };
- Edit ED_STRINGINPUT_DLG_NAME
- {
- HelpID = "ucbhelper:Edit:DLG_STRINGINPUT:ED_STRINGINPUT_DLG_NAME";
- Pos = MAP_APPFONT ( 40 , 16 ) ;
- Size = MAP_APPFONT ( 110 , 12 ) ;
- Border = TRUE ;
- Left = TRUE ;
- };
- GroupBox GB_STRINGINPUT_DLG_NAME
- {
- Group = TRUE ;
- Pos = MAP_APPFONT ( 6 , 3 ) ;
- Size = MAP_APPFONT ( 150 , 36 ) ;
- };
- OKButton BT_STRINGINPUT_DLG_OK
- {
- Pos = MAP_APPFONT ( 162 , 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- DefButton = TRUE ;
- };
- CancelButton BT_STRINGINPUT_DLG_CANCEL
- {
- Pos = MAP_APPFONT ( 162 , 23 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- };
- HelpButton BT_STRINGINPUT_DLG_HELP
- {
- Pos = MAP_APPFONT ( 162 , 200 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- };
-};
-
-String TEXT_TITLEBAR
-{
- Text [ en-US ] = "UCB Explorer" ;
-};