Kaydet (Commit) 61db713e authored tarafından Cédric Bosdonnat's avatar Cédric Bosdonnat

CMIS: added libcmis module and created empty cmis UCP shell

üst cd5f71c9
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# Major Contributor(s):
# Copyright (C) 2011 SUSE <cbosdonnat@suse.com>
#
# All Rights Reserved.
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
$(eval $(call gb_ExternalLib_ExternalLib,libcmis,autotools))
$(eval $(call gb_ExternalLib_set_src_package,libcmis,b9ac948fed0a9a5dd083160119c0b0b3-libcmis-0.1.0.tar.gz))
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# Major Contributor(s):
# Copyright (C) 2011 SUSE <cbosdonnat@suse.com>
#
# All Rights Reserved.
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
ifeq ($(strip $(SRC_ROOT)),)
$(error No environment set!)
endif
gb_PARTIALBUILD := T
GBUILDDIR := $(SRC_ROOT)/solenv/gbuild
include $(GBUILDDIR)/gbuild.mk
$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# Major Contributor(s):
# Copyright (C) 2011 SUSE <cbosdonnat@suse.com>
#
# All Rights Reserved.
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
$(eval $(call gb_Module_Module,libcmis))
$(eval $(call gb_Module_add_targets,libcmis,\
ExternalLib_libcmis \
))
# vim: set noet sw=4 ts=4:
lc libcmis : soltools NULL
lc libcmis/prj nmake - all lc_prj NULL
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# Major Contributor(s):
# Copyright (C) 2011 Norbert Thiebaud <nthiebaud@gmail.com>
#
# All Rights Reserved.
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
PRJ=..
TARGET=prj
.INCLUDE : settings.mk
.IF "$(VERBOSE)"!=""
VERBOSEFLAG :=
.ELSE
VERBOSEFLAG := -s
.ENDIF
all:
cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(GMAKE_MODULE_PARALLELISM) $(gb_MAKETARGET) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog
...@@ -1335,6 +1335,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles_noheader,offapi,offapi/com/sun/star/u ...@@ -1335,6 +1335,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles_noheader,offapi,offapi/com/sun/star/u
CachedDynamicResultSetFactory \ CachedDynamicResultSetFactory \
CachedDynamicResultSetStub \ CachedDynamicResultSetStub \
CachedDynamicResultSetStubFactory \ CachedDynamicResultSetStubFactory \
CmisContentProvider \
Content \ Content \
ContentProvider \ ContentProvider \
ContentProviderProxy \ ContentProviderProxy \
......
/*
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* [ Copyright (C) 2011 SUSE <cbosdonnat@suse.com> (initial developer) ]
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
* instead of those above.
*/
#ifndef __com_sun_star_ucb_CmisContentProvider_idl__
#define __com_sun_star_ucb_CmisContentProvider_idl__
#include <com/sun/star/ucb/XContentProvider.idl>
//=============================================================================
module com { module sun { module star { module ucb {
//=============================================================================
/** The Cmis Content Provider implements a <type>ContentProvider</type>
for the <Type>UniversalContentBroker</type> (UCB).
<p>The served contents enable access to directories and files on a
cmis-enabled server.</p>
@see com::sun::star::ucb::Content
@since LibreOffice 3.5
*/
service CmisContentProvider : com::sun::star::ucb::XContentProvider
{
};
//=============================================================================
}; }; }; };
#endif
...@@ -248,6 +248,7 @@ REDLANDLIB=$(REDLAND_LIBS) ...@@ -248,6 +248,7 @@ REDLANDLIB=$(REDLAND_LIBS)
.ELSE .ELSE
REDLANDLIB=-lrdf REDLANDLIB=-lrdf
.ENDIF .ENDIF
CMISLIB=-lcmis-0.2
# #110743# # #110743#
......
uc ucb : cppuhelper CURL:curl OPENSSL:openssl NEON:neon LIBXML2:libxml2 LIBXSLT:libxslt offapi sal salhelper ucbhelper udkapi comphelper tools NULL uc ucb : cppuhelper CURL:curl OPENSSL:openssl NEON:neon LIBXML2:libxml2 LIBXSLT:libxslt libcmis offapi sal salhelper ucbhelper udkapi comphelper tools NULL
uc ucb usr1 - all uc_mkout NULL uc ucb usr1 - all uc_mkout NULL
uc ucb\inc nmake - all uc_inc NULL uc ucb\inc nmake - all uc_inc NULL
uc ucb\source\regexp nmake - all uc_regexp uc_inc NULL uc ucb\source\regexp nmake - all uc_regexp uc_inc NULL
...@@ -16,6 +16,7 @@ uc ucb\source\ucp\tdoc nmake - all uc_tdoc uc_inc NULL ...@@ -16,6 +16,7 @@ uc ucb\source\ucp\tdoc nmake - all uc_tdoc uc_inc NULL
uc ucb\source\ucp\expand nmake - all uc_expand uc_inc NULL uc ucb\source\ucp\expand nmake - all uc_expand uc_inc NULL
uc ucb\source\ucp\ext nmake - all uc_ext uc_inc NULL uc ucb\source\ucp\ext nmake - all uc_ext uc_inc NULL
uc ucb\source\ucp\odma nmake - w uc_odma uc_inc NULL uc ucb\source\ucp\odma nmake - w uc_odma uc_inc NULL
uc ucb\source\ucp\cmis nmake - all uc_cmis uc_inc NULL
#uc ucb\qa\complex\ucb nmake - all uc_complex_ucb uc_inc NULL #uc ucb\qa\complex\ucb nmake - all uc_complex_ucb uc_inc NULL
# fails, please fix # fails, please fix
# uc ucb\qa\complex\tdoc nmake - all uc_complex_tdoc uc_complex_tdoc_interfaces uc_inc NULL # uc ucb\qa\complex\tdoc nmake - all uc_complex_tdoc uc_complex_tdoc_interfaces uc_inc NULL
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
..\%__SRC%\misc\ucpgvfs.component %_DEST%\xml\ucpgvfs.component ..\%__SRC%\misc\ucpgvfs.component %_DEST%\xml\ucpgvfs.component
..\%__SRC%\misc\ucpgio.component %_DEST%\xml\ucpgio.component ..\%__SRC%\misc\ucpgio.component %_DEST%\xml\ucpgio.component
..\%__SRC%\misc\ucpcmis.component %_DEST%\xml\ucpcmis.component
..\%__SRC%\misc\cached1.component %_DEST%\xml\cached1.component ..\%__SRC%\misc\cached1.component %_DEST%\xml\cached1.component
..\%__SRC%\misc\srtrs1.component %_DEST%\xml\srtrs1.component ..\%__SRC%\misc\srtrs1.component %_DEST%\xml\srtrs1.component
..\%__SRC%\misc\ucb1.component %_DEST%\xml\ucb1.component ..\%__SRC%\misc\ucb1.component %_DEST%\xml\ucb1.component
......
This diff is collapsed.
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* [ Copyright (C) 2011 SUSE <cbosdonnat@suse.com> (initial developer) ]
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
* instead of those above.
*/
#ifndef CMIS_CONTENT_HXX
#define CMIS_CONTENT_HXX
#include <com/sun/star/io/XInputStream.hpp>
#include <com/sun/star/io/XOutputStream.hpp>
#include <com/sun/star/ucb/ContentCreationException.hpp>
#include <com/sun/star/ucb/OpenCommandArgument2.hpp>
#include <com/sun/star/ucb/TransferInfo.hpp>
#include <com/sun/star/ucb/XContentCreator.hpp>
#include <ucbhelper/contenthelper.hxx>
#include <libcmis/session-factory.hxx>
#include <list>
namespace com { namespace sun { namespace star {
namespace beans {
struct Property;
struct PropertyValue;
}
namespace sdbc {
class XRow;
}
}}}
namespace ucbhelper
{
class Content;
}
namespace cmis
{
#define CMIS_FILE_TYPE "application/vnd.sun.staroffice.cmis-file"
#define CMIS_FOLDER_TYPE "application/vnd.sun.staroffice.cmis-folder"
class ContentProvider;
class ContentProperties;
class Content : public ::ucbhelper::ContentImplHelper, public com::sun::star::ucb::XContentCreator
{
private:
ContentProvider *m_pProvider;
bool isFolder(const com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment >& xEnv);
com::sun::star::uno::Any getBadArgExcept();
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 );
private:
typedef rtl::Reference< Content > ContentRef;
typedef std::list< ContentRef > ContentRefList;
void queryChildren( ContentRefList& rChildren );
com::sun::star::uno::Any open(const com::sun::star::ucb::OpenCommandArgument2 & rArg,
const com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment > & xEnv )
throw( com::sun::star::uno::Exception );
void transfer( const com::sun::star::ucb::TransferInfo& rTransferInfo,
const com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment > & xEnv )
throw( com::sun::star::uno::Exception );
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 >& xEnv )
throw( com::sun::star::uno::Exception );
void destroy( sal_Bool bDeletePhysical ) throw( com::sun::star::uno::Exception );
void copyData( com::sun::star::uno::Reference< com::sun::star::io::XInputStream > xIn,
com::sun::star::uno::Reference< com::sun::star::io::XOutputStream > xOut );
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 );
sal_Bool feedSink( com::sun::star::uno::Reference< com::sun::star::uno::XInterface> aSink,
const com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment >& xEnv );
sal_Bool exchangeIdentity(const com::sun::star::uno::Reference< com::sun::star::ucb::XContentIdentifier >& xNewId);
public:
Content( const com::sun::star::uno::Reference<
com::sun::star::lang::XMultiServiceFactory >& rxSMgr, ContentProvider *pProvider,
const com::sun::star::uno::Reference< com::sun::star::ucb::XContentIdentifier >& Identifier)
throw ( com::sun::star::ucb::ContentCreationException );
Content( const com::sun::star::uno::Reference<
com::sun::star::lang::XMultiServiceFactory >& rxSMgr, ContentProvider *pProvider,
const com::sun::star::uno::Reference< com::sun::star::ucb::XContentIdentifier >& Identifier,
sal_Bool bIsFolder)
throw ( com::sun::star::ucb::ContentCreationException );
virtual ~Content();
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();
XINTERFACE_DECL()
XTYPEPROVIDER_DECL()
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 );
virtual rtl::OUString SAL_CALL
getContentType()
throw( com::sun::star::uno::RuntimeException );
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 );
virtual com::sun::star::uno::Sequence< com::sun::star::ucb::ContentInfo >
SAL_CALL queryCreatableContentsInfo()
throw( com::sun::star::uno::RuntimeException );
virtual com::sun::star::uno::Reference< com::sun::star::ucb::XContent >
SAL_CALL createNewContent( const com::sun::star::ucb::ContentInfo& Info )
throw( com::sun::star::uno::RuntimeException );
com::sun::star::uno::Sequence< com::sun::star::ucb::ContentInfo >
queryCreatableContentsInfo( const com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment >& xEnv )
throw( com::sun::star::uno::RuntimeException );
};
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* [ Copyright (C) 2011 SUSE <cbosdonnat@suse.com> (initial developer) ]
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
* instead of those above.
*/
#include <ucbhelper/contentidentifier.hxx>
#include <ucbhelper/contenthelper.hxx>
#include <com/sun/star/ucb/ContentCreationException.hpp>
#include "cmis_provider.hxx"
#include "cmis_content.hxx"
#include <stdio.h>
using namespace com::sun::star;
namespace cmis
{
uno::Reference< com::sun::star::ucb::XContent > SAL_CALL
ContentProvider::queryContent(
const uno::Reference<
com::sun::star::ucb::XContentIdentifier >& Identifier )
throw( com::sun::star::ucb::IllegalIdentifierException,
uno::RuntimeException )
{
#ifdef DEBUG
fprintf(stderr, "QueryContent: '%s'",
(const sal_Char *)rtl::OUStringToOString
(Identifier->getContentIdentifier(), RTL_TEXTENCODING_UTF8));
#endif
osl::MutexGuard aGuard( m_aMutex );
// Check, if a content with given id already exists...
uno::Reference< ucb::XContent > xContent = queryExistingContent( Identifier ).get();
if ( xContent.is() )
return xContent;
try
{
xContent = new ::cmis::Content(m_xSMgr, this, Identifier);
}
catch ( com::sun::star::ucb::ContentCreationException const & )
{
throw com::sun::star::ucb::IllegalIdentifierException();
}
if ( !xContent->getIdentifier().is() )
throw com::sun::star::ucb::IllegalIdentifierException();
return xContent;
}
ContentProvider::ContentProvider(
const uno::Reference< lang::XMultiServiceFactory >& rSMgr )
: ::ucbhelper::ContentProviderImplHelper( rSMgr )
{
}
ContentProvider::~ContentProvider()
{
}
XINTERFACE_IMPL_3( ContentProvider,
lang::XTypeProvider,
lang::XServiceInfo,
com::sun::star::ucb::XContentProvider );
XTYPEPROVIDER_IMPL_3( ContentProvider,
lang::XTypeProvider,
lang::XServiceInfo,
com::sun::star::ucb::XContentProvider );
XSERVICEINFO_IMPL_1( ContentProvider,
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
"com.sun.star.comp.CmisContentProvider" )),
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
"com.sun.star.ucb.CmisContentProvider" )) );
ONE_INSTANCE_SERVICE_FACTORY_IMPL( ContentProvider );
}
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( const sal_Char *pImplName,
void *pServiceManager, void * )
{
void * pRet = 0;
uno::Reference< lang::XMultiServiceFactory > xSMgr
(reinterpret_cast< lang::XMultiServiceFactory * >( pServiceManager ) );
uno::Reference< lang::XSingleServiceFactory > xFactory;
if ( !::cmis::ContentProvider::getImplementationName_Static().compareToAscii( pImplName ) )
xFactory = ::cmis::ContentProvider::createServiceFactory( xSMgr );
if ( xFactory.is() )
{
xFactory->acquire();
pRet = xFactory.get();
}
return pRet;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* [ Copyright (C) 2011 SUSE <cbosdonnat@suse.com> (initial developer) ]
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
* instead of those above.
*/
#ifndef CMIS_PROVIDER_HXX
#define CMIS_PROVIDER_HXX
#include <com/sun/star/beans/Property.hpp>
#include <ucbhelper/providerhelper.hxx>
namespace cmis
{
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 );
};
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
#
# Version: MPL 1.1 / GPLv3+ / LGPLv3+
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License or as specified alternatively below. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# Major Contributor(s):
# [ Copyright (C) 2011 SUSE <cbosdonnat@suse.com> (initial developer) ]
#
# All Rights Reserved.
#
# For minor contributions see the git repository.
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above.
#
PRJ=..$/..$/..
PRJNAME=ucb
# Version
UCPCMIS_MAJOR=1
TARGET=ucpcmis
ENABLE_EXCEPTIONS=TRUE
USE_DEFFILE=TRUE
NO_BSYMBOLIC=TRUE
.INCLUDE: settings.mk
.IF "$(L10N_framework)"==""
# no "lib" prefix
DLLPRE =
SLOFILES=$(SLO)$/cmis_provider.obj\
$(SLO)$/cmis_content.obj
SHL1TARGET=$(TARGET)$(UCPCMIS_MAJOR).uno
SHL1DEF=$(MISC)$/$(SHL1TARGET).def
SHL1LIBS=$(SLB)$/$(TARGET).lib
SHL1IMPLIB=i$(TARGET)
SHL1STDLIBS=\
$(CPPUHELPERLIB) \
$(CPPULIB) \
$(SALLIB) \
$(SALHELPERLIB) \
$(UCBHELPERLIB) \
$(CMISLIB)
SHL1VERSIONMAP=$(SOLARENV)/src/component.map
.ENDIF # L10N_framework
.INCLUDE: target.mk
ALLTAR : $(MISC)/ucpcmis.component
$(MISC)/ucpcmis.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
ucpcmis.component
$(XSLTPROC) --nonet --stringparam uri \
'$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
$(SOLARENV)/bin/createcomponent.xslt ucpcmis.component
<?xml version="1.0" encoding="UTF-8"?>
<!--**********************************************************************
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* [ Copyright (C) 2011 SUSE <cbosdonnat@suse.com> (initial developer) ]
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
* instead of those above.
**********************************************************************-->
<component loader="com.sun.star.loader.SharedLibrary"
xmlns="http://openoffice.org/2010/uno-components">
<implementation name="com.sun.star.comp.CmisContentProvider">
<service name="com.sun.star.ucb.CmisContentProvider"/>
</implementation>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<!--**********************************************************************
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* [ Copyright (C) 2011 SUSE <cbosdonnat@suse.com> (initial developer) ]
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
* instead of those above.
**********************************************************************-->
<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
<module-name>
ucpcmis
</module-name>
<component-description>
<author>
Cédric Bosdonnat
</author>
<name>
com.sun.star.comp.ucb.CmisContentProvider
</name>
<description>
This component implements a Content Provider for the Universal
Content Broker. It provides access to contents stored on a
CMIS-enabled server.
</description>
<loader-name>
com.sun.star.loader.SharedLibrary
</loader-name>
<language>
c++
</language>
<status value="final"/>
<supported-service>
com.sun.star.ucb.CmisContentProvider
</supported-service>
<service-dependency>
com.sun.star.configuration.ConfigurationAccess
</service-dependency>
<service-dependency>
com.sun.star.configuration.ConfigurationProvider
</service-dependency>
</component-description>
<project-build-dependency> external </project-build-dependency>
<project-build-dependency> sal </project-build-dependency>
<project-build-dependency> cppu </project-build-dependency>
<project-build-dependency> cppuhelper </project-build-dependency>
<project-build-dependency> ucbhelper </project-build-dependency>
<runtime-module-dependency> sal3 </runtime-module-dependency>
<runtime-module-dependency> cppu3 </runtime-module-dependency>
<runtime-module-dependency> cppuhelper3$(COM) </runtime-module-dependency>
<runtime-module-dependency> ucbhelper4$(COM) </runtime-module-dependency>
<type> com.sun.star.beans.PropertyAttribute </type>
<type> com.sun.star.beans.PropertyValue </type>
<type> com.sun.star.beans.XPropertiesChangeNotifier </type>
<type> com.sun.star.beans.XPropertyAccess </type>
<type> com.sun.star.beans.XPropertyContainer </type>
<type> com.sun.star.beans.XPropertySetInfoChangeNotifier </type>
<type> com.sun.star.container.XChild </type>
<type> com.sun.star.container.XNameAccess </type>
<type> com.sun.star.io.XActiveDataSink </type>
<type> com.sun.star.io.XInputStream </type>
<type> com.sun.star.io.XOutputStream </type>
<type> com.sun.star.io.XSeekable </type>
<type> com.sun.star.lang.IllegalAccessException </type>
<type> com.sun.star.lang.XComponent </type>
<type> com.sun.star.lang.XMultiServiceFactory </type>
<type> com.sun.star.lang.XServiceInfo </type>
<type> com.sun.star.lang.XSingleServiceFactory </type>
<type> com.sun.star.lang.XTypeProvider </type>
<type> com.sun.star.registry.XRegistryKey </type>
<type> com.sun.star.sdbc.XCloseable </type>
<type> com.sun.star.sdbc.XColumnLocate </type>
<type> com.sun.star.sdbc.XResultSetMetaDataSupplier </type>
<type> com.sun.star.sdbc.XRow </type>
<type> com.sun.star.ucb.ContentCreationException </type>
<type> com.sun.star.ucb.ContentInfoAttribute </type>
<type> com.sun.star.ucb.InsertCommandArgument </type>
<type> com.sun.star.ucb.MissingInputStreamException </type>
<type> com.sun.star.ucb.MissingPropertiesException </type>
<type> com.sun.star.ucb.NameClash </type>
<type> com.sun.star.ucb.NameClashException </type>
<type> com.sun.star.ucb.OpenCommandArgument2 </type>
<type> com.sun.star.ucb.OpenMode </type>
<type> com.sun.star.ucb.PostCommandArgument2 </type>
<type> com.sun.star.ucb.RememberAuthentication </type>
<type> com.sun.star.ucb.ResultSetException </type>
<type> com.sun.star.ucb.TransferInfo </type>
<type> com.sun.star.ucb.XCommandEnvironment </type>
<type> com.sun.star.ucb.UnsupportedCommandException </type>
<type> com.sun.star.ucb.UnsupportedDataSinkException </type>
<type> com.sun.star.ucb.UnsupportedNameClashException </type>
<type> com.sun.star.ucb.UnsupportedOpenModeException </type>
<type> com.sun.star.ucb.XCommandInfo </type>
<type> com.sun.star.ucb.XCommandInfoChangeNotifier </type>
<type> com.sun.star.ucb.XCommandProcessor </type>
<type> com.sun.star.ucb.XContentAccess </type>
<type> com.sun.star.ucb.XContentProvider </type>
<type> com.sun.star.ucb.XDynamicResultSet </type>
<type> com.sun.star.ucb.XPersistentPropertySet </type>
<type> com.sun.star.util.DateTime </type>
</module-description>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment