diff options
Diffstat (limited to 'offapi/com/sun/star/ucb')
233 files changed, 17811 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ucb/AlreadyInitializedException.idl b/offapi/com/sun/star/ucb/AlreadyInitializedException.idl new file mode 100644 index 000000000..124424ec0 --- /dev/null +++ b/offapi/com/sun/star/ucb/AlreadyInitializedException.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_AlreadyInitializedException_idl__ +#define __com_sun_star_ucb_AlreadyInitializedException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** This exception is thrown to indicate that an attempt was made to + reinitialize an object that can only be initialized once. + + @version 1.0 +*/ +published exception AlreadyInitializedException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/AnyCompareFactory.idl b/offapi/com/sun/star/ucb/AnyCompareFactory.idl new file mode 100644 index 000000000..c482af312 --- /dev/null +++ b/offapi/com/sun/star/ucb/AnyCompareFactory.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_AnyCompareFactory_idl__ +#define __com_sun_star_ucb_AnyCompareFactory_idl__ + +#include <com/sun/star/ucb/XAnyCompareFactory.idl> +#include <com/sun/star/lang/Locale.idl> + + +module com { module sun { module star { module ucb { + +/** is a factory to get XAnyCompare service implementations. + + @since OOo 1.1.2 +*/ +published service AnyCompareFactory : XAnyCompareFactory +{ + createWithLocale([in] com::sun::star::lang::Locale aLocale); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl b/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl new file mode 100644 index 000000000..3147bbb85 --- /dev/null +++ b/offapi/com/sun/star/ucb/AuthenticationFallbackRequest.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + */ +#ifndef __com_sun_star_ucb_AuthenticationFallbackRequest_idl__ +#define __com_sun_star_ucb_AuthenticationFallbackRequest_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> + +module com { module sun { module star { module ucb { + +/** An interaction continuation handing back some authentication data + + @since LibreOffice 4.4 +*/ +exception AuthenticationFallbackRequest: com::sun::star::task::ClassifiedInteractionRequest +{ + /** Instructions to be followed by the user + */ + string instructions; + + /** url to be opened in browser + */ + string url; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/AuthenticationRequest.idl b/offapi/com/sun/star/ucb/AuthenticationRequest.idl new file mode 100644 index 000000000..a2c718819 --- /dev/null +++ b/offapi/com/sun/star/ucb/AuthenticationRequest.idl @@ -0,0 +1,93 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_AuthenticationRequest_idl__ +#define __com_sun_star_ucb_AuthenticationRequest_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> + + + +module com { module sun { module star { module ucb { + +/** An error specifying lack of correct authentication data (e.g., to log into + an account). +*/ +published exception AuthenticationRequest: com::sun::star::task::ClassifiedInteractionRequest +{ + /** The name of the server (if applicable). + */ + string ServerName; + + /** Any diagnostic message about the failure to log in (if applicable; it + will typically be an English phrase or sentence). + */ + string Diagnostic; + + /** Specifies if the authentication involves a "realm" (as can be the case + for HTTP). + */ + boolean HasRealm; + + /** Any already specified realm. + + If HasRealm is false, this member should be ignored. + */ + string Realm; + + /** Specifies if the authentication involves a "user name" (as is almost + always the case). + */ + boolean HasUserName; + + /** Any already specified user name. + + If HasUserName is false, this member should be ignored. + */ + string UserName; + + /** Specifies if the authentication involves a "password" (as is almost + always the case). + */ + boolean HasPassword; + + /** Any already specified password. + + If HasPassword is false, this member should be ignored. + */ + string Password; + + /** Specifies if the authentication involves an "account" (as can be the + case for FTP). + */ + boolean HasAccount; + + /** Any already specified account. + + If HasAccount is false, this member should be ignored. + */ + string Account; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CachedContentResultSet.idl b/offapi/com/sun/star/ucb/CachedContentResultSet.idl new file mode 100644 index 000000000..98eb67d74 --- /dev/null +++ b/offapi/com/sun/star/ucb/CachedContentResultSet.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CachedContentResultSet_idl__ +#define __com_sun_star_ucb_CachedContentResultSet_idl__ + +#include <com/sun/star/ucb/ContentResultSet.idl> + + +module com { module sun { module star { module ucb { + +/** is used on client side to access a ContentResultSet + remote optimized. + + <p>The CachedContentResultSet will not load every single + property or even row just in that moment you ask for it, but load the data + for some rows beforehand. + + <p>Every time when a new package of data is loaded, the so far loaded data + will be released, so the cash will not grow and grow and grow. +*/ + +published service CachedContentResultSet +{ + service com::sun::star::ucb::ContentResultSet; + + /** contains the number of result set rows that should be fetched from + an underlying database. + + <p>The default fetch size is implementation specific. + + <p>Every negative value for parameter #FetchSize will + force an implementation specific value to be set. + */ + [property] long FetchSize; + + /** contains the direction for fetching rows from an underlying database. + + <p>The value can be one of the + com::sun::star::sdbc::FetchDirection constants group. + + <p>The default value is implementation specific. + + <p>If you set the value to + com::sun::star::sdbc::FetchDirection::UNKNOWN an + implementation specific direction will be used. + */ + [property] long FetchDirection; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl b/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl new file mode 100644 index 000000000..ecfa073a8 --- /dev/null +++ b/offapi/com/sun/star/ucb/CachedContentResultSetFactory.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_CachedContentResultSetFactory_idl__ +#define __com_sun_star_ucb_CachedContentResultSetFactory_idl__ + +#include <com/sun/star/ucb/XCachedContentResultSetFactory.idl> + + +module com { module sun { module star { module ucb { + +/** is a factory for CachedContentResultSet implementations. +*/ +published service CachedContentResultSetFactory : XCachedContentResultSetFactory; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl b/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl new file mode 100644 index 000000000..7cf72072e --- /dev/null +++ b/offapi/com/sun/star/ucb/CachedContentResultSetStub.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CachedContentResultSetStub_idl__ +#define __com_sun_star_ucb_CachedContentResultSetStub_idl__ + +#include <com/sun/star/ucb/ContentResultSet.idl> +#include <com/sun/star/ucb/XFetchProvider.idl> +#include <com/sun/star/ucb/XFetchProviderForContentAccess.idl> + + +module com { module sun { module star { module ucb { + +/** is used on provider side to access a ContentResultSet + remote optimized. +*/ + +published service CachedContentResultSetStub +{ + service com::sun::star::ucb::ContentResultSet; + + /** Provides the possibility to get the contents of the columns of several + rows with only one call. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XFetchProvider; + + /** Provides the possibility load information offered by a + XContentAccess for several rows of one result set at once. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XFetchProviderForContentAccess; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl b/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl new file mode 100644 index 000000000..6d6ca92a9 --- /dev/null +++ b/offapi/com/sun/star/ucb/CachedContentResultSetStubFactory.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_CachedContentResultSetStubFactory_idl__ +#define __com_sun_star_ucb_CachedContentResultSetStubFactory_idl__ + +#include <com/sun/star/ucb/XCachedContentResultSetStubFactory.idl> + + +module com { module sun { module star { module ucb { + +/** is a factory for CachedContentResultSetStub implementations. +*/ +published service CachedContentResultSetStubFactory + : XCachedContentResultSetStubFactory; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl new file mode 100644 index 000000000..fc045394f --- /dev/null +++ b/offapi/com/sun/star/ucb/CachedDynamicResultSet.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CachedDynamicResultSet_idl__ +#define __com_sun_star_ucb_CachedDynamicResultSet_idl__ + +#include <com/sun/star/ucb/XDynamicResultSet.idl> +#include <com/sun/star/ucb/XSourceInitialization.idl> + + +module com { module sun { module star { module ucb { + +/** provides read access to a static or dynamically changing + ContentResultSet. + + <p>For example, a DynamicResultSet is returned from the + open-command executed by an XCommandProcessor of the service + Content. +*/ + +published service CachedDynamicResultSet +{ + /** Provides remote optimized read access to a static or a dynamically + changing ContentResultSet. + + <p>The com::sun::star::sdbc::XResultSets given to + the listener in the first notification in the + WelcomeDynamicResultSetStruct are implementations of the + CachedContentResultSet service. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XDynamicResultSet; + + /** provides the initialization of the CachedDynamicResultSet + with a source object. + + <p>The <var>Source</var> in + XSourceInitialization::setSource() has to be an + implementation of service CachedDynamicResultSetStub + + <p>This interface is required. + */ + interface com::sun::star::ucb::XSourceInitialization; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl new file mode 100644 index 000000000..6a82cba0b --- /dev/null +++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetFactory.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_CachedDynamicResultSetFactory_idl__ +#define __com_sun_star_ucb_CachedDynamicResultSetFactory_idl__ + +#include <com/sun/star/ucb/XCachedDynamicResultSetFactory.idl> + + +module com { module sun { module star { module ucb { + +/** is a factory for CachedDynamicResultSet implementations. +*/ +published service CachedDynamicResultSetFactory + : XCachedDynamicResultSetFactory; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl new file mode 100644 index 000000000..49c0bae01 --- /dev/null +++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetStub.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CachedDynamicResultSetStub_idl__ +#define __com_sun_star_ucb_CachedDynamicResultSetStub_idl__ + +#include <com/sun/star/ucb/XDynamicResultSet.idl> +#include <com/sun/star/ucb/XSourceInitialization.idl> + + +module com { module sun { module star { module ucb { + +/** provides read access to a static or dynamically changing + ContentResultSet. + + <p>For example, a DynamicResultSet is returned from the + open-command executed by an XCommandProcessor of the service + Content. +*/ + +published service CachedDynamicResultSetStub +{ + /** In Combination with a CachedDynamicResultSet this provides + remote optimized read access to a static or dynamically changing + ContentResultSet. + + <p>The com::sun::star::sdbc::XResultSets given to + the listener in the first notification in the + WelcomeDynamicResultSetStruct are implementations of + CachedContentResultSetStub. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XDynamicResultSet; + + /** provides the initialization of the CachedDynamicResultSetStub + with a source object. + + <p>The <var>Source</var> in + XSourceInitialization::setSource() has to be an + implementation of service DynamicResultSet + + <p>This interface is required. + */ + interface com::sun::star::ucb::XSourceInitialization; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl b/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl new file mode 100644 index 000000000..c71b81adb --- /dev/null +++ b/offapi/com/sun/star/ucb/CachedDynamicResultSetStubFactory.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_CachedDynamicResultSetStubFactory_idl__ +#define __com_sun_star_ucb_CachedDynamicResultSetStubFactory_idl__ + +#include <com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl> + + +module com { module sun { module star { module ucb { + +/** is a factory for CachedDynamicResultSetStub implementations. +*/ +published service CachedDynamicResultSetStubFactory + : XCachedDynamicResultSetStubFactory; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CertificateValidationRequest.idl b/offapi/com/sun/star/ucb/CertificateValidationRequest.idl new file mode 100644 index 000000000..1add779bc --- /dev/null +++ b/offapi/com/sun/star/ucb/CertificateValidationRequest.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CertificateValidationRequest_idl__ +#define __com_sun_star_ucb_CertificateValidationRequest_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> +#include <com/sun/star/security/XCertificate.idl> + + +module com { module sun { module star { module ucb { + +/** An error specifying an invalid certificate. +*/ +exception CertificateValidationRequest: com::sun::star::task::ClassifiedInteractionRequest +{ + /** This value describes the validity of the certificate. + */ + long CertificateValidity; + + /** The certificate himself. + */ + com::sun::star::security::XCertificate Certificate; + + /** The host name. + */ + string HostName; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CheckinArgument.idl b/offapi/com/sun/star/ucb/CheckinArgument.idl new file mode 100644 index 000000000..08f6822a2 --- /dev/null +++ b/offapi/com/sun/star/ucb/CheckinArgument.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef __com_sun_star_ucb_CheckinArgument_idl__ +#define __com_sun_star_ucb_CheckinArgument_idl__ + + + +module com { module sun { module star { module ucb { + +/** contains information needed to checkin a document. + + <p>The checkin command is always called on the target private + working copy document.</p> +*/ +struct CheckinArgument +{ + /** Tells whether to create a new major or minor version during the + checkin. + */ + boolean MajorVersion; + + /** Contains the version comment to set during the checkin. + */ + string VersionComment; + + /** contains the URL of the source of the action (e.g. the URL of + the temporary file to checkin). + */ + string SourceURL; + + /** contains the URL of the private working copy to checkin. + */ + string TargetURL; + + /** contains the title of the transferred object, if it is different + from the original one. + + <p>If this field is filled, for example, a file will be renamed + while it is being checked in.</p> + */ + string NewTitle; + + /** contains the Mime-Type of the content to check-in as it may be + different from the original one. + */ + string MimeType; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CmisContentProvider.idl b/offapi/com/sun/star/ucb/CmisContentProvider.idl new file mode 100644 index 000000000..decd4b545 --- /dev/null +++ b/offapi/com/sun/star/ucb/CmisContentProvider.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#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 ContentProvider + for the UniversalContentBroker (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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/Command.idl b/offapi/com/sun/star/ucb/Command.idl new file mode 100644 index 000000000..95731c118 --- /dev/null +++ b/offapi/com/sun/star/ucb/Command.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_Command_idl__ +#define __com_sun_star_ucb_Command_idl__ + +#include <com/sun/star/ucb/CommandInfo.idl> + + + +module com { module sun { module star { module ucb { + +/** contains a command. + + @see XCommandProcessor +*/ +published struct Command +{ + /** contains the name of the command. + */ + string Name; + + /** contains an implementation specific handle for the command. + + <p>It must be <code>-1</code> if the implementation has no handle. + <code>0</code> is a valid command handle. + */ + long Handle; + + /** contains the argument of the command + */ + any Argument; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CommandAbortedException.idl b/offapi/com/sun/star/ucb/CommandAbortedException.idl new file mode 100644 index 000000000..3a7645ea5 --- /dev/null +++ b/offapi/com/sun/star/ucb/CommandAbortedException.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CommandAbortedException_idl__ +#define __com_sun_star_ucb_CommandAbortedException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** This exception is thrown to indicate that a command was aborted. + + @version 1.0 + @see XCommandProcessor +*/ +published exception CommandAbortedException : com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CommandEnvironment.idl b/offapi/com/sun/star/ucb/CommandEnvironment.idl new file mode 100644 index 000000000..8133e799e --- /dev/null +++ b/offapi/com/sun/star/ucb/CommandEnvironment.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_ucb_CommandEnvironment_idl_ +#define _com_sun_star_ucb_CommandEnvironment_idl_ + +#include <com/sun/star/ucb/XCommandEnvironment.idl> +#include <com/sun/star/task/XInteractionHandler.idl> +#include <com/sun/star/ucb/XProgressHandler.idl> + +module com { module sun { module star { module ucb { + + /* This service implements an XCommandEnvironment that can be + initialized with any implementation of + com::sun::star::task::XInteractionHandler and + com::sun::star::ucb::XProgressHandler. The respective + get methods will simply return these handlers. + + @since OOo 3.3 + */ + published service CommandEnvironment : ::com::sun::star::ucb::XCommandEnvironment + { + /** Constructor. + + @param InteractionHandler the interaction handler instance that will be + returned by this service's implementation of + XCommandEnvironemt::getInteractionHandler() + + @param ProgressHandler the progress handler instance that will be + returned by this service's implementation of + XCommandEnvironemt::getProgressHandler() + */ + create( [in] com::sun::star::task::XInteractionHandler InteractionHandler, + [in] com::sun::star::ucb::XProgressHandler ProgressHandler ); + }; + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CommandFailedException.idl b/offapi/com/sun/star/ucb/CommandFailedException.idl new file mode 100644 index 000000000..edd201c22 --- /dev/null +++ b/offapi/com/sun/star/ucb/CommandFailedException.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_CommandFailedException_idl__ +#define __com_sun_star_ucb_CommandFailedException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** This exception is thrown if an exception situation occurred during the + processing of a command and an + com::sun::star::task::XInteractionHandler was able + to handle the request for the error condition and the requesting code + decided to abort the command execution according to the selection made + by the interaction handler. + + @version 1.0 + @see XCommandProcessor +*/ +published exception CommandFailedException : com::sun::star::uno::Exception +{ + /** contains the exception that was passed to the + com::sun::star::task::XInteractionHandler. + */ + any Reason; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CommandInfo.idl b/offapi/com/sun/star/ucb/CommandInfo.idl new file mode 100644 index 000000000..f02c31c70 --- /dev/null +++ b/offapi/com/sun/star/ucb/CommandInfo.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CommandInfo_idl__ +#define __com_sun_star_ucb_CommandInfo_idl__ + +#include <com/sun/star/reflection/XIdlClass.idl> + + + +module com { module sun { module star { module ucb { + +/** describes a command. + + @see XCommandProcessor +*/ +published struct CommandInfo +{ + /** contains the name of a command. + */ + string Name; + + /** contains an implementation specific handle for the command. + + <p>It may be <code>-1</code> if the implementation has no handle. + */ + long Handle; + + /** contains the type of the command's argument. + */ + type ArgType; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CommandInfoChange.idl b/offapi/com/sun/star/ucb/CommandInfoChange.idl new file mode 100644 index 000000000..99a7bcc42 --- /dev/null +++ b/offapi/com/sun/star/ucb/CommandInfoChange.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CommandInfoChange_idl__ +#define __com_sun_star_ucb_CommandInfoChange_idl__ + + + +module com { module sun { module star { module ucb { + +/** specifies reasons for sending CommandInfoChangeEvents. + + @see CommandInfoChangeEvent + @see XCommandInfo +*/ +published constants CommandInfoChange +{ + /** A command was inserted into a XCommandInfo. + */ + const long COMMAND_INSERTED = 0; + + /** A command was removed from a XCommandInfo. + */ + const long COMMAND_REMOVED = 1; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl b/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl new file mode 100644 index 000000000..97985c5ae --- /dev/null +++ b/offapi/com/sun/star/ucb/CommandInfoChangeEvent.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CommandInfoChangeEvent_idl__ +#define __com_sun_star_ucb_CommandInfoChangeEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + + + +module com { module sun { module star { module ucb { + +/** This event gets delivered whenever a XCommandInfo is changed. + + <p>A CommandInfoChangeEvent object is sent to + XCommandInfoChangeListeners. +*/ +published struct CommandInfoChangeEvent: com::sun::star::lang::EventObject +{ + /** contains the name of the command. + */ + string Name; + + /** contains the implementation handle for the command. + + <p>May be <code>-1</code> if the implementation has no handle. + */ + long Handle; + + /** contains the reason for the event. + + <p>The value can be one of the CommandInfoChange constants. + */ + long Reason; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ConnectionMode.idl b/offapi/com/sun/star/ucb/ConnectionMode.idl new file mode 100644 index 000000000..76f6ff557 --- /dev/null +++ b/offapi/com/sun/star/ucb/ConnectionMode.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ConnectionMode_idl__ +#define __com_sun_star_ucb_ConnectionMode_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for the property "ConnectionMode". + + @see XCommandProcessor + @see Content +*/ +published constants ConnectionMode +{ + /** "Online" - Network access is allowed. + */ + const short ONLINE = 0; + + /** "Offline" - Network access is not allowed. + */ + const short OFFLINE = 1; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/Content.idl b/offapi/com/sun/star/ucb/Content.idl new file mode 100644 index 000000000..c80bdb872 --- /dev/null +++ b/offapi/com/sun/star/ucb/Content.idl @@ -0,0 +1,983 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_Content_idl__ +#define __com_sun_star_ucb_Content_idl__ + +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/ucb/XContentCreator.idl> +#include <com/sun/star/container/XChild.idl> + +module com { module sun { module star { module ucb { + +/** A Content is a service that provides access to data of a + content provided by an implementation of the service + ContentProvider. +*/ +published service Content +{ + + /** provides access to the identity and the type of the content and + allows the registration of listeners for ContentEvents. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XContent; + + /** must be implemented to make it possible to resolve cyclic object + references. + + <p>Those references i.e. may occur if there are listeners + registered at the content ( the content holds the listeners ) and + the implementation of the listener interface holds a reference on + the content. If the content shall be released, + com::sun::star::lang::XComponent::dispose() must + be called at the content. The implementation of this method must call + com::sun::star::lang::XEventListener::disposing() + on the registered listeners and release the appropriate object + references. At the other hand, the implementation of + XEventListener::disposing must release its appropriate references. + + <p>This interface is required. + */ + interface com::sun::star::lang::XComponent; + + /** enables the caller to let the content execute commands. + + <p>It is strongly recommended that any implementation supports the + improved XCommandProcessor2 interface.</p> + + <p>Typical commands are "open", "delete", "getPropertyValues" and + "setPropertyValues". Each content must support a set of standard + commands and properties. Also there is a set of predefined optionally + commands and properties. A content may define additional commands and + properties. </p> + + <p>This interface is required.</p> + + <h3>Commands</h3> + <h4>Mandatory commands</h4> + + <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc"> + <tr> + <th>Command Name</th> + <th>Return Type</th> + <th>Parameters</th> + <th>Description</th> + </tr> + <tr> + <td>getCommandInfo</td> + <td>XCommandInfo</td> + <td>void</td> + <td>This command obtains an interface which allows to query + information on commands supported by a content. + </td> + </tr> + <tr> + <td>getPropertySetInfo</td> + <td>com::sun::star::beans::XPropertySetInfo</td> + <td>void</td> + <td>This command obtains an interface which allows to query + information on properties supported by a content. + </td> + </tr> + <tr> + <td>getPropertyValues</td> + <td>com::sun::star::sdbc::XRow</td> + <td>sequence< com::sun::star::beans::Property > aProps</td> + <td>This command obtains property values from the content. + <blockquote> + <b>Note</b>: The execution will not be aborted, if there + are properties requested, that are unknown to the + content. The returned row object must contain a NULL + value in the corresponding column instead. + </blockquote> + </td> + </tr> + <tr> + <td>setPropertyValues</td> + <td>sequence< any ></td> + <td>sequence< com::sun::star::beans::PropertyValue > aValues</td> + <td>This command sets property values of the content. + <p>Note that setPropertyValues does not throw an exception in the case + that one or more of the requested property values cannot be set. + The implementation should set as much property values as possible.</p> + + <p>This command returns a sequence< any > which has exactly the same number + of elements like 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 + com::sun::star::beans::PropertyValue passed as + command argument, and so on. The exceptions will never be passed to + a com::sun::star::task::InteractionHandler.</p> + + <p>Every element in the returned sequence is an any containing:</p> + <ul> + <li>No value indicates, that the property value was set successfully.</li> + <li>com::sun::star::beans::UnknownPropertyException + indicates, that the property is not known to the content + implementation.</li> + <li>com::sun::star::beans::IllegalTypeException + indicates, that the data type of the property value is not + acceptable.</li> + <li>com::sun::star::lang::IllegalAccessException + indicates, that the property is constant + (com::sun::star::beans::PropertyAttribute::READONLY + is set).</li> + <li>com::sun::star::lang::IllegalArgumentException + indicates, that the property value is not acceptable. For instance, + setting an empty title may be illegal.</li> + <li>Any other exception derived from com::sun::star::uno::Exception + indicates, that the value was not set successfully. For example, + this can be an InteractiveAugmentedIOException + transporting the error code IOErrorCode::ACCESS_DENIED.</li> + </ul> + + <p>If the value to set is equal to the current value, no exception must + be added to the returned sequence</p> + </td> + </tr> + </table> + + <h4>Optional commands</h4> + <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc"> + <tr> + <th>Command Name</th> + <th>Return Type</th> + <th>Parameters</th> + <th>Description</th> + </tr> + <tr> + <td>open</td> + <td>XDynamicResultSet</td> + <td>OpenCommandArgument2 aOpenCommandArg</td> + <td> + For <b>folder</b> objects, this command will return an + implementation of service DynamicResultSet. + <p>The OpenCommandArgument2 members must be + filled as follows:</p> + <ul> + <li>com::sun::star::ucb::OpenCommandArgument::Mode: + com::sun::star::ucb::OpenMode::ALL or + com::sun::star::ucb::OpenMode::FOLDERS or + com::sun::star::ucb::OpenMode::DOCUMENTS. + The implementation of the open command MUST support all these modes! + </li> + <li>com::sun::star::ucb::OpenCommandArgument::Priority: + can be set, but implementation may ignore the value + </li> + <li>com::sun::star::ucb::OpenCommandArgument::Sink: + empty( ignored ) + </li> + <li>com::sun::star::ucb::OpenCommandArgument::Properties: + The properties for which the result set shall + contain the property values. The order of the + sequence is the same as the order of result set + columns. First element of sequence will be row + number one, second will be row number two, ... + </li> + <li>com::sun::star::ucb::OpenCommandArgument2::SortingInfo: + contains sort criteria, if result set shall + be sorted, otherwise it can be left empty. + </li> + </ul> + The execution must be aborted by the implementation of this command + (by throwing a CommandAbortedException), if an + unsupported mode is requested. + </td> + </tr> + <tr> + <td>open</td> + <td>void</td> + <td>OpenCommandArgument2 aOpenCommandArg</td> + <td>For non-folder objects, the OpenCommandArgument2 + struct will be prefilled with a data sink object, which + will be filled with the content data. + <p>The OpenCommandArgument2 members must be + filled as follows:</p> + <ul> + <li>com::sun::star::ucb::OpenCommandArgument::Mode: + com::sun::star::ucb::OpenMode::DOCUMENT or + com::sun::star::ucb::OpenMode::DOCUMENT_SHARE_DENY_NONE or + com::sun::star::ucb::OpenMode::DOCUMENT_SHARE_DENY_WRITE. + Support for DOCUMENT is mandatory, all others are optional. + </li> + <li>com::sun::star::ucb::OpenCommandArgument::Priority: + can be set, but implementation may ignore the value + </li> + <li>com::sun::star::ucb::OpenCommandArgument::Sink: + a sink, where the implementation can put the document data into. + </li> + <li>com::sun::star::ucb::OpenCommandArgument::Properties: empty ( ignored )</li> + <li>com::sun::star::ucb::OpenCommandArgument2::SortingInfo: empty ( ignored )</li> + </ul> + <p>The execution must be aborted by the implementation of this command + (by throwing a CommandAbortedException), if an + unsupported mode is requested.</p> + </td> + </tr> + <tr> + <td>createNewContent</td> + <td>XContent</td> + <td>ContentInfo contentinfo</td> + <td> + This command creates a new <b>non-persistent</b> content of a given type. + <p>This command must be supported by every Content + that supports the property "CreatableContentsInfo", if the returned + property value contains a non-empty sequence of creatable types. + <blockquote> + Note: This command is part of the replacement for the deprecated + interface XContentCreator. + </blockquote> + <p>Creation of a new <b>persistent</b> content: + <ol> + <li>creatabletypes = obtain "CreatableContentsInfo" property from creator</li> + <li>choose a suitable type from creatabletypes</li> + <li>newObject = execute command "createNewContent(type)" at creator</li> + <li>initialize the new object (i.e. newObject.Property1 = ...)</li> + <li>execute command "insert" at new content. This command + commits the data and makes the new content persistent.</li> + </ol> + </td> + </tr> + <tr> + <td>insert</td> + <td>void</td> + <td>InsertCommandArgument aInsertCommandArg</td> + <td> + <ol> + <li> + This command inserts a <b>new content</b>. It commits the process of + creating a new content via executing the command "createNewContent" + and initializing it via setting properties, afterwards.<br> + The command is not called on the content which created the new + content, because the new object already knows where it is to be + inserted (i.e. Calling createNewContent with the content type for a + message on a News Group creates a content which internally belongs + to the Outbox. Calling "insert" on that message will result in + posting the article to the appropriate News Group). Not calling + "insert" for the new content, i.e. because the user cancels writing + a new message, simply discards the new object. No extra call to + "delete" is necessary.<br> + On successful completion of this command, the parent of the inserted + content must propagate the change by notifying a + ContentEvent - ContentAction::INSERTED. + </li> + <li> + Additionally this command can be called at any time to overwrite + the data of an <b>existing content</b>. + </li> + </ol> + </td> + </tr> + <tr> + <td>update</td> + <td>void</td> + <td>OpenCommandArgument2 aOpenCommandArg</td> + <td>This command triggers an update operation on a content. + For example, when "updating" a POP3-Inbox, the content + for that box will get and store all new objects on the + appropriate server. The inserted contents will be + notified by calling + XContentEventListener::contentEvent(). + </td> + </tr> + <tr> + <td>synchronize</td> + <td>void</td> + <td>OpenCommandArgument2 aOpenCommandArg</td> + <td> + This command triggers a synchronization operation between locally + cached data and remote server's data. For example, when + "synchronizing" a POP3-Inbox the content for that box will get and + store all new objects and destroy all cached data for objects no + longer existing on the server. The inserted/deleted contents will + be notified by calling + XContent::contentEvent(). + </td> + </tr> + <tr> + <td>close</td> + <td>void</td> + <td>void</td> + <td>This command closes an object.</td> + </tr> + <tr> + <td>delete</td> + <td>void</td> + <td>boolean bDeletePhysically</td> + <td> + This command deletes an object. If `TRUE` is passed as parameter, + the object will be destroyed physically. Otherwise it will be put + into trash can, if such a service is available and the object to + be deleted supports the command "undelete". + On successful completion of this command, the deleted content + must propagate its deletion by notifying a ContentEvent + - ContentAction::DELETED. Additionally, the contents + parent must notify a ContentEvent + - ContentAction::REMOVED + </td> + </tr> + <tr> + <td>undelete</td> + <td>void</td> + <td>void</td> + <td> + This command restores an object previously deleted into trash. It + must be supported by objects which claim to be undeletable, but + should never be called directly. + </td> + </tr> + <tr> + <td>search</td> + <td>XDynamicResultSet</td> + <td>SearchCommandArgument aSearchCommandArg</td> + <td> + This command searches for subcontents of a content matching the + given search criteria. The command will return an implementation + of service DynamicResultSet. + </td> + </tr> + <tr> + <td>transfer</td> + <td>void</td> + <td>TransferInfo aTransferInfo</td> + <td> + <blockquote> + <b>Important note:</b> A client that wants to transfer data should + not execute this command, but it should execute the command + "globalTransfer" at the UniversalContentBroker. + This command is able to transfer all kind of content + supported by that UCB. + </blockquote> + This command transfers (copies/moves) an object from one location + to another. It must be executed at the folder content representing + the <b>destination</b> of the transfer operation.<br> + Note that the implementation need not be able to handle + any type of contents.<br> + Generally, there are good chances that a transfer of a content will + succeed, if source and target folder have the same URL scheme. + But there is no guaranty for that.<br> + For instance, moving a message from a folder on IMAP server A + to a folder on IMAP server B may fail, because the transfer + command can't be implemented efficiently for this scenario, + because it is not directly supported by the IMAP protocol. + On the other hand, moving a message from one folder to + another folder on the same IMAP server should work, because it can + be implemented efficiently.<br> + If an implementation is not able to handle a given source URL, + it should indicate this by issuing a + InteractiveBadTransferURLException interaction request.<br> + Source and target folder may be the same when doing a move operation. + <br> + Transfers without the transfer command can be done as follows: + <ol> + <li>Create a new content at the target folder<br> + <code>targetContent = target.execute( "createNewContent", type )</code> + </li> + <li>Transfer data from source to target content<br> + <code>props = sourceContent.execute( "getPropertyValues", ... )</code> + <code>dataStream = sourceContent.execute( "open", ... )</code> + <code>targetContent.execute( "setPropertyValues", props )</code> + </li> + <li>Insert ( commit ) the new content<br> + <code>targetContent.execute( "insert", dataStream )</code> + </li> + <li>For move operations only: destroy the source content<br> + <code>sourceContent.execute( "delete", ... )</code> + </li> + </ol> + <p>This mechanism should work for all transfer operations, but generally + it's less efficient than the transfer command.</p> + </td> + </tr> + <tr> + <td>lock</td> + <td>void</td> + <td>void</td> + <td> + This command obtains an exclusive write lock for the resource. The + lock is active until command "unlock" is executed, or the OOo + session that obtained the lock ends, or until the lock is released by + a third party (e.g. a system administrator).<br> + Exceptions: + <ul> + <li>InteractiveLockingLockedException</li> + <li>InteractiveLockingLockExpiredException</li> + </ul> + </td> + </tr> + <tr> + <td>unlock</td> + <td>void</td> + <td>void</td> + <td> + This command removes a lock obtained by executing the command "lock" + from the resource.<br> + <p>Exceptions: + <ul> + <li>InteractiveLockingLockedException</li> + <li>InteractiveLockingLockExpiredException</li> + </ul> + </p> + <p>Note that InteractiveLockingLockExpiredException might + be raised by any command that requires a previously obtained lock. + </p> + </td> + </tr> + <tr> + <td>addProperty</td> + <td>void</td> + <td>PropertyCommandArgument aCmdArg</td> + <td> + Adds a new properties to the content. + <p> + PropertyCommandArgument::Property + contains information about the property to be added. + PropertyCommandArgument::DefaultValue + may contain the default value for the property. Its type must + match the one specified in com::sun::star::beans::Property::Type. + </p> + <p>Note that the dynamic properties must be kept persistent. The + service Store (UCB persistence service) may be used to + implement this.</p> + <p><b>Important:</b> The implementation must at least support + adding properties of the following basic data types:</p> + <p> + <ul> + <li>boolean + <li>char + <li>byte + <li>string + <li>short + <li>long + <li>hyper + <li>float + <li>double + </ul> + </p> + <p> + Raises a ::com::sun::star::beans::PropertyExistException + if a property with the same name already exists; + ::com::sun::star::beans::IllegalTypeException + if the property has an unsupported type; + ::com::sun::star::lang::IllegalArgumentException + if the Name of the property is empty.</p> + <blockquote> + Note: This command is new since Apache OpenOffice 4.0, LibreOffice 4.2 and replaces the deprecated interface method + com::sun::star::beans::XPropertyContainer::addProperty. + </blockquote> + </td> + </tr> + <tr> + <td>removeProperty</td> + <td>void</td> + <td>string PropertyName</td> + <td>Removes the properties from the content. + <p>Raises a ::com::sun::star::beans::UnknownPropertyException + if the property does not exist; + ::com::sun::star::beans::NotRemoveableException + if the property is not removable.</p> + <blockquote> + Note: This command is new since Apache OpenOffice 4.0, LibreOffice 4.2 and replaces the deprecated interface method + com::sun::star::beans::XPropertyContainer::removeProperty. + </blockquote> + </td> + </tr> + </table> + + <h3>Properties</h3> + <h4>Mandatory properties</h4> + + <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc"> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + </tr> + <tr> + <td>ContentType</td> + <td>string</td> + <td> + contains a unique type string for the content + ( i.e. "application/vnd.sun.star.hierarchy-link" ). + <p>This property is always read-only.</p> + <p>The ContentType should not be confused with the MIME + media type ( MIME types ) of the content. Media types + may be provided through the optional property "MediaType".</p> + <p>The value of this property should match the information on creatable + contents given by UCB contents that implement the property + "CreatableContentsInfo".</p> + </td> + </tr> + <tr> + <td>IsFolder</td> + <td>boolean</td> + <td>indicates, whether a content can contain other contents.</td> + </tr> + <tr> + <td>IsDocument</td> + <td>boolean</td> + <td>indicates, whether a content is a document. This means, + the content can dump itself into a data sink. + </td> + </tr> + <tr> + <td>Title</td> + <td>string</td> + <td>contains the title of an object (e.g. the subject of a message).</td> + </tr> + </table> + + <h4>Optional properties</h4> + + <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc"> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + </tr> + <tr> + <td>AutoUpdateInterval</td> + <td>long</td> + <td>contains the interval for automatic updates of an object. + It is specified in seconds. + </td> + </tr> + <tr> + <td>ConnectionLimit</td> + <td>short</td> + <td>contains the maximum number of network connections + allowed for one (internet) protocol at a time. (e.g. The HTTP + cache can be configured to use a maximum for the number of + connections used for browsing.) + </td> + </tr> + <tr> + <td>ConnectionMode</td> + <td>short</td> + <td>contains the current connection mode for the object. + (see ConnectionMode) + </td> + </tr> + <tr> + <td>CreatableContentsInfo</td> + <td>sequence ContentInfo</td> + <td> + contains the types of Contents a Content object can create via + command "createNewContent". + <p>If the property value can be a non-empty sequence, the + Content must also support command "createNewContent".</p> + <blockquote> + Note: This property is part of the replacement for the deprecated + interface XContentCreator. + </blockquote> + </td> + </tr> + <tr> + <td>DateCreated</td> + <td>com::sun::star::util::DateTime</td> + <td>contains the date and time the object was created.</td> + </tr> + <tr> + <td>DateModified</td> + <td>com::sun::star::util::DateTime</td> + <td>contains the date and time the object was last modified.</td> + </tr> + <tr> + <td>DocumentCount</td> + <td>long</td> + <td>contains the count of documents of a folder.</td> + </tr> + <tr> + <td>DocumentCountMarked</td> + <td>long</td> + <td>contains the count of marked documents within a folder.</td> + </tr> + <tr> + <td>DocumentHeader</td> + <td>sequence< DocumentHeaderField > </td> + <td>contains a sequence of document header fields (i.e. header + fields of a MIME-message, or the document info of an + office document ). For some standard header fields there + are predefined separate properties, like "MessageTo". + </td> + </tr> + <tr> + <td>DocumentStoreMode</td> + <td>DocumentStoreMode</td> + <td>contains information about the way a folder stores the + contents of (remote) documents. + </td> + </tr> + <tr> + <td>FolderCount</td> + <td>long</td> + <td>contains the count of subfolders of a folder.</td> + </tr> + <tr> + <td>FreeSpace</td> + <td>hyper</td> + <td>contains the free space left on a storage device. It is + specified in bytes.</td> + </tr> + <tr> + <td>HasDocuments</td> + <td>boolean</td> + <td>indicates whether a content has subcontents, which are documents.</td> + </tr> + <tr> + <td>HasFolders</td> + <td>boolean</td> + <td>indicates whether a content has subcontents, which are folders.</td> + </tr> + <tr> + <td>IsMarked</td> + <td>boolean</td> + <td>indicates whether a content is "marked".</td> + </tr> + <tr> + <td>IsRead</td> + <td>boolean</td> + <td>indicates whether a content has been "read".</td> + </tr> + <tr> + <td>IsReadOnly</td> + <td>boolean</td> + <td>indicates whether a content is read-only.</td> + </tr> + <tr> + <td>IsSubscribed</td> + <td>boolean</td> + <td>indicates whether a content is subscribed.</td> + </tr> + <tr> + <td>IsTimeLimitedStore</td> + <td>boolean</td> + <td>indicates whether the feature to store contents + depending on their age is active.</td> + </tr> + <tr> + <td>UpdateOnOpen</td> + <td>boolean</td> + <td>indicates whether (sub)contents shall be automatically updated + every time a (folder) content is opened.<br>This property may be + used to control whether a folder content should read data only + from local cache when it is opened, or whether it should connect + to a server to obtain latest data.</td> + </tr> + <tr> + <td>Keywords</td> + <td>string</td> + <td>contains the keywords of a document (e.g. the value + of the "keywords" header field of a news article).</td> + </tr> + <tr> + <td>MediaType</td> + <td>string</td> + <td>contains the media type ( MIME type ) of a content. It is highly + recommended to support this property if the content's implementation + can obtain the media type natively from its data source ( i.e. + HTTP servers provide media types for all their documents ). + </td> + </tr> + <tr> + <td>MessageBCC</td> + <td>string</td> + <td>contains the BCC (blind carbon copy) receiver(s) of a message.</td> + </tr> + <tr> + <td>MessageCC</td> + <td>string</td> + <td>contains the CC (carbon copy) receiver(s) of a message.</td> + </tr> + <tr> + <td>MessageFrom</td> + <td>string</td> + <td>contains (the address of) the sender of a message.</td> + </tr> + <tr> + <td>MessageId</td> + <td>string</td> + <td>contains the ID of a message.</td> + </tr> + <tr> + <td>MessageInReplyTo</td> + <td>string</td> + <td>contains the "In-Reply-To" field of a message.</td> + </tr> + <tr> + <td>MessageReplyTo</td> + <td>string</td> + <td>contains the "Reply-To" field of a message.</td> + </tr> + <tr> + <td>MessageTo</td> + <td>string</td> + <td>contains the recipient(s) of a message.</td> + </tr> + <tr> + <td>NewsGroups</td> + <td>string</td> + <td>contains the name(s) of the newsgroup(s) into which a message was posted.</td> + </tr> + <tr> + <td>Password</td> + <td>string</td> + <td>contains a password (e.g. needed to access a POP3-Server).</td> + </tr> + <tr> + <td>Priority</td> + <td>Priority</td> + <td>contains a priority (i.e. of a message).</td> + </tr> + <tr> + <td>References</td> + <td>string</td> + <td>contains the "References" field of a news article.</td> + </tr> + <tr> + <td>Rules</td> + <td>RuleSet</td> + <td>contains the rules set for a content.</td> + </tr> + <tr> + <td>SeenCount</td> + <td>long</td> + <td>contains the count of seen/read subcontents of a folder content.</td> + </tr> + <tr> + <td>ServerBase</td> + <td>string</td> + <td>contains the base directory to use on a server. (e.g. Setting + the server base of an FTP-Account to "/pub/incoming" + will result in showing contents from that directory and not from + server's root directory) + </td> + </tr> + <tr> + <td>ServerName</td> + <td>string</td> + <td>contains a server name (e.g. The name of the server to use for + a POP3-Account). + </td> + </tr> + <tr> + <td>ServerPort</td> + <td>short</td> + <td>contains a numeric server port.</td> + </tr> + <tr> + <td>Size</td> + <td>hyper</td> + <td>contains the size (usually in bytes) of an object.</td> + </tr> + <tr> + <td>SizeLimit</td> + <td>hyper</td> + <td>contains a size limit for an object. (e.g. One may specify the + maximum size of the HTTP-Cache) + </td> + </tr> + <tr> + <td>SubscribedCount</td> + <td>long</td> + <td>contains the count of subscribed contents of a folder.</td> + </tr> + <tr> + <td>SynchronizePolicy</td> + <td>SynchronizePolicy</td> + <td>contains the policy to use when synchronizing two objects.</td> + </tr> + <tr> + <td>TargetFrames</td> + <td>string</td> + <td>contains information about the target frame to use when displaying + an object. + <p>The value is a string containing three tokens, separated by ";" + (A semicolon):<br/> + <dl> + <dt>1st token</dt> + <dd>Behavior on "select" ( single click )</dd> + <dt>2nd token</dt> + <dd>Behavior on "open" ( double click )</dd> + <dt>3rd token</dt> + <dd>Behavior on "open in new task" ( double click + CTRL key )</dd> + </dl> + </p> + <p> Each token may contain the following values:<br/> + <dl> + <dt>"_beamer"</dt> + <dd>Show in "Beamer"</dd> + <dt>"_top"</dt> + <dd>Show in current frame (replaces old)</dd> + <dt>"_blank"</dt> + <dd>Show in new task</dd> + </dl> + </p> + </td> + </tr> + <tr> + <td>TargetURL</td> + <td>string</td> + <td>for contents that are links to other contents, contains the URL of + the target content</td> + </tr> + <tr> + <td>TimeLimitStore</td> + <td>short</td> + <td>contains the value to use if the property "IsTimeLimitedStore" is set.</td> + </tr> + <tr> + <td>UserName</td> + <td>string</td> + <td>contains a user name. (e.g. the user name needed to access a + POP3-Account)</td> + </tr> + <tr> + <td>VerificationMode</td> + <td>VerificationMode </td> + <td>describes a verification policy.</td> + </tr> + </table> + */ + interface com::sun::star::ucb::XCommandProcessor; + + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** notifies changes of property values to listeners registered for + those properties. + + <p>This interface is required. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** can be used to add new properties to the content and to remove + properties from the content dynamically. + + <p>Note that the dynamic properties must be kept persistent. The + service Store (UCB persistence service) may be used to + implement this. + + <p><b>Important:</b> The implementation of + com::sun::star::beans::XPropertyContainer::addProperty() + must at least support adding properties of the following basic data + types: + + <p> + <ul> + <li>boolean + <li>char + <li>byte + <li>string + <li>short + <li>long + <li>hyper + <li>float + <li>double + </ul> + </p> + + <p>If a property with an unsupported type shall be added a + com::sun::star::beans::IllegalTypeException must + be raised. + + @deprecated + <p>This interface is <b>deprecated</b>, because a + ContentProvider might need a + XCommandEnvironment to perform the tasks of adding and + removing properties. New implementations should implement the + respective commands "addProperty" and "removeProperty" instead. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** can be used to notify properties removed from or added to the + content's property set. + + <p>This interface must be implemented, if the implementation can + dynamically change it's property set ( e.g. because it implements + the interface + com::sun::star::beans::XPropertyContainer. ) + */ + [optional] interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** can be used to notify commands removed from or added to the + content's command set. + + <p>This interface must be implemented, if the implementation can + dynamically change it's command set ( e.g. because the set of + available commands depends on the value of a property of the + content ). + + <p>This interface is optional. + */ + [optional] interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** creates new contents (i.e. creates a new folder in another folder + somewhere in the local file system). + + <p>A content is "new", if it does not physically exist before creating + it using this interface. + + <p>This interface is optional. It should be implemented by contents + which shall be able to create new objects. + + @deprecated + + <p>This interface is <b>deprecated</b>. Use property + "CreatableContentsInfo" and command "createNewContent" instead. + */ + [optional] interface com::sun::star::ucb::XContentCreator; + + /** provides access to the parent content of this content. + + <p>The object returned by the implementation of the method + com::sun::star::container::XChild::getParent() + must implement the service Content. If the content is a + root object, an empty interface may be returned. + + <p>This interface must be implemented by a content which is a (logical) + child of a content. + */ + [optional] interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentAction.idl b/offapi/com/sun/star/ucb/ContentAction.idl new file mode 100644 index 000000000..4e3127756 --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentAction.idl @@ -0,0 +1,147 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentAction_idl__ +#define __com_sun_star_ucb_ContentAction_idl__ + + + +module com { module sun { module star { module ucb { + +/** specifies actions which can be transported with content events. + + <p> + The situations under which contents will send ContentEvents of the various + action types are described below. The description is broken into a list of + useful definitions, a list of events that happen to contents, and a list of + reactions taken by contents in response to those events. + </p> + + <p> + The definitions are as follows: + </p> + + <table border =1> + <tr><td>D1</td><td>A content C has an identifier id(C).</td></tr> + <tr><td>D2</td><td>A content C is in one of two states, Alive or Deleted. + </td></tr> + <tr><td>D3</td><td>A folder content F has a set of children H(F) that is a + set of content identifiers. For example, an "open" + command will usually return a subset of the contents + denoted by H(F).</td></tr> + </table> + + <p> + The events that can happen to contents (and that are of interest in this + context) are listed next. Note that "event" here does not mean an + ContentEvent, but rather some event that occurs either because some content + processes a command, or because a content gets informed about a relevant + change in the underlying system it represents. + </p> + + <table border =1> + <tr><td>E1</td><td>The identifier of a content C changes from id1(C) == A + to id2(C) == B, denoted as E1(C: A->B). For example, + this event may occur when content C processes a + "setPropertyValues" command changing its "Title" property, + or when a folder that hierarchically contains C changes + its identity.</td></tr> + <tr><td>E2</td><td>The state of a content C changes from Alive to Deleted, + denoted as E2(C). For example, this event may occur when + content C processes a "delete" command, or when a content + representing an IMAP message gets informed by the IMAP + server that the message has been deleted.</td></tr> + <tr><td>E3</td><td>The set of children of a folder content F is enlarged by + some identifier A (that was not previously in that set, + i.e., !(A in H1(F)) && (A in H2(F))), denoted as E3(F, A). + For example, this event may occur when a new content + created at folder F processes its "insert" command, or + when a folder representing an IMAP mailbox gets informed + by the IMAP server that a new message has arrived at that + mailbox.</td></tr> + </table> + + <p> + Finally, the list of reactions taken by contents in response to the above + events gives a description of what kinds of ContentEvents are sent in which + situations: + </p> + + <table border =1> + <tr><td>R1</td><td>E1(C: A->B) results in C sending an EXCHANGED + ContentEvent, which then results in the following: All + folders F that used to have A as a child, but will not + have B as a child, i.e., (A in H1(F)) && !(B in H2(F)), + send a REMOVED ContentEvent.</td></tr> + <tr><td>R2</td><td>E2(C) results in C sending a DELETED ContentEvent, + which then results in the following: All folders F that + used to have A as a child, but will not continue to have + A as a child, i.e., (A in H1(F)) && !(A in H2(F)), send + a REMOVED event.</td></tr> + <tr><td>R3</td><td>E3(F, A) results in F sending an INSERTED event.</td></tr> + </table> +*/ +published constants ContentAction +{ + /** A content was inserted into a folder content (i.e., while updating the + folder). + + <p>This action must be notified at the listeners of the folder content. + */ + const long INSERTED = 0; + + /** A content was removed from a folder content, but not physically + destroyed (i.e., due to rules just applied to the folder). + + <p>This action must be notified at the listeners of the folder content. + */ + const long REMOVED = 1; + + /** A content was physically destroyed. + + <p>Events containing this action may be generated at any time. So a + content event listener should be prepared to get notified the "death" + of the related content! + + <p>This action must be notified at the listeners of the deleted + content. + */ + const long DELETED = 2; + + /** This Action indicates that a content has changed its identity (i.e. + after renaming a file system folder). + + <p>This action must be notified at the listeners of the exchanged + content. + */ + const long EXCHANGED = 4; + + /** This is obsolete and should no longer be used. + + @deprecated + */ + const long SEARCH_MATCHED = 128; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentCreationError.idl b/offapi/com/sun/star/ucb/ContentCreationError.idl new file mode 100644 index 000000000..e849d4e5f --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentCreationError.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentCreationError_idl__ +#define __com_sun_star_ucb_ContentCreationError_idl__ + + + +module com { module sun { module star { module ucb { + +/** Codes for content creation errors. +*/ +published enum ContentCreationError +{ + /** Unknown. + */ + UNKNOWN, + + /** @deprecated + */ + NO_CONTENT_BROKER, + + /** @deprecated + */ + NO_IDENTIFIER_FACTORY, + + /** Creation of content identifier failed. + */ + IDENTIFIER_CREATION_FAILED, + + /** No Content Provider for given content identifier available. + */ + NO_CONTENT_PROVIDER, + + /** Provider was unable to create the content instance. + */ + CONTENT_CREATION_FAILED +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentCreationException.idl b/offapi/com/sun/star/ucb/ContentCreationException.idl new file mode 100644 index 000000000..9f8bcfbe0 --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentCreationException.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentCreationException_idl__ +#define __com_sun_star_ucb_ContentCreationException_idl__ + +#include <com/sun/star/uno/Exception.idl> +#include <com/sun/star/ucb/ContentCreationError.idl> + + +module com { module sun { module star { module ucb { + +/** This exception is thrown to indicate that the creation of a UCB content + failed. + + @version 1.0 +*/ +published exception ContentCreationException : com::sun::star::uno::Exception +{ + /** An error code. + */ + ContentCreationError eError; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentEvent.idl b/offapi/com/sun/star/ucb/ContentEvent.idl new file mode 100644 index 000000000..bc5a74023 --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentEvent.idl @@ -0,0 +1,100 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentEvent_idl__ +#define __com_sun_star_ucb_ContentEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + + +module com { module sun { module star { module ucb { + + published interface XContent; + published interface XContentIdentifier; + +/** A structure for content events. +*/ +published struct ContentEvent: com::sun::star::lang::EventObject +{ + /** The action. + + <p>The value can be one of the ContentAction constants. + */ + long Action; + + /** The content to that the action is related (e.g., the content that was + just physically destroyed, the content that was just inserted into a + folder content). + + <p>This member must be filled as follows: + + <table border=1> + <tr align=left> + <td>ContentAction::INSERTED</td> + <td>The content inserted into a folder</td> + </tr> + <tr align=left> + <td>ContentAction::REMOVED</td> + <td>The content removed from a folder</td> + </tr> + <tr align=left> + <td>ContentAction::DELETED</td> + <td>The deleted content</td> + </tr> + <tr align=left> + <td>ContentAction::EXCHANGED</td> + <td>The exchanged content (that already has the new content id)</td> + </tr> + </table> + */ + XContent Content; + + /** A content identifier, which must be filled according to the action + notified (e.g., the id of the folder content into which another content + was inserted). + + <p>This member must be filled as follows: + + <table border=1> + <tr align=left> + <td>ContentAction::INSERTED</td> + <td>Id of the folder the content was inserted into</td> + </tr> + <tr align=left> + <td>ContentAction::REMOVED</td> + <td>Id of the folder the content was removed from</td> + </tr> + <tr align=left> + <td>ContentAction::DELETED</td> + <td>Id of the deleted content</td> + </tr> + <tr align=left> + <td>ContentAction::EXCHANGED</td> + <td>Previous(!) id of the exchanged content</td> + </tr> + </table> + */ + XContentIdentifier Id; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentInfo.idl b/offapi/com/sun/star/ucb/ContentInfo.idl new file mode 100644 index 000000000..f10c8527b --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentInfo.idl @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentInfo_idl__ +#define __com_sun_star_ucb_ContentInfo_idl__ + +#include <com/sun/star/beans/Property.idl> + + +module com { module sun { module star { module ucb { + +/** A structure for information about contents. + + @see XContentCreator + @see XCommandProcessor +*/ +published struct ContentInfo +{ + /** A type identifier string for a content. + + <p>This is an implementation specific string characterizing the + kind of a content (e.g. "application/vnd.sun.star.hierarchy-link"). + The value of this member should match the value returned by + XContent::getContentType() of an appropriate content. + */ + string Type; + + /** Additional attributes. + + <p>These flags contain extra information on the content, like its kind + (KIND_FOLDER, KIND_DOCUMENT, KIND_LINK). + + <p>It is highly recommended to fill these flags very accurately, as + they are very important when transferring contents between different + ContentProviders. + + <p>The value can be one of the ContentInfoAttribute + constants. + */ + long Attributes; + + /** This field contains a list with the properties which must be set at + a content that was just created using + XContentCreator::createNewContent() before it can be + committed (by executing the command "insert" at the new content). + + <p>If one of the properties is missing, the insert command will fail. + + <p>In example, a new file system folder content will need a title. The + Properties member of the ContentInfo provided for this kind of + content must include the property "Title". + + <p><b>Important:</b> The required properties must have one of the + following basic data types (in order to make it possible to implement + client applications with a small set of generic input methods for the + values): + + <p> + <ul> + <li>boolean + <li>char + <li>byte + <li>string + <li>short + <li>long + <li>hyper + <li>float + <li>double + </ul> + */ + sequence< com::sun::star::beans::Property > Properties; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentInfoAttribute.idl b/offapi/com/sun/star/ucb/ContentInfoAttribute.idl new file mode 100644 index 000000000..ac1207797 --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentInfoAttribute.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentInfoAttribute_idl__ +#define __com_sun_star_ucb_ContentInfoAttribute_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for ContentInfo::Attributes. +*/ +published constants ContentInfoAttribute +{ + /** No extra attributes. + */ + const short NONE = 0; + + /** Supply an input stream with the InsertCommandArgument, + when committing the new content by executing the command "insert" at it. + */ + const short INSERT_WITH_INPUTSTREAM = 1; + + /** The new content is of kind document. + + <p>It's value for the property "IsDocument" will be true. + */ + const short KIND_DOCUMENT = 2; + + /** The new content is of kind folder. + + <p>It's value for the property "IsFolder" will be true. + */ + const short KIND_FOLDER = 4; + + /** The new content is of kind link. + + <p>It will support the property "TargetURL" ( which identifies it as + a link ). + */ + const short KIND_LINK = 8; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentProvider.idl b/offapi/com/sun/star/ucb/ContentProvider.idl new file mode 100644 index 000000000..27328f3ef --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentProvider.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentProvider_idl__ +#define __com_sun_star_ucb_ContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> +#include <com/sun/star/ucb/XContentIdentifierFactory.idl> +#include <com/sun/star/ucb/XParameterizedContentProvider.idl> +#include <com/sun/star/ucb/XContentProviderSupplier.idl> + + +module com { module sun { module star { module ucb { + +/** provides access to a set of Contents. +*/ +published service ContentProvider +{ + /** gives access to all contents provided by this provider. + */ + interface com::sun::star::ucb::XContentProvider; + + /** creates special XContentIdentifier implementation + objects for the contents provided by this content provider. + + <p>This interface can be implemented in case the provider wants to + provide some additional interfaces with its implementation of the + identifier objects. + */ + [optional] interface com::sun::star::ucb::XContentIdentifierFactory; + + /** allows a ContentProvider to adjust itself to special + needs. + + <p>Whenever a ContentProvider that supports this interface is + registered at a XContentProviderManager, the method + XParameterizedContentProvider::registerInstance() + should first be called, using the returned XContentProvider + to register at the XContentProviderManager. + */ + [optional] interface com::sun::star::ucb::XParameterizedContentProvider; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentProviderInfo.idl b/offapi/com/sun/star/ucb/ContentProviderInfo.idl new file mode 100644 index 000000000..04cc88c22 --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentProviderInfo.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentProviderInfo_idl__ +#define __com_sun_star_ucb_ContentProviderInfo_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + + +module com { module sun { module star { module ucb { + +/** A structure for content provider information. + + @see XContentProviderManager +*/ +published struct ContentProviderInfo +{ + /** The content provider. + */ + com::sun::star::ucb::XContentProvider ContentProvider; + + /** The scheme the Provider is registered for. + */ + string Scheme; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentProviderProxy.idl b/offapi/com/sun/star/ucb/ContentProviderProxy.idl new file mode 100644 index 000000000..3320affa5 --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentProviderProxy.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentProviderProxy_idl__ +#define __com_sun_star_ucb_ContentProviderProxy_idl__ + +#include <com/sun/star/ucb/XContentProviderSupplier.idl> +#include <com/sun/star/ucb/XContentProvider.idl> +#include <com/sun/star/ucb/XParameterizedContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** is a proxy for a content provider. + + <p>Implementing a content provider proxy can be useful if the creation of + the real content provider object shall be deferred for some reason + (i.e. performance) until the first method gets called on it. Instead of + instantiating and registering the real provider at the UCB, a proxy for + the real provider can be created and registered at the UCB. + + @see XContentProviderProxyFactory +*/ +published service ContentProviderProxy +{ + /** The implementation of + com::sun::star::uno::XInterface::queryInterface() + must instantiate the real provider and return the return value + of a queryInterface call at the real provider, except for queries + for the interfaces implemented by the proxy itself. So the caller of + the queryInterface method at the proxy will get access to the real + provider in a completely transparent way. + */ + interface com::sun::star::uno::XInterface; + + /** gives access to the original content provider behind the proxy. + + <p>The implementation will instantiate the real content provider only + on demand using its UNO service name. This will load the content + providers implementation code (dynamic library), if not already done. + */ + interface com::sun::star::ucb::XContentProviderSupplier; + + /** a content provider implementation that wraps the original provider. + */ + interface com::sun::star::ucb::XContentProvider; + + /** a parameterized content provider implementation that wraps the + original provider. + */ + interface com::sun::star::ucb::XParameterizedContentProvider; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl b/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl new file mode 100644 index 000000000..caf7263cf --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentProviderProxyFactory.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentProviderProxyFactory_idl__ +#define __com_sun_star_ucb_ContentProviderProxyFactory_idl__ + +#include <com/sun/star/ucb/XContentProviderFactory.idl> + + +module com { module sun { module star { module ucb { + +/** is a factory for ContentProviderProxy implementations. +*/ +published service ContentProviderProxyFactory : XContentProviderFactory; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentResultSet.idl b/offapi/com/sun/star/ucb/ContentResultSet.idl new file mode 100644 index 000000000..513b25458 --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentResultSet.idl @@ -0,0 +1,193 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentResultSet_idl__ +#define __com_sun_star_ucb_ContentResultSet_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/sdbc/XResultSet.idl> +#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.idl> +#include <com/sun/star/sdbc/XRow.idl> +#include <com/sun/star/sdbc/XCloseable.idl> +#include <com/sun/star/ucb/XContentAccess.idl> +#include <com/sun/star/sdbc/ResultSet.idl> + + +module com { module sun { module star { module ucb { + +/** provides access to the children of a folder content. + + <p>It can be understand as a table containing a row for each child. The + table columns may contain values of properties of the children. +*/ +published service ContentResultSet +{ + /** must be implemented to make it possible to resolve cyclic object + references ( i.e. between an implementation of + com::sun::star::beans::XPropertySet + - which may hold property change listeners - and + com::sun::star::beans::XPropertyChangeListener + - which may hold the property set ). + + <p>This interface is required. + */ + interface com::sun::star::lang::XComponent; + + /** provides access to the result set meta data. Meta data are for + example the number of columns of the result set, information + on the data types of columns, column names, and more. + + <p>This interface is required. + */ + interface com::sun::star::sdbc::XResultSetMetaDataSupplier; + + /** enables traveling through the result set members ( the contents ). + This interface mainly provides a cursor for the result set. + + <p>Note that every method of this interface implementation additionally + may throw a ResultSetException ( which is derived from + com::sun::star::sdbc::SQLException to be compatible + to that interface ). The new exception transports another exception, + which indicates the reason for the failure of the method call. + + <p>This interface is required. + */ + interface com::sun::star::sdbc::XResultSet; + + /** provides access to data of the content the cursor is pointing to. + + <p>Note that every method of this interface implementation additionally + may throw a ResultSetException ( which is derived from + com::sun::star::sdbc::SQLException to be compatible + to that interface ). The new exception transports another exception, + which indicates the reason for the failure of the method call. + + <p>This interface is required. + */ + interface com::sun::star::sdbc::XRow; + + /** makes it possible to abort running activities ( i.e. to cancel + retrieving data from a server ). + + <p>Note that every method of this interface implementation additionally + may throw a ResultSetException ( which is derived from + com::sun::star::sdbc::SQLException to be compatible + to that interface ). The new exception transports another exception, + which indicates the reason for the failure of the method call. + + <p>This interface is required. + */ + interface com::sun::star::sdbc::XCloseable; + + /** holds properties of the result set. + + <p>This interface is required. + */ + interface com::sun::star::beans::XPropertySet; + + /** controls the travel mode of the result set cursor. + + <p>There are two possible travel modes: + + <p><table border=1> + <tr><td>CursorTravelMode::BLOCKING</td> + <td>Each travel method of the result set will not return until the + data for the new position were retrieved.</td></tr> + <tr><td>CursorTravelMode::NONBLOCKING</td> + <td>The implementation will throw a + <code>CursorWouldBlockException</code>, if the data for the new + position are not retrieved yet.</td></tr> + </table> + + <p>The following pseudo-code illustrates the usage of a non-blocking + cursor: + + @code{.java} + bProcessedAllRows = false + while ( !bProcessedAllRows ) + { + cursor.setPropertyValue( "CursorTravelMode", BLOCKING ) + + cursor.travelSomeWhere() + collectRowData() + + cursor.setPropertyValue( "CursorTravelMode", NONBLOCKING ) + + bGoOn = true; + while ( bGoOn ) + { + try + { + cursor.travelSomeWhere() + collectRowData() + } + catch ( CursorWouldBlockException ) + { + // No more data at the moment. + bGoOn = false + } + } + + doSomethingWithCollectedRowData() + + bProcessedAllRows = ... + } + @endcode + + <p> + If this property is not supported, the implementation needs to provide + a blocking cursor. + </p> + + <p> + The implementation initially needs to set the value of this property + to CursorTravelMode::BLOCKING. + </p> + + @see CursorTravelMode + */ + [optional, property] long CursorTravelMode; + + /** contains the number of rows obtained (so far) from the data source. */ + [readonly, property] long RowCount; + + /** indicates that all rows of the result set have been obtained. */ + [readonly, property] boolean IsRowCountFinal; + + /** provides access to the content identifier and the content object + itself. + + <p>This interface is required. + */ + interface XContentAccess; + + /** can be implemented to provide a complete JDBC conform result set + interface for the implementation of this service. + + <p>The implementation of this service is optional. + */ + service com::sun::star::sdbc::ResultSet; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentResultSetCapability.idl b/offapi/com/sun/star/ucb/ContentResultSetCapability.idl new file mode 100644 index 000000000..71b90cf67 --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentResultSetCapability.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentResultSetCapability_idl__ +#define __com_sun_star_ucb_ContentResultSetCapability_idl__ + + + +module com { module sun { module star { module ucb { + +/** These values are used to specify the capabilities of an + XDynamicResultSet. +*/ +published constants ContentResultSetCapability +{ + /** indicates that a ContentResultSet is properly sorted, + exactly following the rules given during the ContentResultSet was + created. + */ + const short SORTED = 1; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ContentTransmitter.idl b/offapi/com/sun/star/ucb/ContentTransmitter.idl new file mode 100644 index 000000000..c7725beaa --- /dev/null +++ b/offapi/com/sun/star/ucb/ContentTransmitter.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ContentTransmitter_idl__ +#define __com_sun_star_ucb_ContentTransmitter_idl__ + +#include <com/sun/star/ucb/XContentTransmitter.idl> + + +module com { module sun { module star { module ucb { + +/** A ContentTransmitter is a service that provides + + @deprecated +*/ +published service ContentTransmitter +{ + /** + + This interface is required. + */ + interface com::sun::star::ucb::XContentTransmitter; +}; + + + +}; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/CrossReference.idl b/offapi/com/sun/star/ucb/CrossReference.idl new file mode 100644 index 000000000..ef06a54cc --- /dev/null +++ b/offapi/com/sun/star/ucb/CrossReference.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_CrossReference_idl__ +#define __com_sun_star_ucb_CrossReference_idl__ + + + +module com { module sun { module star { module ucb { + +/** This struct contains information describing a cross reference. + + <p>Such references are kept by news servers for managing articles + contained in multiple groups. An article can have a sequence of + cross references. +*/ +published struct CrossReference +{ + /** The name of a news group. + */ + string Group; + + /** The unique identifier (relative to the server) of an article in the + given group. + */ + long Id; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl b/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl new file mode 100644 index 000000000..bf795cc76 --- /dev/null +++ b/offapi/com/sun/star/ucb/DefaultHierarchyDataSource.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_DefaultHierarchyDataSource_idl__ +#define __com_sun_star_ucb_DefaultHierarchyDataSource_idl__ + +#include <com/sun/star/ucb/HierarchyDataSource.idl> + + +module com { module sun { module star { module ucb { + +/** is a concrete implementation of service HierarchyDataSource, + which uses the service + com::sun::star::configuration::ConfigurationProvider + for reading and writing hierarchy data. +*/ +published service DefaultHierarchyDataSource +{ + /** is a concrete implementation of service HierarchyDataSource, + which uses the service + com::sun::star::configuration::ConfigurationProvider + for reading and writing hierarchy data. + + <p>com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() + supports the service specifiers + <code>"com.sun.star.ucb.HierarchyDataReadAccess"</code> and + <code>"com.sun.star.ucb.HierarchyDataReadWriteAccess"</code>. + */ + service HierarchyDataSource; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/DocumentHeaderField.idl b/offapi/com/sun/star/ucb/DocumentHeaderField.idl new file mode 100644 index 000000000..2445d3bd8 --- /dev/null +++ b/offapi/com/sun/star/ucb/DocumentHeaderField.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_DocumentHeaderField_idl__ +#define __com_sun_star_ucb_DocumentHeaderField_idl__ + + + +module com { module sun { module star { module ucb { + +/** This struct contains a name-value pair of a document header (i.e. + the "subject" field and the appropriate value of a MIME message). +*/ +published struct DocumentHeaderField +{ + /** The name of the header field. + */ + string Name; + + /** The value of the header field. + */ + string Value; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/DocumentStoreMode.idl b/offapi/com/sun/star/ucb/DocumentStoreMode.idl new file mode 100644 index 000000000..32c16422e --- /dev/null +++ b/offapi/com/sun/star/ucb/DocumentStoreMode.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_DocumentStoreMode_idl__ +#define __com_sun_star_ucb_DocumentStoreMode_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for the property "DocumentStoreMode". + + @see XCommandProcessor + @see Content +*/ +published enum DocumentStoreMode +{ + /** Document contents are not stored locally. + */ + REMOTE, + + /** Document contents are stored locally. + */ + LOCAL + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl b/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl new file mode 100644 index 000000000..4cdbfbc7f --- /dev/null +++ b/offapi/com/sun/star/ucb/DuplicateCommandIdentifierException.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_DuplicateCommandIdentifierException_idl__ +#define __com_sun_star_ucb_DuplicateCommandIdentifierException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** is thrown by XCommandProcessor::execute() to indicate that + the same command identifier was used for two threads. + + <p>Each thread must use its own command identifier, which must be obtained + using XCommandProcessor::createCommandIdentifier(). Command + identifier <code>0</code>, which indicates that the command shall never + be aborted by a client, can be used by any thread. + + @version 1.0 + @see XCommandProcessor +*/ +published exception DuplicateCommandIdentifierException : com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/DuplicateProviderException.idl b/offapi/com/sun/star/ucb/DuplicateProviderException.idl new file mode 100644 index 000000000..f0255d008 --- /dev/null +++ b/offapi/com/sun/star/ucb/DuplicateProviderException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_DuplicateProviderException_idl__ +#define __com_sun_star_ucb_DuplicateProviderException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** is thrown to indicate that a content provider with the same + identifier already was registered with a content provider manager. + + @version 1.0 + @see XContentProviderManager +*/ +published exception DuplicateProviderException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/DynamicResultSet.idl b/offapi/com/sun/star/ucb/DynamicResultSet.idl new file mode 100644 index 000000000..b62a6588c --- /dev/null +++ b/offapi/com/sun/star/ucb/DynamicResultSet.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_DynamicResultSet_idl__ +#define __com_sun_star_ucb_DynamicResultSet_idl__ + +#include <com/sun/star/ucb/XDynamicResultSet.idl> + + +module com { module sun { module star { module ucb { + +/** provides read access to a static or dynamically changing + ContentResultSet. + + <p>For example, a DynamicResultSet is returned from the + open-command executed by an XCommandProcessor of the service + Content. +*/ + +published service DynamicResultSet +{ + /** Provides read access to a static or a dynamically changing + ContentResultSet. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XDynamicResultSet; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/Error.idl b/offapi/com/sun/star/ucb/Error.idl new file mode 100644 index 000000000..559c549e1 --- /dev/null +++ b/offapi/com/sun/star/ucb/Error.idl @@ -0,0 +1,336 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_Error_idl__ +#define __com_sun_star_ucb_Error_idl__ + + + +module com { module sun { module star { module ucb { + +/** These codes are used to indicate errors. + + @deprecated +*/ +published constants Error +{ + // DOCUMENTATION MISSING FOR constants::0 + const long NONE = 0; + + // DOCUMENTATION MISSING FOR constants::122880 + const long LOGIN_FAILURE_RECEIVE = 122880; + + // DOCUMENTATION MISSING FOR constants::122881 + const long LOGIN_FAILURE_NEWSSEND = 122881; + + // DOCUMENTATION MISSING FOR constants::122882 + const long LOGIN_FAILURE_MAILSEND = 122882; + + // DOCUMENTATION MISSING FOR constants::122883 + const long CONNECT_FAILURE = 122883; + + // DOCUMENTATION MISSING FOR constants::122884 + const long UCB_OFFLINE = 122884; + + // DOCUMENTATION MISSING FOR constants::122885 + const long UCB_SERVER_ERROR = 122885; + + // DOCUMENTATION MISSING FOR constants::122886 + const long STORAGE_READONLY = 122886; + + // DOCUMENTATION MISSING FOR constants::122887 + const long STORAGE_KILLED = 122887; + + // DOCUMENTATION MISSING FOR constants::122888 + const long WRONG_FILE_FORMAT = 122888; + + // DOCUMENTATION MISSING FOR constants::122889 + const long UNSUPPORTED_URL = 122889; + + // DOCUMENTATION MISSING FOR constants::122890 + const long CNTOUT_NO_FROM = 122890; + + // DOCUMENTATION MISSING FOR constants::122891 + const long TOO_MANY_GROUPS = 122891; + + // DOCUMENTATION MISSING FOR constants::122892 + const long DELETE_ABORTED = 122892; + + // DOCUMENTATION MISSING FOR constants::122893 + const long QUERY_DELETE = 122893; + + // DOCUMENTATION MISSING FOR constants::122894 + const long NOTAVAILABLE = 122894; + + // DOCUMENTATION MISSING FOR constants::122895 + const long VIM_LIBRARY_ERROR = 122895; + + // DOCUMENTATION MISSING FOR constants::122896 + const long FOLDER_INVALID = 122896; + + // DOCUMENTATION MISSING FOR constants::122897 + const long FTP_RESOLVERERROR = 122897; + + // DOCUMENTATION MISSING FOR constants::122898 + const long FTP_NETWORKERROR = 122898; + + // DOCUMENTATION MISSING FOR constants::122899 + const long FTP_NOTNECESSARYCMD = 122899; + + // DOCUMENTATION MISSING FOR constants::122900 + const long FTP_SERVICEUNAVAILABLE = 122900; + + // DOCUMENTATION MISSING FOR constants::122901 + const long FTP_DCONFAILURE = 122901; + + // DOCUMENTATION MISSING FOR constants::122902 + const long FTP_TRANSFERABORTED = 122902; + + // DOCUMENTATION MISSING FOR constants::122903 + const long NO_VIM_LIBRARY = 122903; + + // DOCUMENTATION MISSING FOR constants::122904 + const long VIM_LIBRARY_CORRUPTED = 122904; + + // DOCUMENTATION MISSING FOR constants::122905 + const long CCMAIL_EXPORT_ERROR = 122905; + + // DOCUMENTATION MISSING FOR constants::122906 + const long NO_CCMAIL_EXPORT_FILE = 122906; + + // DOCUMENTATION MISSING FOR constants::122907 + const long ILLEGAL_CCMAIL_EXPORT_FILE = 122907; + + // DOCUMENTATION MISSING FOR constants::122908 + const long MESSAGE_NOT_FOUND = 122908; + + // DOCUMENTATION MISSING FOR constants::122909 + const long BAD_CCMAIL_EXPORT_PASSWORD = 122909; + + // DOCUMENTATION MISSING FOR constants::122910 + const long CCMAIL_EXPORT_TOO_LONG = 122910; + + // DOCUMENTATION MISSING FOR constants::122911 + const long FOLDER_EXISTS = 122911; + + // DOCUMENTATION MISSING FOR constants::122912 + const long FOLDER_NOT_EXISTS = 122912; + + // DOCUMENTATION MISSING FOR constants::122913 + const long NO_VIM_BBOARDLIST = 122913; + + // DOCUMENTATION MISSING FOR constants::122914 + const long ILLEGAL_MESSAGE_ID = 122914; + + // DOCUMENTATION MISSING FOR constants::122915 + const long SERVER_PORT_SYNTAX = 122915; + + // DOCUMENTATION MISSING FOR constants::122916 + const long SERVERNAME_SYNTAX = 122916; + + // DOCUMENTATION MISSING FOR constants::122917 + const long USERNAME_SYNTAX = 122917; + + // DOCUMENTATION MISSING FOR constants::122918 + const long IS_RESCHEDULED = 122918; + + // DOCUMENTATION MISSING FOR constants::122919 + const long VIM_NO_FAKE_MESSAGE_ID = 122919; + + // DOCUMENTATION MISSING FOR constants::122920 + const long FSYS_ROOT_DELETE = 122920; + + // DOCUMENTATION MISSING FOR constants::122921 + const long FILE_EXISTS = 122921; + + // DOCUMENTATION MISSING FOR constants::122922 + const long FILE_NOT_EXISTS = 122922; + + // DOCUMENTATION MISSING FOR constants::122923 + const long FSYS_MISPLACED_CHAR = 122923; + + // DOCUMENTATION MISSING FOR constants::122924 + const long FSYS_INVALID_CHAR = 122924; + + // DOCUMENTATION MISSING FOR constants::122925 + const long FSYS_INVALID_DEVICE = 122925; + + // DOCUMENTATION MISSING FOR constants::122926 + const long FSYS_ACCESS_DENIED = 122926; + + // DOCUMENTATION MISSING FOR constants::122927 + const long FSYS_LOCK_VIOLATION = 122927; + + // DOCUMENTATION MISSING FOR constants::122928 + const long FSYS_VOLUME_FULL = 122928; + + // DOCUMENTATION MISSING FOR constants::122929 + const long FSYS_NOT_SUPPORTED = 122929; + + // DOCUMENTATION MISSING FOR constants::122930 + const long FSYS_UNKNOWN = 122930; + + // DOCUMENTATION MISSING FOR constants::122931 + const long FSYS_NOT_A_FILE = 122931; + + // DOCUMENTATION MISSING FOR constants::122932 + const long FSYS_NOT_A_DIRECTORY = 122932; + + // DOCUMENTATION MISSING FOR constants::122933 + const long FSYS_IS_WILDCARD = 122933; + + // DOCUMENTATION MISSING FOR constants::122934 + const long RENAMED_WRONG_FILE_FORMAT = 122934; + + // DOCUMENTATION MISSING FOR constants::122935 + const long FSYS_UPDATE_NEEDED = 122935; + + // DOCUMENTATION MISSING FOR constants::122936 + const long FSYS_CANT_RESOLVE_CONFLICT = 122936; + + // DOCUMENTATION MISSING FOR constants::122937 + const long FSYS_CANT_ITERATE = 122937; + + // DOCUMENTATION MISSING FOR constants::122938 + const long ONE_NOT_SEARCHABLE = 122938; + + // DOCUMENTATION MISSING FOR constants::122939 + const long MULTIPLE_NOT_SEARCHABLE = 122939; + + // DOCUMENTATION MISSING FOR constants::122940 + const long FSYS_CACHE_INCONSISTENT = 122940; + + // DOCUMENTATION MISSING FOR constants::122941 + const long FSYS_READONLY = 122941; + + // DOCUMENTATION MISSING FOR constants::122942 + const long FSYS_LOCK = 122942; + + // DOCUMENTATION MISSING FOR constants::122943 + const long FSYS_UNLOCK = 122943; + + // DOCUMENTATION MISSING FOR constants::122944 + const long FSYS_DELETE = 122944; + + // DOCUMENTATION MISSING FOR constants::122945 + const long FSYS_IS_MARKED = 122945; + + // DOCUMENTATION MISSING FOR constants::122946 + const long FTP_GENERAL_FAILURE = 122946; + + // DOCUMENTATION MISSING FOR constants::122947 + const long DO_LOG = 122947; + + // DOCUMENTATION MISSING FOR constants::122948 + const long HTTP_COOKIE_REQUEST = 122948; + + // DOCUMENTATION MISSING FOR constants::122949 + const long FSYS_LOST_ROOT = 122949; + + // DOCUMENTATION MISSING FOR constants::122950 + const long FTP_PROXY = 122950; + + // DOCUMENTATION MISSING FOR constants::122951 + const long SOURCE_SAME_AS_TARGET = 122951; + + // DOCUMENTATION MISSING FOR constants::122952 + const long CONFIRM_EMPTY_TRASH = 122952; + + // DOCUMENTATION MISSING FOR constants::122953 + const long FSYS_NO_TARGET = 122953; + + // DOCUMENTATION MISSING FOR constants::122954 + const long FSYS_RECURSIVE = 122954; + + // DOCUMENTATION MISSING FOR constants::122955 + const long FSYS_INSERT_MEDIUM = 122955; + + // DOCUMENTATION MISSING FOR constants::122956 + const long NO_DOCINFO = 122956; + + // DOCUMENTATION MISSING FOR constants::122957 + const long CCMAIL_EXPORT_NOT_TERMINATING = 122957; + + // DOCUMENTATION MISSING FOR constants::122958 + const long EXTERNAL_COMMAND_FAILED = 122958; + + // DOCUMENTATION MISSING FOR constants::122959 + const long RENAME_FAILED = 122959; + + // DOCUMENTATION MISSING FOR constants::122960 + const long NOT_HANDLED = 122960; + + // DOCUMENTATION MISSING FOR constants::122961 + const long COULD_NOT_INIT_COMPONENT = 122961; + + // DOCUMENTATION MISSING FOR constants::122962 + const long TRANSFER_URL_NOT_SUPPORTED = 122962; + + // DOCUMENTATION MISSING FOR constants::122963 + const long EMPTY_SERVERNAME = 122963; + + // DOCUMENTATION MISSING FOR constants::122964 + const long EMPTY_USERNAME = 122964; + + // DOCUMENTATION MISSING FOR constants::122965 + const long BAD_INET = 122965; + + // DOCUMENTATION MISSING FOR constants::122966 + const long IMAP_SERVER_MSG = 122966; + + // DOCUMENTATION MISSING FOR constants::122967 + const long IMAP_CONNECTION_CLOSED = 122967; + + // DOCUMENTATION MISSING FOR constants::122968 + const long IMAP_NOT_IMAP4 = 122968; + + // DOCUMENTATION MISSING FOR constants::122969 + const long IMAP_BAD_SERVER = 122969; + + // DOCUMENTATION MISSING FOR constants::122970 + const long REORGANIZE_FILE_LOCKED = 122970; + + // DOCUMENTATION MISSING FOR constants::122971 + const long IMAP_BAD_TITLE = 122971; + + // DOCUMENTATION MISSING FOR constants::122972 + const long SERVER_CONNECT_FAILURE = 122972; + + // DOCUMENTATION MISSING FOR constants::122973 + const long PASSWORD_SYNTAX = 122973; + + // DOCUMENTATION MISSING FOR constants::122974 + const long QUERY_DELETE_CACHE = 122974; + + // DOCUMENTATION MISSING FOR constants::122975 + const long REORGANIZE_NO_DISKSPACE = 122975; + + // DOCUMENTATION MISSING FOR constants::122976 + const long LOGIN_FAILURE_ACCOUNT = 122976; + + // DOCUMENTATION MISSING FOR constants::122977 + const long ACCOUNT_SYNTAX = 122977; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ExpandContentProvider.idl b/offapi/com/sun/star/ucb/ExpandContentProvider.idl new file mode 100644 index 000000000..873203f89 --- /dev/null +++ b/offapi/com/sun/star/ucb/ExpandContentProvider.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ExpandContentProvider_idl__ +#define __com_sun_star_ucb_ExpandContentProvider_idl__ + +#include <com/sun/star/ucb/ContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** The Expand Content Provider implements a ContentProvider + for the UniversalContentBroker (UCB). + + <p> + It provides access to content via macrofied URLs, e.g. + vnd.sun.star.expand://$UNO_USER_PACKAGES/abc. + + Macros which will be expanded using the singleton + /singletons/com.sun.star.util.theMacroExpander + of the process's initial component context. + + @see Content +*/ +service ExpandContentProvider +{ + service ContentProvider; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ExportStreamInfo.idl b/offapi/com/sun/star/ucb/ExportStreamInfo.idl new file mode 100644 index 000000000..140d983c5 --- /dev/null +++ b/offapi/com/sun/star/ucb/ExportStreamInfo.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ExportStreamInfo_idl__ +#define __com_sun_star_ucb_ExportStreamInfo_idl__ + +#include <com/sun/star/io/XOutputStream.idl> + + + +module com { module sun { module star { module ucb { + +/** information needed to export an object in mbx format (supplying an output + stream to export into). +*/ +published struct ExportStreamInfo +{ + /** the output stream to export into. + */ + com::sun::star::io::XOutputStream Target; + + /** tries hard to make message (document) bodies available for export. + */ + boolean ForceBodies; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FTPContent.idl b/offapi/com/sun/star/ucb/FTPContent.idl new file mode 100644 index 000000000..80bb55794 --- /dev/null +++ b/offapi/com/sun/star/ucb/FTPContent.idl @@ -0,0 +1,189 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FTPContent_idl__ +#define __com_sun_star_ucb_FTPContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XContentCreator.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A FTPContent provides an object representing either a (ftp-server-side) + directory object allowing listing of children or a content object providing + access to a (ftp-server-side) file. + + @see com::sun::star::ucb::FTPContentProvider + + @since OOo 1.1.2 +*/ +published service FTPContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p>An object representing a directory in the file system is able + to create a new object, which in turn can become the representation + of a physical file/directory being contained in the initial directory. + The precise way is the following: + + <p> + + <ol> + <li> + Let the parent folder create a new content by calling + XContentCreator::createNewContent() on it. The content + type to use for new directories is + "application/vnd.sun.staroffice.ftp-folder". To create a new file + use the type "application/vnd.sun.staroffice.ftp-file". + As return value you get a new file content object. + </li> + <li> + Set a title at the new object by letting it execute + the command "setPropertyValues", which sets at least the property + "Title" to a non-empty value ). + </li> + <li> + Let the new object ( not the parent! ) execute the command "insert". + This will create the corresponding physical file or directory. + For files, you need to supply the implementation of + a com::sun::star::io::XInputStream with the + command's parameters, that provides access to the stream data. + </li> + </ol> + + </p> + */ + interface com::sun::star::ucb::XContentCreator; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + open + </li> + <li> + insert + </li> + <li> + delete + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, either + "application/vnd.sun.staroffice.ftp-folder" or + "application/vnd.sun.staroffice.ftp-file" ) + </li> + <li> + boolean IsDocument ( read-only, always `TRUE` for files, always + `FALSE` for directories ) + </li> + <li> + boolean IsFolder ( read-only ), always `FALSE` for files, always + `TRUE` for directories ) + </li> + <li> + boolean IsReadOnly ( read-only attribute ) + </li> + <li> + string Title ( file name ) + </li> + <li> + hyper Size ( file size ) + </li> + <li> + string Title ( file name ) + </li> + <li> + com::sun::star::util::DateTimeDateCreated ( read-only ) + </li> + </ul> + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FTPContentProvider.idl b/offapi/com/sun/star/ucb/FTPContentProvider.idl new file mode 100644 index 000000000..585367af8 --- /dev/null +++ b/offapi/com/sun/star/ucb/FTPContentProvider.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FTPContentProvider_idl__ +#define __com_sun_star_ucb_FTPContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + + +module com { module sun { module star { module ucb { + +/** The FTP Content Provider (FCP) implements a ContentProvider + for the UniversalContentBroker (UCB). + + <p>The served contents enable access to directories and files on a + ftp-server. + + @see com::sun::star::ucb::Content + + @since OOo 1.1.2 +*/ + +published service FTPContentProvider +{ + /** provides an object representing either a (ftp-server side) directory + object allowing listing of children or a content object providing + access a (ftp-server side) file. + + @see com::sun::star::ucb::FTPContent + */ + + interface com::sun::star::ucb::XContentProvider; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FetchError.idl b/offapi/com/sun/star/ucb/FetchError.idl new file mode 100644 index 000000000..0b9b95d9f --- /dev/null +++ b/offapi/com/sun/star/ucb/FetchError.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FetchError_idl__ +#define __com_sun_star_ucb_FetchError_idl__ + + +module com { module sun { module star { module ucb { + +/** These values are used to specify whether and which error has occurred + while fetching data of some ContentResultSet rows. + + @see FetchResult +*/ +published constants FetchError +{ + /** indicates that fetching of data was successful. + */ + const short SUCCESS = 0; + + /** indicates that during fetching we went beyond the last or first row. + + <p>Therefore the FetchResult does not contain the full + count of demanded rows, but the maximum possible count must be + contained. + */ + const short ENDOFDATA = 1; + + /** indicates that during fetching we got an exception. + + <p>The row, that causes the exception, and all following ( "following" + in read order! ) rows are not contained in the FetchResult. + Therefore the FetchResult does not contain the full count + of demanded rows. But all properly read rows so far must be contained. + */ + const short EXCEPTION = 2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FetchResult.idl b/offapi/com/sun/star/ucb/FetchResult.idl new file mode 100644 index 000000000..c4aee33a0 --- /dev/null +++ b/offapi/com/sun/star/ucb/FetchResult.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FetchResult_idl__ +#define __com_sun_star_ucb_FetchResult_idl__ + + +module com { module sun { module star { module ucb { + +/** contains data of several rows of a ContentResultSet. + + <p>This struct is returned from XFetchProvider::fetch(), + for example. +*/ + +published struct FetchResult +{ + /** contains the demanded data. + + <p>One any contains the data of one whole row. Those methods which + use this struct have to specify, what the any has to contain. + */ + sequence< any > Rows; + + /** indicates the index of the first row contained in + FetchResult::Rows in the original result set. So if + FetchResult::StartIndex equals <code>3</code>, the + first element in the sequence FetchResult::Rows + contains the data of the index <code>3</code> in the original result set. + + <p>The following rows are one after the other, but the direction + depends on the value of FetchResult::Direction + */ + long StartIndex; + + /** indicates the orientation in which the rows are fetched and set into + the sequence FetchResult::Rows. + + <p>When FetchResult::Orientation equals `TRUE`, the + rows in FetchResult::Rows are ordered in the same way + as in the original result set. + */ + boolean Orientation; + + /** indicates whether and which error has occurred, while fetching. + + <p>The value may contain zero or more constants of the + FetchError constants group. + */ + short FetchError; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FileContent.idl b/offapi/com/sun/star/ucb/FileContent.idl new file mode 100644 index 000000000..89eda3997 --- /dev/null +++ b/offapi/com/sun/star/ucb/FileContent.idl @@ -0,0 +1,220 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FileContent_idl__ +#define __com_sun_star_ucb_FileContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/ucb/XContentCreator.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A File Content represents either a directory or a file in the local file + system. + + <p>Whether a content represents a folder or a file can be determined by + inspecting its property <b>IsFolder</b> or <b>IsDocument</b>. + + @see com::sun::star::ucb::FileContentProvider +*/ +published service FileContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p>An object representing a directory in the file system is able + to create a new object, which in turn can become the representation + of a physical file/directory being contained in the initial directory. + The precise way is the following: + + <p> + + <ol> + <li> + Let the parent folder create a new content by calling + XContentCreator::createNewContent() on it. The content + type to use for new directories is + "application/vnd.sun.staroffice.fsys-folder". To create a new file + use the type "application/vnd.sun.staroffice.fsys-file". + As return value you get a new file content object. + </li> + <li> + Set a title at the new object by letting it execute + the command "setPropertyValues", which sets at least the property + "Title" to a non-empty value ). + </li> + <li> + Let the new object ( not the parent! ) execute the command "insert". + This will create the corresponding physical file or directory. + For files, you need to supply the implementation of + a com::sun::star::io::XInputStream with the + command's parameters, that provides access to the stream data. + </li> + </ol> + + </p> + */ + interface com::sun::star::ucb::XContentCreator; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created document persistent ) + </li> + <li> + delete + </li> + <li> + open + </li> + <li> + transfer + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, either + "application/vnd.sun.staroffice.fsys-folder" or + "application/vnd.sun.staroffice.fsys-file" ) + </li> + <li> + boolean IsDocument ( read-only, always `TRUE` for files, always + `FALSE` for directories ) + </li> + <li> + boolean IsFolder ( read-only ), always `FALSE` for files, always + `TRUE` for directories ) + </li> + <li> + com::sun::star::util::DateTime DateModified ( read-only ) + </li> + <li> + boolean IsReadOnly ( read-only attribute ) + </li> + <li> + hyper Size ( file size ) + </li> + <li> + string Title ( file name ) + </li> + <li> + boolean IsVolume ( read-only ) + </li> + <li> + boolean IsRemoveable ( read-only ) + </li> + <li> + boolean IsRemote ( read-only ) + </li> + <li> + boolean IsCompactDisc ( read-only ) + </li> + <li> + boolean IsFloppy ( read-only ) + </li> + <li> + boolean IsHidden ( read-only ) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FileContentProvider.idl b/offapi/com/sun/star/ucb/FileContentProvider.idl new file mode 100644 index 000000000..e0f313429 --- /dev/null +++ b/offapi/com/sun/star/ucb/FileContentProvider.idl @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FileContentProvider_idl__ +#define __com_sun_star_ucb_FileContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> +#include <com/sun/star/ucb/XFileIdentifierConverter.idl> +#include <com/sun/star/ucb/XContentIdentifierFactory.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module ucb { + +/** The File Content Provider (FCP) implements a ContentProvider + for the UniversalContentBroker (UCB). + + <p>The served contents enable access to the local file system. + + <p>The FCP is able to restrict access to the local file system to a number + of directories shown to the client under configurable alias names. + + @see com::sun::star::ucb::Content +*/ +published service FileContentProvider +{ + /** provides an object representing either a directory or a file in the + local file system. + + @see com::sun::star::ucb::FileContent + */ + + interface com::sun::star::ucb::XContentProvider; + + /** This interface is implemented according to the specification of + service ContentProvider. + */ + + interface com::sun::star::ucb::XContentIdentifierFactory; + + /** provides access to properties supported by the UCP. + + <p> The supported properties give two kinds of meta-information about + the environment of the FCP, namely property <b>HostName</b> containing + the name of the computer, and property <b>FileSystemNotation</b> + determining which system dependent notation the file system identifier + follow. + + <p> + + <b>Supported Properties</b> + <ul> + <li> + string HostName ( read-only ) + </li> + <li> + long FileSystemNotation ( read-only, the value is one of the + FileSystemNotation constants ) + </li> + </ul> + + </p> + */ + + interface com::sun::star::beans::XPropertySet; + + /** specifies methods to convert between (file) URLs and file paths in + system dependent notation + */ + + interface com::sun::star::ucb::XFileIdentifierConverter; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FileSystemNotation.idl b/offapi/com/sun/star/ucb/FileSystemNotation.idl new file mode 100644 index 000000000..9c97e6428 --- /dev/null +++ b/offapi/com/sun/star/ucb/FileSystemNotation.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_FileSystemNotation_idl__ +#define __com_sun_star_ucb_FileSystemNotation_idl__ + + +module com { module sun { module star { module ucb { + +/** The notational conventions used to denote file system paths on different + file systems or operating systems. +*/ +published constants FileSystemNotation +{ + /** No information regarding any conventions is available. + */ + const long UNKNOWN_NOTATION = 0; + + /** The conventions of Unix like file systems (e.g., + <code>/dir1/dir2/file</code>). + */ + const long UNIX_NOTATION = 1; + + /** The conventions of DOS like file systems (e.g., + <code>a:\\dir1\\dir2\\file</code> or UNC notation like + <code>\\\\host\\dir1\\dir2\\file</code>). + */ + const long DOS_NOTATION = 2; + + /** The conventions of Mac like file systems (e.g., + <code>volume:dir1:dir2:file</code>). + */ + const long MAC_NOTATION = 3; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FolderList.idl b/offapi/com/sun/star/ucb/FolderList.idl new file mode 100644 index 000000000..0f9598289 --- /dev/null +++ b/offapi/com/sun/star/ucb/FolderList.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FolderList_idl__ +#define __com_sun_star_ucb_FolderList_idl__ + +#include <com/sun/star/ucb/FolderListCommand.idl> +#include <com/sun/star/ucb/FolderListEntry.idl> + + + +module com { module sun { module star { module ucb { + +/** A list of folders. +*/ +published struct FolderList +{ + /** The command to process on this list of folders. + */ + FolderListCommand Command; + + /** The list of folders (only used in conjunction with + FolderListCommand::SET). + */ + sequence<FolderListEntry> List; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FolderListCommand.idl b/offapi/com/sun/star/ucb/FolderListCommand.idl new file mode 100644 index 000000000..cc5674a56 --- /dev/null +++ b/offapi/com/sun/star/ucb/FolderListCommand.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FolderListCommand_idl__ +#define __com_sun_star_ucb_FolderListCommand_idl__ + + + +module com { module sun { module star { module ucb { + +/** The various commands to process on a list of folders. + + @see FolderList +*/ +published enum FolderListCommand +{ + /** Get a list of all folders. + */ + GET, + + /** Get a list of subscribed folders. + */ + GET_SUBSCRIBED, + + /** Set a list of folders. + */ + SET +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/FolderListEntry.idl b/offapi/com/sun/star/ucb/FolderListEntry.idl new file mode 100644 index 000000000..63eb8af2a --- /dev/null +++ b/offapi/com/sun/star/ucb/FolderListEntry.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_FolderListEntry_idl__ +#define __com_sun_star_ucb_FolderListEntry_idl__ + + + +module com { module sun { module star { module ucb { + +/** Information about a single folder in a FolderList. +*/ +published struct FolderListEntry +{ + /** The title of the folder. + */ + string Title; + + /** A (unique) identifier for the folder (used by IMAP, where different + folders with equal human-readable titles may exist; otherwise, it may + be left empty). + */ + string ID; + + /** The folder is subscribed. + */ + boolean Subscribed; + + /** The folder is new. + */ + boolean New; + + /** The folder has been removed. + */ + boolean Removed; + + /** The folder shall be purged (only used in conjunction with the + FolderListCommand::SET). + */ + boolean Purge; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/GIOContentProvider.idl b/offapi/com/sun/star/ucb/GIOContentProvider.idl new file mode 100644 index 000000000..76f4a61da --- /dev/null +++ b/offapi/com/sun/star/ucb/GIOContentProvider.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_GIOContentProvider_idl__ +#define __com_sun_star_ucb_GIOContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + +module com { module sun { module star { module ucb { +service GIOContentProvider +{ + interface com::sun::star::ucb::XContentProvider; +}; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl new file mode 100644 index 000000000..e7b2125a4 --- /dev/null +++ b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_GlobalTransferCommandArgument_idl__ +#define __com_sun_star_ucb_GlobalTransferCommandArgument_idl__ + +#include <com/sun/star/ucb/TransferCommandOperation.idl> + + +module com { module sun { module star { module ucb { + +/** This struct contains information needed to transfer objects from one + location to another. +*/ +published struct GlobalTransferCommandArgument +{ + /** contains the action to perform ( COPY, MOVE, LINK ). + */ + TransferCommandOperation Operation; + + /** contains the URL of the source object. + */ + string SourceURL; + + /** contains the URL of the target folder. + */ + string TargetURL; + + /** contains the title of the transferred object, if it is different + from the original one. + + <p>If this field is filled, for example, a file will be renamed + while it is being transferred. + */ + string NewTitle; + + /** describes how to act in case of title clashes while transferring + the data. + + <p>A title clash for instance occurs, if a file named "foo.txt" is + to be transferred to a folder already containing another file named + "foo.txt". Refer to NameClash for possible values for + this field. + */ + long NameClash; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl new file mode 100644 index 000000000..d7ba69b31 --- /dev/null +++ b/offapi/com/sun/star/ucb/GlobalTransferCommandArgument2.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef __com_sun_star_ucb_GlobalTransferCommandArgument2_idl__ +#define __com_sun_star_ucb_GlobalTransferCommandArgument2_idl__ + +#include <com/sun/star/ucb/GlobalTransferCommandArgument.idl> + + +module com { module sun { module star { module ucb { + +/** This struct extends the one for transfers arguments by adding a Mime + type and a Document Id property to it. + */ +struct GlobalTransferCommandArgument2 : GlobalTransferCommandArgument +{ + /** contains the MIME type of the source object. + */ + string MimeType; + + /** contains the DocumentId of the source object. + */ + string DocumentId; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl b/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl new file mode 100644 index 000000000..a4949a34d --- /dev/null +++ b/offapi/com/sun/star/ucb/GnomeVFSContentProvider.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_GnomeVFSContentProvider_idl__ +#define __com_sun_star_ucb_GnomeVFSContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +service GnomeVFSContentProvider +{ + interface com::sun::star::ucb::XContentProvider; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl b/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl new file mode 100644 index 000000000..0d7ae62cd --- /dev/null +++ b/offapi/com/sun/star/ucb/GnomeVFSDocumentContent.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_GnomeVFSDocumentContent_idl__ +#define __com_sun_star_ucb_GnomeVFSDocumentContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +service GnomeVFSDocumentContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + interface com::sun::star::ucb::XCommandProcessor; + + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl b/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl new file mode 100644 index 000000000..040f4de3b --- /dev/null +++ b/offapi/com/sun/star/ucb/GnomeVFSFolderContent.idl @@ -0,0 +1,91 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_GnomeVFSFolderContent_idl__ +#define __com_sun_star_ucb_GnomeVFSFolderContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/ucb/XContentCreator.idl> + + +module com { module sun { module star { module ucb { + +/** A DCP Folder is a container for other DCP Folders or Documents. + + @see com::sun::star::ucb::GnomeVFSContentProvider + @see com::sun::star::ucb::GnomeVFSDocumentContent +*/ +service GnomeVFSFolderContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + interface com::sun::star::ucb::XCommandProcessor; + + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; + + interface com::sun::star::ucb::XContentCreator; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HelpContent.idl b/offapi/com/sun/star/ucb/HelpContent.idl new file mode 100644 index 000000000..7047c61dd --- /dev/null +++ b/offapi/com/sun/star/ucb/HelpContent.idl @@ -0,0 +1,171 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HelpContent_idl__ +#define __com_sun_star_ucb_HelpContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A Help Content represents either a directory object allowing access to a + search engine and to index information for the respective module, or an + object allowing access to the concrete written help content. + + @see com::sun::star::ucb::HelpContentProvider +*/ +published service HelpContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + open + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, + ""application/vnd.sun.star.help" ) + </li> + <li> + boolean IsReadOnly ( read-only, always "true" ) + </li> + <li> + boolean IsDocument ( read-only ) + </li> + <li> + boolean IsFolder ( read-only ) + </li> + <li> + string Title ( read-only, content title ) + </li> + <li> + string MediaType ( read only, either "image/gif", "text/plain", + "text/html" or "text/css" ) + </li> + <li> + sequence<string> KeywordList ( read-only, only if IsFolder is true, + contains the index ) + </li> + <li> + sequence<sequence<string>> KeywordRef ( read-only, only if IsFolder is true, + contains the links belonging to the index ) + </li> + <li> + sequence<sequence<string>> KeywordAnchorForRef ( read-only, only if IsFolder is true, + contains the anchor names belonging to the index ) + </li> + <li> + sequence<sequence<string>> KeywordTitleForRef ( read-only, , only if IsFolder is true, + contains the titles of the documents in which the keywords are found. ) + </li> + <li> + sequence<string> SearchScopes ( read only, , only if IsFolder is true, + contains the scopes in which to search ). + </li> + <li> + string AnchorName ( readonly, only if content is has media type "text/html". + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HelpContentProvider.idl b/offapi/com/sun/star/ucb/HelpContentProvider.idl new file mode 100644 index 000000000..86302d41d --- /dev/null +++ b/offapi/com/sun/star/ucb/HelpContentProvider.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HelpContentProvider_idl__ +#define __com_sun_star_ucb_HelpContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + + +module com { module sun { module star { module ucb { + +/** The Help Content Provider (HCP) implements a ContentProvider + for the UniversalContentBroker (UCB). + + <p>The served contents enable access to the help contents and to the + search engine. + + @see com::sun::star::ucb::Content +*/ + +published service HelpContentProvider +{ + /** provides an object representing either a directory object allowing + searching or a help content object providing access to the help content. + + @see com::sun::star::ucb::HelpContent + */ + + interface com::sun::star::ucb::XContentProvider; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HierarchyContentProvider.idl b/offapi/com/sun/star/ucb/HierarchyContentProvider.idl new file mode 100644 index 000000000..5d9fa601a --- /dev/null +++ b/offapi/com/sun/star/ucb/HierarchyContentProvider.idl @@ -0,0 +1,100 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HierarchyContentProvider_idl__ +#define __com_sun_star_ucb_HierarchyContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** The Hierarchy Content Provider (HCP) implements a + ContentProvider for the UniversalContentBroker + (UCB). + + <p>It provides access to a persistent, customizable hierarchy of contents + (folders and links). + + @see com::sun::star::ucb::Content +*/ +published service HierarchyContentProvider +{ + /** provides three types of contents: Link, Folder and Root Folder. + + <p> + + <b>HCP Contents</b> + <ol> + <li> + A HCP Link (HierarchyLinkContent) is a content which + points to another (UCB) content. It is always contained in HCP Folder. + A HCP Link has no children. + </li> + <li> + A HCP Folder (HierarchyFolderContent) is a container for + other HCP Folders and HCP Links. + </li> + <li> + There is at most one instance of a HCP Root Folder + ( HierarchyRootFolderContent ) at a time. + All other HCP contents are children of this folder. The HCP Root + Folder can contain HCP Folders and HCP Links. It has the URL + "vnd.sun.star.hier:/". + </li> + </ol> + + <p><b>URL Scheme for HCP Contents</b> + + <p>Each HCP content has an identifier corresponding to the following + scheme: + + <ul> + <li> + vnd.sun.star.hier:/<path>, where <path> is a + hierarchical path of the form <name>/.../<name> and + where <name> is a string encoded according to the URL + conventions. + </li> + </ul> + + <p>Examples: + + <ul> + <li> + vnd.sun.star.hier:/ (The URL of the HCP Root Folder) + </li> + <li> + vnd.sun.star.hier:/Bookmarks/Sun%20Microsystems%20Home%20Page + </li> + <li> + vnd.sun.star.hier:/Workplace/Printers + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XContentProvider; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl b/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl new file mode 100644 index 000000000..1c034f2e8 --- /dev/null +++ b/offapi/com/sun/star/ucb/HierarchyDataReadAccess.idl @@ -0,0 +1,150 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HierarchyDataReadAccess_idl__ +#define __com_sun_star_ucb_HierarchyDataReadAccess_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/container/XHierarchicalNameAccess.idl> +#include <com/sun/star/util/XChangesNotifier.idl> +#include <com/sun/star/lang/XComponent.idl> + + +module com { module sun { module star { module ucb { + +/** provides read access to a fragment of the hierarchy data. + + <p>A hierarchy data source provides access to a tree of hierarchy data + nodes. Each hierarchy data node, except the root node, has a parent that + is a hierarchy data node too. A hierarchy data node has a name. + + <p>Each hierarchy data node has three data members: + + <ul> + <li>"Title", which is of type `string`. It contains a title + for the node. This value must not be empty. + <li>"TargetURL", which is of type `string`</li> It may contain + any URL, which will be treated as the target of a hierarchy link. + <li>"Children", which is of type HierarchyDataReadAccess or + of type HierarchyDataReadWriteAccess</li>, depending on the + type of the node. This member provides access to the children of a node. + </ul> +*/ +published service HierarchyDataReadAccess +{ + /** gives access to the data members of a hierarchy data node. + + <p>Examples: + <ul> + <li><code>getByName( "Title" )</code> will return an `any` + containing a string containing the title of the node. + </li> + <li><code>getByName( "Children" )</code> will return an `any` + containing an implementation of service + HierarchyDataReadAccess, if it was called on a read-only + node. It will return an implementation of service + HierarchyDataReadWriteAccess if it was called on a + writable node. + </li> + </ul> + */ + interface com::sun::star::container::XNameAccess; + + /** gives access to the data members of a hierarchy data node as well + as to any child nodes or to the data members of child nodes using a + hierarchical name. + + <p>A hierarchical name consists of segments that are separated by a + single slash ("/"). There is neither a leading nor a trailing slash + allowed. + + <ul> + <li> + path = segment ( '/' segment )* + </li> + <li> + segment = '[' quoted-string ']' + </li> + <li> + quoted-string = "'" escaped-string "'" + </li> + <li> + escaped-string = escaped according to XML attribute naming conventions + </li> + </ul> + + <p>Examples: + <ul> + <li> + <code>getByHierarchicalName( "Title" )</code> will return an + `any` containing a string containing the title of the node + itself. + </li> + <li> + <code>getByHierarchicalName( "Children/['subnode1']" )</code> will give + access to the child node named "subnode1" of the node. It will return + an `any` containing an implementation of service + HierarchyDataReadAccess, if it was called on a read-only + node. It will return an implementation of service + HierarchyDataReadWriteAccess if it was called on a + writable node. + </li> + <li> + <code>getByHierarchicalName( "Children/['subnode2']/TargetURL" )</code> + will give direct access to the "TargetURL" data member of the child node + named "subnode2" of the node. It will return an `any` + containing a `string` containing the target URL of the node. + </li> + <li> + <code>getByHierarchicalName( "Children/['subnode3']/Children" )</code> + will give direct access to the "Children" data member of the child node + named "subnode3" of the node. It will return an `any` + containing an implementation of service + HierarchyDataReadAccess, if it was called on a read-only + node. It will return an implementation of service + HierarchyDataReadWriteAccess if it was called on a + writable node. + </li> + </ul> + */ + interface com::sun::star::container::XHierarchicalNameAccess; + + /** allows registering listeners that observe the hierarchy data source. + + <p>A client can register an + com::sun::star::util::XChangesListener, which will + receive notifications for any changes within the hierarchy (fragment) + this object represents. + + <p>An implementation should collect as many changes as possible into a + single com::sun::star::util::ChangesEvent. + */ + interface com::sun::star::util::XChangesNotifier; + + /** allows controlling or observing the lifetime of the hierarchy data + access object. + */ + interface com::sun::star::lang::XComponent; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl b/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl new file mode 100644 index 000000000..ba0336632 --- /dev/null +++ b/offapi/com/sun/star/ucb/HierarchyDataReadWriteAccess.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HierarchyDataReadWriteAccess_idl__ +#define __com_sun_star_ucb_HierarchyDataReadWriteAccess_idl__ + +#include <com/sun/star/ucb/HierarchyDataReadAccess.idl> +#include <com/sun/star/container/XNameContainer.idl> +#include <com/sun/star/lang/XSingleServiceFactory.idl> +#include <com/sun/star/util/XChangesBatch.idl> + + +module com { module sun { module star { module ucb { + +/** provides read and write access to a fragment of the hierarchy data. +*/ +published service HierarchyDataReadWriteAccess +{ + /** provides read access to a fragment of the hierarchy data + */ + service HierarchyDataReadAccess; + + /** allows adding and removing of hierarchy data nodes, replacing of + the value of hierarchy data node members, as well as obtaining the + value of hierarchy data node members. + + <p>Adding and removing must only be supported if the access object + points to the "Children" data member of a node or to the root node. + It will insert a new node or remove an existing one. If supported + on data nodes, adding must add new data members to the node, removing + must remove data members. However, the mandatory data members (Title, + TargetURL, Children) must never be removable. + + <p>Replacing and getting values must be supported be every data node. + */ + interface com::sun::star::container::XNameContainer; + + /** gives access to all contents provided by this provider. + + <p>com::sun::star::lang::XSingleServiceFactory::createInstance() + will create a new empty hierarchy data node. After it was created + it's data members can be filled. Last, the node can be inserted as child + of another node using + com::sun::star::container::XNameContainer::insertByName(). + + <p>There are no special arguments that must be supported by + com::sun::star::lang::XSingleServiceFactory::createInstanceWithArguments() + */ + interface com::sun::star::lang::XSingleServiceFactory; + + /** allows managing changes within the hierarchy. + + <p>com::sun::star::util::XChangesBatch::getPendingChanges() + reports all changes within the hierarchy that are done through (direct + or indirect) descendants of this element. The same set of changes is + committed to persistent storage and/or made visible to other objects + accessing the same data set, when + com::sun::star::util::XChangesBatch::commitChanges() + is invoked. + */ + interface com::sun::star::util::XChangesBatch; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HierarchyDataSource.idl b/offapi/com/sun/star/ucb/HierarchyDataSource.idl new file mode 100644 index 000000000..4a9842cb6 --- /dev/null +++ b/offapi/com/sun/star/ucb/HierarchyDataSource.idl @@ -0,0 +1,104 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HierarchyDataSource_idl__ +#define __com_sun_star_ucb_HierarchyDataSource_idl__ + +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#include <com/sun/star/lang/XComponent.idl> + + +module com { module sun { module star { module ucb { + +/** manages one or more complete sets of hierarchy data and serves as a factory + for objects that provide access to a subset of the data. + + <p><b>Note:</b> This is an abstract service. This means, that there should + never be implementations that can be instantiated using the service name + <code>com.sun.star.ucb.HierarchyDataSource</code>. Each implementation must + provide its own service name that can be used to create instances of that + service implementation. Important for those service specifications is also + to specify which of the optional parts are supported by the implementation. +*/ +published service HierarchyDataSource +{ + /** allows creating access objects for specific views such as subsets and + fragments of the hierarchy data. + + <p>The parameter <var>aServiceSpecifier</var> passed to + com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() + supports at least the service specifier + <code>"com.sun.star.ucb.HierarchyDataReadAccess"</code>, which will + create a <b>read-only view</b> to the data. The object that is created + implements the service HierarchyDataReadAccess. + + <p><b>Optionally</b> the factory may support <b>writable views</b>. A + writable view is requested by passing the service specifier + <code>"com.sun.star.ucb.HierarchyDataReadWriteAccess"</code> to + com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() + The object that is created implements the service + HierarchyDataReadWriteAccess. + + <p>The arguments passed to + com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() + in parameter <var>aArguments</var> specify the view of the data that + should be created. That is, they determine the subset of elements that + can be accessed starting from the returned object. Each element of the + argument sequence should be a + com::sun::star::beans::PropertyValue, so that the + parameters can be identified by name rather than by position. + + <p>With both of the standard service specifiers above, an implementation + must accept a property named <code>nodepath</code> of type + `string`. This property must contain the absolute path to an + element of the data. The view that is selected consists of the named + element and all its descendants. A path consists of segments that are + separated by a single slash ("/"). There is neither a leading nor a + trailing slash allowed. The <b>root</b> of the hierarchy data always + has an empty path. Refer to HierarchyDataReadAccess for + more information on hierarchical names. + + <p>Other arguments can be used to control the behavior of the view. + These are different for different implementations. Whether and how they + are used may also depend on the configuration store and configuration + that were selected when the provider was created. + + <p>An implementation must ignore unknown arguments. + + <p>The implementation of + com::sun::star::lang::XMultiServiceFactory::createInstance() + must behave exactly as if + com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() + were called passing one single property named <code>nodepath</code> + where the property value is an empty string. Thus it always creates a + view to the root of the hierarchy data. + */ + interface com::sun::star::lang::XMultiServiceFactory; + + /** allows controlling or observing the lifetime of the hierarchy data + source and its views. + */ + interface com::sun::star::lang::XComponent; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HierarchyFolderContent.idl b/offapi/com/sun/star/ucb/HierarchyFolderContent.idl new file mode 100644 index 000000000..2f6c5b87b --- /dev/null +++ b/offapi/com/sun/star/ucb/HierarchyFolderContent.idl @@ -0,0 +1,180 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HierarchyFolderContent_idl__ +#define __com_sun_star_ucb_HierarchyFolderContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/ucb/XContentCreator.idl> + + +module com { module sun { module star { module ucb { + +/** A HCP Folder is a container for other HCP Folders and HCP Links. + + @see com::sun::star::ucb::HierarchyContentProvider + @see com::sun::star::ucb::HierarchyRootFolderContent + @see com::sun::star::ucb::HierarchyLinkContent +*/ +published service HierarchyFolderContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created folder persistent ) + </li> + <li> + delete + </li> + <li> + open + </li> + <li> + transfer ( only transfers from one hierarchy folder to another supported ) + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" ) + </li> + <li> + boolean IsDocument ( read-only, always false ) + </li> + <li> + boolean IsFolder ( read-only, always true ) + </li> + <li> + string Title + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + A HCP Folder can create other HCP Folders and HCP Links. To create + a new child of a HCP Folder: + + <ol> + <li> + Let the parent folder create a new content by calling + XContentCreator::createNewContent() on it. The content + type to use for new folders is "application/vnd.sun.star.hier-folder". + To create a new link, use the type "application/vnd.sun.star.hier-link". + </li> + <li> + Set a title at the new folder / link. ( Let the new child execute + the command "setPropertyValues", which sets at least the property + "Title" to a non-empty value ). For a link, you need to set the + property "TargetURL" as well to a non-empty value. + </li> + <li> + Let the new child ( not the parent! ) execute the command "insert". + This will commit the creation process. + </li> + </ol> + + </p> + */ + interface com::sun::star::ucb::XContentCreator; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HierarchyLinkContent.idl b/offapi/com/sun/star/ucb/HierarchyLinkContent.idl new file mode 100644 index 000000000..a72cf7c66 --- /dev/null +++ b/offapi/com/sun/star/ucb/HierarchyLinkContent.idl @@ -0,0 +1,147 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HierarchyLinkContent_idl__ +#define __com_sun_star_ucb_HierarchyLinkContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A HCP Link is a content which points to another location. + + <p>It is always contained in HCP Folder. A HCP Link has no children. + + @see com::sun::star::ucb::HierarchyContentProvider + @see com::sun::star::ucb::HierarchyRootFolderContent + @see com::sun::star::ucb::HierarchyFolderContent +*/ +published service HierarchyLinkContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created link persistent ) + </li> + <li> + delete + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.hier-link" ) + </li> + <li> + boolean IsDocument ( read-only, always true ) + </li> + <li> + boolean IsFolder ( read-only, always false ) + </li> + <li> + string Title + </li> + <li> + string TargetURL ( the URL of the link target ) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl b/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl new file mode 100644 index 000000000..e0483ebac --- /dev/null +++ b/offapi/com/sun/star/ucb/HierarchyRootFolderContent.idl @@ -0,0 +1,178 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_HierarchyRootFolderContent_idl__ +#define __com_sun_star_ucb_HierarchyRootFolderContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/ucb/XContentCreator.idl> + + +module com { module sun { module star { module ucb { + +/** A HCP Root Folder is the root container for all other HCP Folders and HCP + Links. + + <p>It always has the URL "vnd.sun.star.hier:/". A HCP Root Folder neither + can't be created nor deleted by a UCB client. + + @see com::sun::star::ucb::HierarchyContentProvider + @see com::sun::star::ucb::HierarchyFolderContent + @see com::sun::star::ucb::HierarchyLinkContent +*/ +published service HierarchyRootFolderContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + open + </li> + <li> + transfer ( only transfers from one hierarchy folder to another supported ) + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" ) + </li> + <li> + boolean IsDocument ( read-only, always false ) + </li> + <li> + boolean IsFolder ( read-only, always true ) + </li> + <li> + string Title ( read-only, always an empty string ) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + A HCP Root Folder can create HCP Folders and HCP Links. To create + a new child of a HCP Root Folder: + + <ol> + <li> + Let the parent folder create a new content by calling + XContentCreator::createNewContent() on it. The content + type to use for new folders is "application/vnd.sun.star.hier-folder". + To create a new link, use the type "application/vnd.sun.star.hier-link". + </li> + <li> + Set a title at the new folder / link. ( Let the new child execute + the command "setPropertyValues", which sets at least the property + "Title" to a non-empty value ). For a link, you need to set the + property "TargetURL" as well to a non-empty value. + </li> + <li> + Let the new child ( not the parent! ) execute the command "insert". + This will commit the creation process. + </li> + </ol> + + </p> + */ + interface com::sun::star::ucb::XContentCreator; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/IOErrorCode.idl b/offapi/com/sun/star/ucb/IOErrorCode.idl new file mode 100644 index 000000000..d92d8c696 --- /dev/null +++ b/offapi/com/sun/star/ucb/IOErrorCode.idl @@ -0,0 +1,188 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_IOErrorCode_idl__ +#define __com_sun_star_ucb_IOErrorCode_idl__ + + + +module com { module sun { module star { module ucb { + +/** Types of input/output errors. + + <P>See com::sun::star::task::InteractionHandler for a + description of what kinds of arguments + InteractiveAugmentedIOException should use with each of these + error codes.</P> +*/ +published enum IOErrorCode +{ + /** An operation was aborted. + */ + ABORT, + + /** An object cannot be accessed due to insufficient user rights. + */ + ACCESS_DENIED, + + /** An object already exists. + */ + ALREADY_EXISTING, + + /** A bad checksum. + */ + BAD_CRC, + + /** An object could not be created. + */ + CANT_CREATE, + + /** Data could not be read from a file. + */ + CANT_READ, + + /** A seek operation could not be run. + */ + CANT_SEEK, + + /** A tell operation could not be run. + */ + CANT_TELL, + + /** Data could not be written to a file. + */ + CANT_WRITE, + + /** A function is not possible because the path contains the current + directory. + */ + CURRENT_DIRECTORY, + + /** A device (drive) not ready. + */ + DEVICE_NOT_READY, + + /** A function is not possible because the devices (drives) are not + identical. + */ + DIFFERENT_DEVICES, + + /** A general input/output error. + */ + GENERAL, + + /** An invalid attempt was made to access an object. + */ + INVALID_ACCESS, + + /** A file name contains invalid characters. + */ + INVALID_CHARACTER, + + /** A specified device is invalid. + */ + INVALID_DEVICE, + + /** Invalid data length. + */ + INVALID_LENGTH, + + /** An operation was started with an invalid parameter. + */ + INVALID_PARAMETER, + + /** An operation cannot be run on file names containing wildcards. + */ + IS_WILDCARD, + + /** A locking problem. + */ + LOCKING_VIOLATION, + + /** An invalid file name. + */ + MISPLACED_CHARACTER, + + /** A file name is too long. + */ + NAME_TOO_LONG, + + /** A nonexistent object. + */ + NOT_EXISTING, + + /** The path to a file does not exist. + */ + NOT_EXISTING_PATH, + + /** An action is not supported. + */ + NOT_SUPPORTED, + + /** An object is not a directory. + */ + NO_DIRECTORY, + + /** An object is not a file. + */ + NO_FILE, + + /** No more space on a device. + */ + OUT_OF_DISK_SPACE, + + /** No more file handles available. + */ + OUT_OF_FILE_HANDLES, + + /** An operation could not be run due to insufficient memory. + */ + OUT_OF_MEMORY, + + /** An operation is still pending. + */ + PENDING, + + /** An object cannot be copied into itself. + */ + RECURSIVE, + + /** An unknown I/O error has occurred. + */ + UNKNOWN, + + /** A function is not possible because the object is write protected. + */ + WRITE_PROTECTED, + + /** An incorrect file format. + */ + WRONG_FORMAT, + + /** An incorrect file version. + */ + WRONG_VERSION + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/IllegalIdentifierException.idl b/offapi/com/sun/star/ucb/IllegalIdentifierException.idl new file mode 100644 index 000000000..a0221a97e --- /dev/null +++ b/offapi/com/sun/star/ucb/IllegalIdentifierException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_IllegalIdentifierException_idl__ +#define __com_sun_star_ucb_IllegalIdentifierException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** This exception is thrown to indicate an illegal content identifier. + + @version 1.0 + @see XContent + @see XContentIdentifier +*/ +published exception IllegalIdentifierException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InsertCommandArgument.idl b/offapi/com/sun/star/ucb/InsertCommandArgument.idl new file mode 100644 index 000000000..372c802a8 --- /dev/null +++ b/offapi/com/sun/star/ucb/InsertCommandArgument.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InsertCommandArgument_idl__ +#define __com_sun_star_ucb_InsertCommandArgument_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/io/XInputStream.idl> + + +module com { module sun { module star { module ucb { + +/** The argument for the command "insert". + + @see XCommandProcessor +*/ +published struct InsertCommandArgument +{ + /** A stream containing document data. + + <p>This member can be left blank, if no (new) document data shall be + written by the implementation of the "insert" command. + */ + com::sun::star::io::XInputStream Data; + + /** A flag indicating whether a possibly existing content (and its data) + shall be overwritten. + + <p>Implementations that are not able to detect whether there are + previous data may ignore this parameter and will always write the + new data. + */ + boolean ReplaceExisting; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InsertCommandArgument2.idl b/offapi/com/sun/star/ucb/InsertCommandArgument2.idl new file mode 100644 index 000000000..c3d1ab883 --- /dev/null +++ b/offapi/com/sun/star/ucb/InsertCommandArgument2.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef __com_sun_star_ucb_InsertCommandArgument2_idl__ +#define __com_sun_star_ucb_InsertCommandArgument2_idl__ + +#include <com/sun/star/ucb/InsertCommandArgument.idl> + + +module com { module sun { module star { module ucb { + +/** The argument for the command "insert" augmented with some properties +*/ +struct InsertCommandArgument2 : InsertCommandArgument +{ + /** contains the MIME type of the document to insert + */ + string MimeType; + + /** contains the Document Id of the document to insert + */ + string DocumentId; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveAppException.idl b/offapi/com/sun/star/ucb/InteractiveAppException.idl new file mode 100644 index 000000000..46c4cdbea --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveAppException.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveAppException_idl__ +#define __com_sun_star_ucb_InteractiveAppException_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> +#include <com/sun/star/ucb/IOErrorCode.idl> + + + +module com { module sun { module star { module ucb { + +/** An application error. + + @since OOo 1.1.2 +*/ +published exception InteractiveAppException: com::sun::star::task::ClassifiedInteractionRequest +{ + /** The type of application error. + */ + unsigned long Code; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl b/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl new file mode 100644 index 000000000..723195643 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveAugmentedIOException.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveAugmentedIOException_idl__ +#define __com_sun_star_ucb_InteractiveAugmentedIOException_idl__ + +#include <com/sun/star/ucb/InteractiveIOException.idl> + + + +module com { module sun { module star { module ucb { + +/** An input/output error with arguments. +*/ +published exception InteractiveAugmentedIOException : com::sun::star::ucb::InteractiveIOException +{ + /** Additional arguments. + + <P>See com::sun::star::task::InteractionHandler + for a description of well-known arguments.</P> + */ + sequence< any > Arguments; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl b/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl new file mode 100644 index 000000000..cb25859f8 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveBadTransferURLException.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveBadTransferURLException_idl__ +#define __com_sun_star_ucb_InteractiveBadTransferURLException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** An interaction request to inform the client of a "transfer" command + that the supplied source URL is not supported. + + @see XCommandProcessor +*/ +published exception InteractiveBadTransferURLException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveFileIOException.idl b/offapi/com/sun/star/ucb/InteractiveFileIOException.idl new file mode 100644 index 000000000..3aba573c2 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveFileIOException.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveFileIOException_idl__ +#define __com_sun_star_ucb_InteractiveFileIOException_idl__ + +#include <com/sun/star/ucb/InteractiveIOException.idl> +#include <com/sun/star/ucb/IOErrorCode.idl> + + + +module com { module sun { module star { module ucb { + +/** An input/output error while processing a file. + + <p>This exception is deprecated. Use + InteractiveAugmentedIOException instead. + + @deprecated +*/ +published exception InteractiveFileIOException: com::sun::star::ucb::InteractiveIOException +{ + /** The file url where the i/o error occurred + */ + string FileName; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveIOException.idl b/offapi/com/sun/star/ucb/InteractiveIOException.idl new file mode 100644 index 000000000..aa3f88f3f --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveIOException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveIOException_idl__ +#define __com_sun_star_ucb_InteractiveIOException_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> +#include <com/sun/star/ucb/IOErrorCode.idl> + + + +module com { module sun { module star { module ucb { + +/** An input/output error. +*/ +published exception InteractiveIOException: com::sun::star::task::ClassifiedInteractionRequest +{ + /** The type of input/output error. + */ + com::sun::star::ucb::IOErrorCode Code; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveLockingException.idl b/offapi/com/sun/star/ucb/InteractiveLockingException.idl new file mode 100644 index 000000000..cbb00d46b --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveLockingException.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__ +#define __com_sun_star_ucb_InteractiveLockingException_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> + + + +module com { module sun { module star { module ucb { + +/** An error related to locking operations. + + <p> Various meaningful errors are derived from this exception. </p> + + @since OOo 3.3 +*/ +/*published*/ exception InteractiveLockingException : com::sun::star::task::ClassifiedInteractionRequest +{ + /** The Url of the resource this exception is related to. + */ + string Url; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl new file mode 100644 index 000000000..75d1cb276 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveLockingLockExpiredException_idl__ +#define __com_sun_star_ucb_InteractiveLockingLockExpiredException_idl__ + +#include <com/sun/star/ucb/InteractiveLockingException.idl> + + + +module com { module sun { module star { module ucb { + +/** An error indicating that a lock that has been previously obtained by this + OOo session has expired. + + @since OOo 3.3 +*/ +/*published*/ exception InteractiveLockingLockExpiredException : com::sun::star::ucb::InteractiveLockingException +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl new file mode 100644 index 000000000..bde18ef43 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveLockingLockedException_idl__ +#define __com_sun_star_ucb_InteractiveLockingLockedException_idl__ + +#include <com/sun/star/ucb/InteractiveLockingException.idl> + + + +module com { module sun { module star { module ucb { + +/** An error indicating that the resource is locked. + + @since OOo 3.3 +*/ +/*published*/ exception InteractiveLockingLockedException : com::sun::star::ucb::InteractiveLockingException +{ + /** The owner of the lock. + + `TRUE`, the lock has been obtained by this OOo session. + `FALSE` the lock has been obtained by another principal. + */ + boolean SelfOwned; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl new file mode 100644 index 000000000..11c9bc202 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveLockingNotLockedException_idl__ +#define __com_sun_star_ucb_InteractiveLockingNotLockedException_idl__ + +#include <com/sun/star/ucb/InteractiveLockingException.idl> + + + +module com { module sun { module star { module ucb { + +/** An error indicating that the resource is not locked. + + <p>This error for instance can occur when trying to unlock a resource + that is not locked. + </p> + + @since OOo 3.3 +*/ +/*published*/ exception InteractiveLockingNotLockedException : com::sun::star::ucb::InteractiveLockingException +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl new file mode 100644 index 000000000..f060be081 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveNetworkConnectException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveNetworkConnectException_idl__ +#define __com_sun_star_ucb_InteractiveNetworkConnectException_idl__ + +#include <com/sun/star/ucb/InteractiveNetworkException.idl> + + + +module com { module sun { module star { module ucb { + +/** A network error specifying a connection failure. +*/ +published exception InteractiveNetworkConnectException: InteractiveNetworkException +{ + /** The name of the server to which connecting failed. + */ + string Server; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkException.idl new file mode 100644 index 000000000..25575617c --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveNetworkException.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveNetworkException_idl__ +#define __com_sun_star_ucb_InteractiveNetworkException_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> + + + +module com { module sun { module star { module ucb { + +/** An error related to network operations. + + <p> Various meaningful errors are derived from this exception. </p> +*/ +published exception InteractiveNetworkException: com::sun::star::task::ClassifiedInteractionRequest +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl new file mode 100644 index 000000000..32172282b --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveNetworkGeneralException.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveNetworkGeneralException_idl__ +#define __com_sun_star_ucb_InteractiveNetworkGeneralException_idl__ + +#include <com/sun/star/ucb/InteractiveNetworkException.idl> + + + +module com { module sun { module star { module ucb { + +/** A network error specifying a general failure. +*/ +published exception InteractiveNetworkGeneralException: com::sun::star::ucb::InteractiveNetworkException +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl new file mode 100644 index 000000000..cf8165d9c --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveNetworkOffLineException.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveNetworkOffLineException_idl__ +#define __com_sun_star_ucb_InteractiveNetworkOffLineException_idl__ + +#include <com/sun/star/ucb/InteractiveNetworkException.idl> + + + +module com { module sun { module star { module ucb { + +/** A network error specifying an off line condition. +*/ +published exception InteractiveNetworkOffLineException: com::sun::star::ucb::InteractiveNetworkException +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl new file mode 100644 index 000000000..00c0a1615 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveNetworkReadException.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveNetworkReadException_idl__ +#define __com_sun_star_ucb_InteractiveNetworkReadException_idl__ + +#include <com/sun/star/ucb/InteractiveNetworkException.idl> + + + +module com { module sun { module star { module ucb { + +/** A network error specifying a read failure. +*/ +published exception InteractiveNetworkReadException: com::sun::star::ucb::InteractiveNetworkException +{ + /** Any diagnostic message about the failure (which will typically be an + English phrase or sentence). + */ + string Diagnostic; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl new file mode 100644 index 000000000..b0da035cf --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveNetworkResolveNameException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveNetworkResolveNameException_idl__ +#define __com_sun_star_ucb_InteractiveNetworkResolveNameException_idl__ + +#include <com/sun/star/ucb/InteractiveNetworkException.idl> + + + +module com { module sun { module star { module ucb { + +/** A network error specifying a name resolution failure. +*/ +published exception InteractiveNetworkResolveNameException: com::sun::star::ucb::InteractiveNetworkException +{ + /** The server name for which resolution failed. + */ + string Server; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl b/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl new file mode 100644 index 000000000..ffeea77d4 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveNetworkWriteException.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveNetworkWriteException_idl__ +#define __com_sun_star_ucb_InteractiveNetworkWriteException_idl__ + +#include <com/sun/star/ucb/InteractiveNetworkException.idl> + + + +module com { module sun { module star { module ucb { + +/** A network error specifying a write failure. +*/ +published exception InteractiveNetworkWriteException: com::sun::star::ucb::InteractiveNetworkException +{ + /** Any diagnostic message about the failure (which will typically be an + English phrase or sentence). + */ + string Diagnostic; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl b/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl new file mode 100644 index 000000000..a18b329fd --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveWrongMediumException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_InteractiveWrongMediumException_idl__ +#define __com_sun_star_ucb_InteractiveWrongMediumException_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> + + +module com { module sun { module star { module ucb { + +/** is thrown when the wrong medium is inserted into a removable drive during + an operation. +*/ +published exception InteractiveWrongMediumException: com::sun::star::task::ClassifiedInteractionRequest +{ + /** identifies the medium that's needed to continue with the pending + operation. + */ + any Medium; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/Link.idl b/offapi/com/sun/star/ucb/Link.idl new file mode 100644 index 000000000..e5b5f5c5c --- /dev/null +++ b/offapi/com/sun/star/ucb/Link.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_Link_idl__ +#define __com_sun_star_ucb_Link_idl__ + + +module com { module sun { module star { module ucb { + +/** defines a link. + + @see XCommandProcessor +*/ +published struct Link +{ + /** contains the source URI of the link. + */ + string Source; + + /** contains the destination URI of the link. + */ + string Destination; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ListAction.idl b/offapi/com/sun/star/ucb/ListAction.idl new file mode 100644 index 000000000..59d1f4a14 --- /dev/null +++ b/offapi/com/sun/star/ucb/ListAction.idl @@ -0,0 +1,109 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ListAction_idl__ +#define __com_sun_star_ucb_ListAction_idl__ + + + +module com { module sun { module star { module ucb { + +/** This struct contains information needed in the notifications of a + XDynamicResultSet. + + @see ListEvent +*/ + +published struct ListAction +{ + /** The position where something has happened (index begins with + <code>1</code> as usual with JDBC ). + + <p>Its value does not necessary indicate the new position in the new + com::sun::star::sdbc::XResultSet, but a position + while doing the changes step by step beginning with the old + com::sun::star::sdbc::XResultSet. + */ + long Position; + + /** The count of involved rows. + */ + long Count; + + + /** specifies the kind of modification happened to all assigned rows. + + <p>The value of the other members of this struct depend on the value + of this member: + + <table border=1> + <tr align=left> <th>ListActionType</th> + <th>Position</th> + <th>Count</th> + <th>ActionInfo</th></tr> + + <tr align=left> <td>WELCOME</td> + <td>n/a</td> + <td>n/a</td> + <td>WelcomeDynamicResultSetStruct required</td></tr> + + <tr align=left> <td>CLEARED</td> + <td>n/a</td> + <td>n/a</td> + <td>n/a</td></tr> + + <tr align=left> <td>INSERTED</td> + <td>required 1-x</td> + <td>required 1-x</td> + <td>allowed but not required... @todo </td></tr> + + <tr align=left> <td>REMOVED</td> + <td>required 1-x</td> + <td>required 1-x</td> + <td>n/a</td></tr> + + <tr align=left> <td>MOVED</td> + <td>required 1-x</td> + <td>required 1-x</td> + <td>type long required</td></tr> + + <tr align=left> <td>PROPERTIES_CHANGED</td> + <td>required 1-x</td> + <td>required 1-x</td> + <td>allowed but not required... @todo</td></tr> + </table> + + <p>The value for this member can be one of the + ListActionType constants group. + */ + long ListActionType; + + /** depending on the content of ListAction::ListActionType + the ListAction::ActionInfo could contain additional + information about the changes happened (see table above). + */ + + any ActionInfo; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ListActionType.idl b/offapi/com/sun/star/ucb/ListActionType.idl new file mode 100644 index 000000000..365eb60eb --- /dev/null +++ b/offapi/com/sun/star/ucb/ListActionType.idl @@ -0,0 +1,174 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ListActionType_idl__ +#define __com_sun_star_ucb_ListActionType_idl__ + + + +module com { module sun { module star { module ucb { + +/** These values are used to specify the type of change happened to a list. + + <p>A change happened is sent from an XDynamicResultSet + as ListAction to a XDynamicResultSetListener. + + <p>The values are contained in ListAction::ListActionType. +*/ + +published constants ListActionType +{ + /** First notification to a single listener for purpose of initialization. + + <p>This type of notification is required to be sent first and only once + to a new listener. + + <p>The member ListAction::ActionInfo is required to + contain a struct WelcomeDynamicResultSetStruct. + This struct contains two + com::sun::star::sdbc::XResultSets (old and new). + During and after the notification only the new set is valid for access. + But the listener is required to remind both + com::sun::star::sdbc::XResultSets as he will not get + another chance to get them again. + + <p>The members ListAction::Count and + ListAction::Position are not used. + */ + const long WELCOME = 20; + + /** One or more rows were inserted into the list. + + <p>This action is related to ContentAction::INSERTED. + + <p>The members ListAction::Count and + ListAction::Position contain the position and count of + newly inserted rows. If the count is greater than one, the inserted rows + have to be one after the other. + + <p> ListAction::ActionInfo could contain something but + this is not required. For example, it could contain the properties of + the new rows (i.e. for remote optimizing), but this is not required + nor unrestrictedly recommended. + + <p>@todo ... further description of allowed contents for + ListAction::ActionInfo is needed + */ + const long INSERTED = 21; + + /** One or more rows were removed from the list. + + <p>This action is related to ContentAction::REMOVED. + + <p>The members ListAction::Count and + ListAction::Position contain the position and count of the + removed rows. If the count is greater than one, the removed rows have to be + one after the other. + + <p>The member ListAction::ListActionType is not used. + */ + const long REMOVED = 22; + + + /** The whole list was destroyed and independently rebuild. + + <p>If "CLEARED" is sent you don't need to refer to the old ResultSet. + + <p>The members ListAction::ListActionType, + ListAction::Count and ListAction::Position + are ignored. + */ + const long CLEARED = 23; + + /** One or more rows were moved to another position. + + <p>The members ListAction::Count and + ListAction::Position contain the position and count of the + moved rows. If the count is greater than one, the moved rows have to be + one after the other. + + <p>ListAction::ListActionType is required to contain a "long", + which gives the shift of position. + (i.e. When two rows at position 3 and 4 are moved for a shift "+1", + they will appear at the positions 4 and 5. In this action is included, that + the row on old position 5 now appears on position 3. + No other notification is needed, to explain or complete this action). + */ + const long MOVED = 24; + + /** The properties of one or more rows have changed. + + <p>This action is related to a com::sun::star::beans::PropertyChangeEvent. + + <p>The members ListAction::Count and + ListAction::Position contain the position and count of the + rows, whose properties have changed. If the count is greater than one, the + rows with modified properties have to be one after the other. + + <p> ListAction::ActionInfo could contain something but + this is not required. For example, it could contain the new properties + (i.e. for remote optimizing), but this is not required nor unrestrictedly + recommended. + + <p>@todo ... further description of allowed contents for + ListAction::ActionInfo is needed + */ + const long PROPERTIES_CHANGED = 25; + + /*??????????????????????????? we probably will not need this + + The identity of a row has changed. + + <p>This action is related to ContentAction == EXCHANGED. + + <p>The members ListAction::Count and + ListAction::Position contain the position and count of the + rows, whose identity have changed. If the count is greater than one, the + rows with changed identity have to be one after the other. + + <p>ListAction::ListActionType must contain the new identities + + <p>@todo ... + + const long EXCHANGED = 26; + */ + + /*??????????????????????????? we probably will need this + After a completely notified Iteration send "COMPLETED". + + <p>This notification is required to be send, to indicate, that now the full + result is reached. + + <p>E.g. while a new given list is sorted, some intermediate states are + notified. After the last portion of sorting is done and notified you have + to send "COMPLETED". So a listener has the possibility to wait for + "COMPLETED" e.g. to print the full result. ) + + <p>The members ListAction::ListActionType, + ListAction::Count and ListAction::Position + are useless. + */ + const long COMPLETED = 27; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ListEvent.idl b/offapi/com/sun/star/ucb/ListEvent.idl new file mode 100644 index 000000000..84a4f663b --- /dev/null +++ b/offapi/com/sun/star/ucb/ListEvent.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ListEvent_idl__ +#define __com_sun_star_ucb_ListEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> +#include <com/sun/star/ucb/ListAction.idl> + + +module com { module sun { module star { module ucb { + +/** specifies the type of event fired by an XDynamicResultSet +*/ + +published struct ListEvent: com::sun::star::lang::EventObject +{ + /** If you apply the given ListActions one after the other + to the old version of a result set in given order, you will get the + positions in the new version. + */ + sequence<ListAction> Changes; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl b/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl new file mode 100644 index 000000000..40b309f71 --- /dev/null +++ b/offapi/com/sun/star/ucb/ListenerAlreadySetException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ListenerAlreadySetException_idl__ +#define __com_sun_star_ucb_ListenerAlreadySetException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** This exception is thrown to indicate that a Listener is already set while +only one is allowed. +*/ + +published exception ListenerAlreadySetException: com::sun::star::uno::Exception +{ +}; + + + +}; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/Lock.idl b/offapi/com/sun/star/ucb/Lock.idl new file mode 100644 index 000000000..f27ee84de --- /dev/null +++ b/offapi/com/sun/star/ucb/Lock.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_Lock_idl__ +#define __com_sun_star_ucb_Lock_idl__ + +#include <com/sun/star/ucb/LockEntry.idl> +#include <com/sun/star/ucb/LockDepth.idl> + + +module com { module sun { module star { module ucb { + +/** defines a lock. +*/ +published struct Lock : LockEntry +{ + /** defines the lock's depth. + */ + LockDepth Depth; + + /** the owner of the lock. + + <p>This element provides information sufficient for either directly + contacting a principal (such as a telephone number or email URI), or + for discovering the principal (such as the URL of a homepage) who + owns the lock. + */ + any Owner; + + /** a timeout value for the lock. + + <p>This element specifies the number of seconds between granting + of the lock and the automatic removal of that lock. The value + must not be greater than <code>2^32-1</code>. A value of <code>-1</code> + stands for an infinite lock, that will never be removed automatically. + */ + hyper Timeout; + + /** the lock tokens. + + <p>Each lock token is a URI. + */ + sequence< string > LockTokens; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/LockDepth.idl b/offapi/com/sun/star/ucb/LockDepth.idl new file mode 100644 index 000000000..6baef2b4e --- /dev/null +++ b/offapi/com/sun/star/ucb/LockDepth.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_LockDepth_idl__ +#define __com_sun_star_ucb_LockDepth_idl__ + + +module com { module sun { module star { module ucb { + +/** defines a depth for a lock. + + @see Lock +*/ +published enum LockDepth +{ + /** Zero (includes no children). + */ + ZERO, + + /** One (includes children). + */ + ONE, + + /** Infinity (includes children and children's children and ...). + */ + INFINITY +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/LockEntry.idl b/offapi/com/sun/star/ucb/LockEntry.idl new file mode 100644 index 000000000..f2396dd44 --- /dev/null +++ b/offapi/com/sun/star/ucb/LockEntry.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_LockEntry_idl__ +#define __com_sun_star_ucb_LockEntry_idl__ + +#include <com/sun/star/ucb/LockScope.idl> +#include <com/sun/star/ucb/LockType.idl> + + +module com { module sun { module star { module ucb { + +/** defines the types of locks that can be used with a resource. +*/ +published struct LockEntry +{ + /** defines the lock's scope. + */ + LockScope Scope; + + /** defines the type of the lock. + */ + LockType Type; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/LockScope.idl b/offapi/com/sun/star/ucb/LockScope.idl new file mode 100644 index 000000000..0e8933df5 --- /dev/null +++ b/offapi/com/sun/star/ucb/LockScope.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_LockScope_idl__ +#define __com_sun_star_ucb_LockScope_idl__ + + +module com { module sun { module star { module ucb { + +/** defines the scope of a lock. + + @see LockEntry +*/ +published enum LockScope +{ + /** the lock is exclusive. + */ + EXCLUSIVE, + + /** the lock is shared. + */ + SHARED +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/LockType.idl b/offapi/com/sun/star/ucb/LockType.idl new file mode 100644 index 000000000..bfe0dc72c --- /dev/null +++ b/offapi/com/sun/star/ucb/LockType.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_LockType_idl__ +#define __com_sun_star_ucb_LockType_idl__ + + +module com { module sun { module star { module ucb { + +/** specifies the access type of a lock. + + @see LockEntry +*/ +published enum LockType +{ + /** specifies a write lock. + */ + WRITE + + +// /** read lock. +// */ +// READ, + +// /** read-write lock. +// */ +// READWRITE + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/MissingInputStreamException.idl b/offapi/com/sun/star/ucb/MissingInputStreamException.idl new file mode 100644 index 000000000..80b16eb45 --- /dev/null +++ b/offapi/com/sun/star/ucb/MissingInputStreamException.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_MissingInputStreamException_idl__ +#define __com_sun_star_ucb_MissingInputStreamException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module ucb { + +/** This exception is used to indicate that there is an + com::sun::star::io::XInputStream missing. + + <p>For example, the command "insert" may fail, if the implementation + expects that an input stream is supplied with the given + InsertCommandArgument. + + @version 1.0 + @see Content +*/ +published exception MissingInputStreamException : com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/MissingPropertiesException.idl b/offapi/com/sun/star/ucb/MissingPropertiesException.idl new file mode 100644 index 000000000..d26cbb685 --- /dev/null +++ b/offapi/com/sun/star/ucb/MissingPropertiesException.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_MissingPropertiesException_idl__ +#define __com_sun_star_ucb_MissingPropertiesException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module ucb { + +/** This exception is used to indicate that there are properties missing. + + <p>For example, to create a new resource, usually one ore more property + values must be set prior to executing the command "insert", which makes + the new resource persistent. + + @version 1.0 + @see Content +*/ +published exception MissingPropertiesException : com::sun::star::uno::Exception +{ + /** contains the names of the missing properties. + */ + sequence< string > Properties; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/NameClash.idl b/offapi/com/sun/star/ucb/NameClash.idl new file mode 100644 index 000000000..75c7a63ff --- /dev/null +++ b/offapi/com/sun/star/ucb/NameClash.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_NameClash_idl__ +#define __com_sun_star_ucb_NameClash_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for TransferInfo::NameClash. +*/ +published constants NameClash +{ + /** Means to set an error and cancel the operation. + */ + const long ERROR = 0; + + /** Means to overwrite the object in the target folder with the object to + transfer. + */ + const long OVERWRITE = 1; + + /** Means to rename the object to transfer to solve the clash. + + <p>The implementation needs to supply and set a suitable new name. + */ + const long RENAME = 2; + + /** Deprecated. Do not use! + + @deprecated + */ + const long KEEP = 3; + + /** Means to use a NameClashResolveRequest in order to solve + the name clash. + + @see com::sun::star::task::XInteractionHandler + */ + const long ASK = 4; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/NameClashException.idl b/offapi/com/sun/star/ucb/NameClashException.idl new file mode 100644 index 000000000..5526b6a0c --- /dev/null +++ b/offapi/com/sun/star/ucb/NameClashException.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_NameClashException_idl__ +#define __com_sun_star_ucb_NameClashException_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> + + +module com { module sun { module star { module ucb { + +/** An exception used to notify a name clash. +*/ +published exception NameClashException : com::sun::star::task::ClassifiedInteractionRequest +{ + /** contains the clashing name. + */ + string Name; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/NameClashResolveRequest.idl b/offapi/com/sun/star/ucb/NameClashResolveRequest.idl new file mode 100644 index 000000000..cb9893f7f --- /dev/null +++ b/offapi/com/sun/star/ucb/NameClashResolveRequest.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_NameClashResolveRequest_idl__ +#define __com_sun_star_ucb_NameClashResolveRequest_idl__ + +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> + + + +module com { module sun { module star { module ucb { + +/** This request is used to indicate a name clash. + + <p>For example, when copying a file there might be another file in the + target folder that has the same file name as the source file. + + <p>If this exception is passed to an + com::sun::star::task::XInteractionHandler an + XInteractionSupplyName and an + XInteractionReplaceExistingData should be supplied with + the com::sun::star::task::XInteractionRequest. On + return the XInteractionSupplyName, if selected, will contain + a new name supposed to resolve the name clash. The + XInteractionReplaceExistingData will be selected if the + clashing resource shall be overwritten. + + @version 1.0 +*/ +published exception NameClashResolveRequest : com::sun::star::task::ClassifiedInteractionRequest +{ + /** contains the URL of the folder that contains the clashing resource. + */ + string TargetFolderURL; + + /** contains the clashing name. + */ + string ClashingName; + + /** contains a proposal for a new, non-clashing name. + <p>This field may be left empty if the implementation is not able + to suggest a new name. + */ + string ProposedNewName; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/NumberedSortingInfo.idl b/offapi/com/sun/star/ucb/NumberedSortingInfo.idl new file mode 100644 index 000000000..d438578df --- /dev/null +++ b/offapi/com/sun/star/ucb/NumberedSortingInfo.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_NumberedSortingInfo_idl__ +#define __com_sun_star_ucb_NumberedSortingInfo_idl__ + + +module com { module sun { module star { module ucb { + +/** contains information for sorting a ContentResultSet. + + <p> In contrast to the struct SortingInfo this struct is + used to be on the safe side, that no one asks for sorting by a property + which is not contained in a ContentResultSet. +*/ +published struct NumberedSortingInfo +{ + /** sort the result set by this column. Index starts with <code>1</code>. + */ + long ColumnIndex; + + /** contains a flag indicating the sort mode (ascending or descending). + */ + boolean Ascending; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ODMAContent.idl b/offapi/com/sun/star/ucb/ODMAContent.idl new file mode 100644 index 000000000..5f1a11ea1 --- /dev/null +++ b/offapi/com/sun/star/ucb/ODMAContent.idl @@ -0,0 +1,167 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ODMAContent_idl__ +#define __com_sun_star_ucb_ODMAContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A OCP content is representation of a document saved in a DMS. + + <p>The document Content corresponds to a document stored in a Document Management System. + </p> + + @see com::sun::star::ucb::ODMAContentProvider + @see com::sun::star::ucb::Content + + @since OOo 1.1.2 +*/ +published service ODMAContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + delete + </li> + <li> + open + </li> + <li> + close + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.odma" ) + </li> + <li> + boolean IsDocument + </li> + <li> + boolean IsFolder + </li> + <li> + com::sun::star::util::DateTime DateCreated ( read-only ) + </li> + <li> + com::sun::star::util::DateTime DateModified ( read-only ) + </li> + <li> + string Author + </li> + <li> + string Subject + </li> + <li> + string Keywords + </li> + <li> + string Size ( read-only ) + </li> + <li> + string Title + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ODMAContentProvider.idl b/offapi/com/sun/star/ucb/ODMAContentProvider.idl new file mode 100644 index 000000000..29e23357b --- /dev/null +++ b/offapi/com/sun/star/ucb/ODMAContentProvider.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ODMAContentProvider_idl__ +#define __com_sun_star_ucb_ODMAContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** The ODMA Content Provider (OCP) implements a ContentProvider + for the UniversalContentBroker (UCB). + + <p>It provides access to a document structure stored on a Document Management System (DMS).</p> + + + @see com::sun::star::ucb::ContentProvider + @see com::sun::star::ucb::Content + @see com::sun::star::ucb::ODMAContent + + @since OOo 1.1.2 +*/ +published service ODMAContentProvider +{ + /** provides two types of content; the document and the Root Folder. + + <p> + + <ol> + <li><p>The document Content corresponds to a document stored on the + DMS.</p> + <li><p>The Root Folder exists at any time and is used to show all + documents available at that time. All other OCP contents are children + of this folder. The OCP Root Folder can only contain OCP Documents. + It has the URL <code><b>vnd.sun.star.odma:/</b></code>.</p> + </ol> + + + + <p><b>URL Scheme for OCP Contents</b> + <p>Each OCP content has an identifier corresponding to the following + scheme:</p> + <p>vnd.sun.star.odma:/<name></p> + <p>where <name> is the DocumentID given by the DMS.</p> + <p STYLE="font-weight: medium">Examples:</p> + <p><b>vnd.sun.star.odma:/ </b><span STYLE="font-weight: medium">( The + URL of the OCP Root Folder )</span></p> + <p STYLE="font-weight: medium"><b>vnd.sun.star.odma:/</b> a document + id given by the DMS</p> + <p><b>vnd.sun.star.odma:/</b>`ODMA\DMS_ID\DM_SPECIFIC_INFO`</p> + + </p> + */ + interface com::sun::star::ucb::XContentProvider; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument.idl b/offapi/com/sun/star/ucb/OpenCommandArgument.idl new file mode 100644 index 000000000..14c5b7444 --- /dev/null +++ b/offapi/com/sun/star/ucb/OpenCommandArgument.idl @@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_OpenCommandArgument_idl__ +#define __com_sun_star_ucb_OpenCommandArgument_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/Property.idl> + + +module com { module sun { module star { module ucb { + +/** The argument for commands like "open", "update", and "synchronize". + + @see XCommandProcessor +*/ +published struct OpenCommandArgument +{ + /** A mode. + + <p>The value can be one of the OpenMode constants. + */ + long Mode; + + /** The command's priority, in the range <code>0</code> (highest) to + <code>65535</code> (lowest). + */ + long Priority; + + /** The data sink to write the contents into (supporting either + com::sun::star::io::XActiveDataSink, + com::sun::star::io::XOutputStream or + com::sun::star::io::XActiveDataStreamer). + + <p>XActiveDataSink and XOutputStream give the caller read-only + access to the contents. XActiveDataStreamer offers both read and + write access to the contents. + + <p>If an XActiveDataSink is supplied, the implementation of the command + needs to provide an implementation of an object implementing the + interface com::sun::star::io::XInputStream. It is + highly recommended that this object also implements the interface + com::sun::star::io::XSeekable, if this can be done + without wasting resources (i.e. allocating huge memory buffers). + The implementation object has to be supplied to the data sink. + */ + com::sun::star::uno::XInterface Sink; + + /** The properties, for that the values shall be provided by the + DynamicResultSet returned by the command). + */ + sequence< com::sun::star::beans::Property > Properties; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument2.idl b/offapi/com/sun/star/ucb/OpenCommandArgument2.idl new file mode 100644 index 000000000..1e90dad16 --- /dev/null +++ b/offapi/com/sun/star/ucb/OpenCommandArgument2.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_OpenCommandArgument2_idl__ +#define __com_sun_star_ucb_OpenCommandArgument2_idl__ + +#include <com/sun/star/ucb/OpenCommandArgument.idl> +#include <com/sun/star/ucb/NumberedSortingInfo.idl> + + +module com { module sun { module star { module ucb { + +/** The argument for commands like "open", "update", and "synchronize". + + <p>This struct extends the original OpenCommandArgument, which must not be + changed for compatibility reasons. + + @see XCommandProcessor +*/ +published struct OpenCommandArgument2 : OpenCommandArgument +{ + /** The sort criteria for the rows of the returned + ContentResultSet. + + <p>The result set implementation may ignore this parameter, if it + cannot sort the data by the given criteria in an efficient way (i.e. + directly using the underlying data source -> SQL-database -> ORDER BY). + */ + sequence< com::sun::star::ucb::NumberedSortingInfo > SortingInfo; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/OpenCommandArgument3.idl b/offapi/com/sun/star/ucb/OpenCommandArgument3.idl new file mode 100644 index 000000000..c8392d4d9 --- /dev/null +++ b/offapi/com/sun/star/ucb/OpenCommandArgument3.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef __com_sun_star_ucb_OpenCommandArgument3_idl__ +#define __com_sun_star_ucb_OpenCommandArgument3_idl__ + +#include <com/sun/star/ucb/OpenCommandArgument2.idl> +#include <com/sun/star/beans/NamedValue.idl> + +module com { module sun { module star { module ucb { + +/** Extended argument for commands like "open" + + <p>We're extending OpenCommandArgument even more, to provide some opening flags on to webdav. + + @see XCommandProcessor +*/ +published struct OpenCommandArgument3 : OpenCommandArgument2 +{ + /** Flags to use for opening. + + <p>WebDav e.g. uses "KeepAlive" to enable/disable the respective http feature. + */ + sequence< com::sun::star::beans::NamedValue > OpeningFlags; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/OpenMode.idl b/offapi/com/sun/star/ucb/OpenMode.idl new file mode 100644 index 000000000..ddd6d7534 --- /dev/null +++ b/offapi/com/sun/star/ucb/OpenMode.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_OpenMode_idl__ +#define __com_sun_star_ucb_OpenMode_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for OpenCommandArgument::Mode. +*/ +published constants OpenMode +{ + /** open a folder, include all children in result set (documents and + folders). + */ + const short ALL = 0; + + /** open a folder, include only children, that are folders, in result set. + */ + const short FOLDERS = 1; + + /** open a folder, include only children, that are documents, in result set. + */ + const short DOCUMENTS = 3; + + /** open a document. There are no special requirements for data access + sharing. + + <p>Note: There must be a data sink supplied in the + OpenCommandArgument struct, if this value is set. This + sink will be used by the content implementation to supply the document + data. + */ + const short DOCUMENT = 2; + + /** open a document. Allow shared read and write access. + + <p>Note: There must be a data sink supplied in the + OpenCommandArgument struct, if this value is set. This + sink will be used by the content implementation to supply the document + data. + */ + const short DOCUMENT_SHARE_DENY_NONE = 4; + + /** open a document. Deny shared write access. + + <p>Note: There must be a data sink supplied in the + OpenCommandArgument struct, if this value is set. This + sink will be used by the content implementation to supply the document + data. + */ + const short DOCUMENT_SHARE_DENY_WRITE = 5; + +// const short DOCUMENT_SHARE_DENY_READ = 6; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/OutgoingMessageState.idl b/offapi/com/sun/star/ucb/OutgoingMessageState.idl new file mode 100644 index 000000000..1cb37f1c8 --- /dev/null +++ b/offapi/com/sun/star/ucb/OutgoingMessageState.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_OutgoingMessageState_idl__ +#define __com_sun_star_ucb_OutgoingMessageState_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for RecipientInfo::State. +*/ +published enum OutgoingMessageState +{ + /** Message has just been placed into the out tray. + */ + WRITTEN, + + /** Message has been sent upstream to some recipients. + */ + PARTIALLY_LOCALLY_SENT, + + /** Message has been sent upstream to all recipients. + */ + COMPLETELY_LOCALLY_SENT, + + /** Local, non-fatal error (e.g. network temporarily not available). + */ + RECOVERABLE_LOCAL_ERROR, + + /** Local fatal error (e.g. first SMTP server upstream did not accept the + message). + */ + NONRECOVERABLE_LOCAL_ERROR, + + /** Global fatal error (e.g. last member in SMTP chain could not deliver + the message). + */ + EXTERNAL_ERROR, + + /** Message was sent; we are waiting for confirmation. + */ + WAITING_CONFIRMATION, + + /** Recipient confirmed reading. + */ + CONFIRMED + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PackageContentProvider.idl b/offapi/com/sun/star/ucb/PackageContentProvider.idl new file mode 100644 index 000000000..ae51059ce --- /dev/null +++ b/offapi/com/sun/star/ucb/PackageContentProvider.idl @@ -0,0 +1,120 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PackageContentProvider_idl__ +#define __com_sun_star_ucb_PackageContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** The Package Content Provider (PCP) implements a ContentProvider + for the UniversalContentBroker (UCB). + + <p>It provides access to packages ( zip / jar archive files ) containing + folders and streams. + + @see com::sun::star::ucb::Content +*/ +published service PackageContentProvider +{ + /** provides two types of contents: Stream and Folder. + + <p> + + <b>PCP Contents</b> + <ol> + <li> + A PCP Stream (PackageStreamContent) is a content which + represents a file inside a package. It is always contained in a PCP + Folder. A PCP Stream has no children. + </li> + <li> + A PCP Folder (PackageFolderContent) is a container for + other PCP Folders and PCP Streams. + </li> + </ol> + + <p><b>URL Scheme for PCP Contents</b> + + <p>Each HCP content has an identifier corresponding to the following + scheme: + + <ul> + <li> + package-URL = "vnd.sun.star.pkg://" orig-URL [ abs-path ] + </li> + <li> + abs-path = "/" path-segments + </li> + <li> + path-segments = segment *( "/" segment ) + </li> + <li> + segment = pchar + </li> + <li> + pchar = unreserved | escaped | ":" | "@" | "&" | "=" + | "+" | "$" | "," + </li> + <li> + unreserved = alphanum | mark + </li> + <li> + mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" + </li> + <li> + escaped = "%" hex hex + </li> + <li> + orig-URL = 1 *( unreserved | escaped | "$" | "," | ";" + | ":" | "@" | "&" | "&" | "=" | "+" + </li> + </ul> + + <p>Examples: + + <ul> + <li> + vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/ + ( The root folder of the package located at file:///e:/my.xsw ) + </li> + <li> + vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/Content + ( The folder/stream named "Content" that is contained in the root + folder of the located at file:///e:/my.xsw ) + </li> + <li> + vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/Content%20A + ( The folder/stream named "Content A" that is contained in the root + folder of the located at file:///e:/my.xsw ) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XContentProvider; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PackageFolderContent.idl b/offapi/com/sun/star/ucb/PackageFolderContent.idl new file mode 100644 index 000000000..1252125c1 --- /dev/null +++ b/offapi/com/sun/star/ucb/PackageFolderContent.idl @@ -0,0 +1,208 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PackageFolderContent_idl__ +#define __com_sun_star_ucb_PackageFolderContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/ucb/XContentCreator.idl> + + +module com { module sun { module star { module ucb { + +/** A PCP Folder is a container for other PCP Folders and PCP Streams. + + @see com::sun::star::ucb::PackageContentProvider + @see com::sun::star::ucb::PackageStreamContent +*/ +published service PackageFolderContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created folder persistent ) + </li> + <li> + delete + </li> + <li> + open + </li> + <li> + transfer ( only transfers from PCP Folders/PCP Streams to other + PCP folders. It does not handle contents with a URL scheme other + then the PCP-URL-scheme. ) + </li> + <li> + flush ( a command introduced by the PCP Folder. It takes a + void-argument and returns void. This command is used to write unsaved + changes to the underlying package file. Note that the current + implementation of PCP contents never flushes automatically! Operations + which require a flush to get persistent, are: + "setPropertyValues( < any_non_read_only_property > ) ", "delete", + "insert" ) + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.pkg-folder" ) + </li> + <li> + boolean IsDocument ( read-only, always false ) + </li> + <li> + boolean IsFolder ( read-only, always true ) + </li> + <li> + string MediaType + </li> + <li> + string Title + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + A PCP Folder can create other PCP Folders and PCP Streams. To create + a new child of a PCP Folder: + + <ol> + <li> + Let the parent folder create a new content by calling + XContentCreator::createNewContent() on it. The content + type to use for new folders is "application/vnd.sun.star.pkg-folder". + To create a new PCP Stream, use the type + "application/vnd.sun.star.pkg-stream". + </li> + <li> + Set a title at the new folder / stream. ( Let the new child execute + the command "setPropertyValues", which sets at least the property + "Title" to a non-empty value ). + </li> + <li> + Let the new child ( not the parent! ) execute the command "insert". + This will commit the creation process. For streams, you need to supply + the implementation of an + com::sun::star::io::XInputStream with the command's + parameters, that provides access to the stream data. + </li> + </ol> + + </p> + + <p> + Another, more convenient way for creating streams is simply to assemble + the URL for the new content ( last part of the path will become the + title of the new stream ) and to obtain a Content object for that URL + from the UCB. Then let the content execute the command "insert". The + command will fail, if you set the command's parameter + InsertCommandArgument::ReplaceExisting" + to false and there is already a stream with the title given by the + content's URL. + + </p> + */ + interface com::sun::star::ucb::XContentCreator; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PackageStreamContent.idl b/offapi/com/sun/star/ucb/PackageStreamContent.idl new file mode 100644 index 000000000..f3a1c3902 --- /dev/null +++ b/offapi/com/sun/star/ucb/PackageStreamContent.idl @@ -0,0 +1,162 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PackageStreamContent_idl__ +#define __com_sun_star_ucb_PackageStreamContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A PCP Stream is a content which represents a file inside a package. + + <p>It is always contained in a PCP Folder. A PCP Stream has no children. + + @see com::sun::star::ucb::PackageContentProvider + @see com::sun::star::ucb::PackageFolderContent +*/ +published service PackageStreamContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created stream persistent ) + </li> + <li> + delete + </li> + <li> + open + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.pkg-stream" ) + </li> + <li> + boolean IsDocument ( read-only, always true ) + </li> + <li> + boolean IsFolder ( read-only, always false ) + </li> + <li> + string MediaType + </li> + <li> + string Size ( read-only ) + </li> + <li> + string Title + </li> + <li> + boolean Compressed ( allows you to explicitly state whether you want a + stream to be compressed or not. The default value of this property + will be determined according to the value of the property "MediaType". + If it is empty or prefixed by "text/", the value of "Compressed" is set + to true. Otherwise the value will be false. ) + </li> + <li> + boolean Encrypted ( are the stream data encrypted or not ). + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PersistentPropertySet.idl b/offapi/com/sun/star/ucb/PersistentPropertySet.idl new file mode 100644 index 000000000..212f87cb2 --- /dev/null +++ b/offapi/com/sun/star/ucb/PersistentPropertySet.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PersistentPropertySet_idl__ +#define __com_sun_star_ucb_PersistentPropertySet_idl__ + +#include <com/sun/star/ucb/XPersistentPropertySet.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertyAccess.idl> +#include <com/sun/star/container/XNamed.idl> + + +module com { module sun { module star { module ucb { + +/** This service contains the interfaces to implement by objects + returned by XPropertySetRegistry::openPropertySet(). + */ +published service PersistentPropertySet +{ + /** An interface implementing a persistent property set. + */ + interface com::sun::star::ucb::XPersistentPropertySet; + + /** An interface for getting/setting the name (key) of the property set. + */ + interface com::sun::star::container::XNamed; + + /** An interface for adding/removing a property to/from the set. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** An interface for getting/setting multiple properties at once. + */ + interface com::sun::star::beans::XPropertyAccess; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PostCommandArgument.idl b/offapi/com/sun/star/ucb/PostCommandArgument.idl new file mode 100644 index 000000000..458581bf4 --- /dev/null +++ b/offapi/com/sun/star/ucb/PostCommandArgument.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PostCommandArgument_idl__ +#define __com_sun_star_ucb_PostCommandArgument_idl__ + +#include <com/sun/star/io/XInputStream.idl> + + + +module com { module sun { module star { module ucb { + +/** The argument for the command "post". + + @see XCommandProcessor +*/ +published struct PostCommandArgument +{ + /** The data source containing the data to post. + */ + com::sun::star::io::XInputStream Source; + + /** The data sink receiving the returned contents (supporting either + com::sun::star::io::XActiveDataSink or + com::sun::star::io::XOutputStream). + */ + com::sun::star::uno::XInterface Sink; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PostCommandArgument2.idl b/offapi/com/sun/star/ucb/PostCommandArgument2.idl new file mode 100644 index 000000000..63ee42b7d --- /dev/null +++ b/offapi/com/sun/star/ucb/PostCommandArgument2.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PostCommandArgument2_idl__ +#define __com_sun_star_ucb_PostCommandArgument2_idl__ + +#include <com/sun/star/ucb/PostCommandArgument.idl> + + + +module com { module sun { module star { module ucb { + +/** The argument for the command "post". + + @see XCommandProcessor + @see WebDAVDocumentContent +*/ +published struct PostCommandArgument2 : PostCommandArgument +{ + /** The media type (mime type) for the data to post. + */ + string MediaType; + + /** The URL of the referrer. + */ + string Referer; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/Priority.idl b/offapi/com/sun/star/ucb/Priority.idl new file mode 100644 index 000000000..0f3a17a7a --- /dev/null +++ b/offapi/com/sun/star/ucb/Priority.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_Priority_idl__ +#define __com_sun_star_ucb_Priority_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for the property "Priority". + + @see XCommandProcessor + @see Content +*/ +published enum Priority +{ + /** Highest priority. + */ + HIGHEST, + + /** High priority. + */ + HIGH, + + /** Normal priority. + */ + NORMAL, + + /** Low priority. + */ + LOW, + + /** Lowest priority. + */ + LOWEST + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PropertiesManager.idl b/offapi/com/sun/star/ucb/PropertiesManager.idl new file mode 100644 index 000000000..b2ff8f0ec --- /dev/null +++ b/offapi/com/sun/star/ucb/PropertiesManager.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PropertiesManager_idl__ +#define __com_sun_star_ucb_PropertiesManager_idl__ + +#include <com/sun/star/beans/XPropertySetInfo.idl> + + +module com { module sun { module star { module ucb { + +/** This service provides access to the meta data of the well known + (predefined) UCB properties. + + @see com::sun::star::ucb::UniversalContentBroker + @see com::sun::star::ucb::ContentProvider + @see com::sun::star::ucb::Content +*/ +published service PropertiesManager + : com::sun::star::beans::XPropertySetInfo; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PropertyCommandArgument.idl b/offapi/com/sun/star/ucb/PropertyCommandArgument.idl new file mode 100644 index 000000000..10ffaa04c --- /dev/null +++ b/offapi/com/sun/star/ucb/PropertyCommandArgument.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PropertyCommandArgument_idl__ +#define __com_sun_star_ucb_PropertyCommandArgument_idl__ + +#include <com/sun/star/beans/Property.idl> + +module com { module sun { module star { module ucb { + +/** The argument for the "addProperty" command. + + @see XCommandProcessor + @since Apache OpenOffice 4.0, LibreOffice 4.2 +*/ +struct PropertyCommandArgument +{ + /** The property that the command has to add. + */ + com::sun::star::beans::Property Property; + + /** The default value of the property. + */ + any DefaultValue; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PropertySetRegistry.idl b/offapi/com/sun/star/ucb/PropertySetRegistry.idl new file mode 100644 index 000000000..54f21471d --- /dev/null +++ b/offapi/com/sun/star/ucb/PropertySetRegistry.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PropertySetRegistry_idl__ +#define __com_sun_star_ucb_PropertySetRegistry_idl__ + +#include <com/sun/star/ucb/XPropertySetRegistry.idl> +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module ucb { + +/** This service contains the interfaces to implement by objects + returned by XPropertySetRegistryFactory::createRegistry(). + */ +published service PropertySetRegistry +{ + /** A property set registry. + */ + interface com::sun::star::ucb::XPropertySetRegistry; + + /** An interface for accessing registry entries. + */ + interface com::sun::star::container::XNameAccess; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PropertyValueInfo.idl b/offapi/com/sun/star/ucb/PropertyValueInfo.idl new file mode 100644 index 000000000..1525bf478 --- /dev/null +++ b/offapi/com/sun/star/ucb/PropertyValueInfo.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PropertyValueInfo_idl__ +#define __com_sun_star_ucb_PropertyValueInfo_idl__ + +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/ucb/PropertyValueState.idl> + + + +module com { module sun { module star { module ucb { + +/** contains value and state of a + com::sun::star::beans::Property. +*/ +published struct PropertyValueInfo: com::sun::star::beans::PropertyValue +{ + /** the state of the property value. + */ + com::sun::star::ucb::PropertyValueState ValueState; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/PropertyValueState.idl b/offapi/com/sun/star/ucb/PropertyValueState.idl new file mode 100644 index 000000000..36c6b0766 --- /dev/null +++ b/offapi/com/sun/star/ucb/PropertyValueState.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_PropertyValueState_idl__ +#define __com_sun_star_ucb_PropertyValueState_idl__ + + + +module com { module sun { module star { module ucb { + +/** defines the states of a property value in the process of obtaining the + value (asynchronously). + + @see PropertyValueInfo +*/ +published enum PropertyValueState +{ + /** The property value was not obtained yet. + */ + UNPROCESSED, + + /** The value was obtained. + + <p>The value is stored in PropertyValueInfo::Value. + */ + PROCESSED, + + /** The given property name/handle is invalid. + */ + INVALID_NAME, + + /** The given property type is invalid. + */ + INVALID_TYPE + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RecipientInfo.idl b/offapi/com/sun/star/ucb/RecipientInfo.idl new file mode 100644 index 000000000..bf6caafaf --- /dev/null +++ b/offapi/com/sun/star/ucb/RecipientInfo.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_RecipientInfo_idl__ +#define __com_sun_star_ucb_RecipientInfo_idl__ + +#include <com/sun/star/ucb/OutgoingMessageState.idl> + + + +module com { module sun { module star { module ucb { + +/** contains all information needed to send a message using one send protocol. + + <p>To send one message via two different protocols, two RecipientInfos + are needed - to send one message to different users with one protocol, + one RecipientInfo can be used. +*/ +published struct RecipientInfo +{ + /** the protocol to use for sending (i.e. "NNTP", "SMTP", "VIM"). + */ + string ProtocolType; + + /** the current state of the message. + */ + com::sun::star::ucb::OutgoingMessageState State; + + /** the recipient(s) (e.g. e-mail address/es). + + <p>Multiple addresses are separated by commas. + */ + string To; + + /** the recipient(s) of a "carbon copy" (e.g. e-mail address/es). + + <p>Multiple addresses are separated by commas. + */ + string CC; + + /** the recipient(s) of "blind carbon copy" (e.g. e-mail address/es). + + <p>Multiple addresses are separated by commas. + */ + string BCC; + + /** the newsgroup(s) to which an article is be posted. + + <p>Multiple addresses are separated by commas. + */ + string Newsgroups; + + /** the name of the server to be used for sending the message. + */ + string Server; + + /** the user name to be used for authorizing on the send server. + */ + string Username; + + /** the password to be used for authorizing on the send server. + */ + string Password; + + /** the Post Office Path (VIM only). + */ + string VIMPostOfficePath; + + /** string representing the last error (generated by send server). + */ + string ProtocolErrorString; + + /** the number representing the last error (generated by send server). + */ + long ProtocolErrorNumber; + + /** the count of tries to send a message. This count is <code>1</code> + if the message was sent with the first try and increases with every + unsuccessful retry. + */ + long SendTries; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RememberAuthentication.idl b/offapi/com/sun/star/ucb/RememberAuthentication.idl new file mode 100644 index 000000000..1afb0d352 --- /dev/null +++ b/offapi/com/sun/star/ucb/RememberAuthentication.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_RememberAuthentication_idl__ +#define __com_sun_star_ucb_RememberAuthentication_idl__ + + + +module com { module sun { module star { module ucb { + +/** A specification of how long to remember some authentication data. +*/ +published enum RememberAuthentication +{ + /** Do not remember the authentication data (use it once and immediately + forget about it). + */ + NO, + + /** Remember the authentication data, but only until the end of the + current session. + */ + SESSION, + + /** Remember the authentication data "forever". + */ + PERSISTENT + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl b/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl new file mode 100644 index 000000000..520ba755e --- /dev/null +++ b/offapi/com/sun/star/ucb/RemoteAccessContentProvider.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_RemoteAccessContentProvider_idl__ +#define __com_sun_star_ucb_RemoteAccessContentProvider_idl__ + +#include <com/sun/star/ucb/ContentProvider.idl> +#include <com/sun/star/ucb/XParameterizedContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** A RemoteAccessContentProvider is a + ContentProvider that provides access to contents available at + other (remote) UCBs. +*/ +published service RemoteAccessContentProvider +{ + /** A RemoteAccessContentProvider is a specialized + ContentProvider. + */ + service com::sun::star::ucb::ContentProvider; + + /** allows configuration of the RemoteAccessContentProvider, + to specify that certain XContentIdentifiers map to + XContents from a certain remote UCB. The Arguments + string in the + XParameterizedContentProvider::registerInstance() + call must contain the UNO URL of the remote UCB. + + The XContentProviders obtained through this interface + implement the service ContentProvider and, if + appropriate, also the interface XFileIdentifierConverter. + */ + interface com::sun::star::ucb::XParameterizedContentProvider; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl b/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl new file mode 100644 index 000000000..b26b53903 --- /dev/null +++ b/offapi/com/sun/star/ucb/RemoteContentProviderAcceptor.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_RemoteContentProviderAcceptor_idl__ +#define __com_sun_star_ucb_RemoteContentProviderAcceptor_idl__ + +module com { module sun { module star { module ucb { + + published interface XRemoteContentProviderAcceptor; + published interface XRemoteContentProviderActivator; + +/** allows content providers running in remote processes to be registered at + the local content provider broker. + */ +published service RemoteContentProviderAcceptor +{ + /** This interface provides the base functionality to register and + deregister content providers running in remote processes. + */ + interface XRemoteContentProviderAcceptor; + + /** This optional interface can be used to adopt a lazy implement strategy + for this service, which can improve performance in certain situations. + + <p>The way this works might change, therefore this interface is marked + as deprecated. + + @deprecated + */ + [optional] interface XRemoteContentProviderActivator; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl b/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl new file mode 100644 index 000000000..563852216 --- /dev/null +++ b/offapi/com/sun/star/ucb/RemoteContentProviderChangeAction.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_RemoteContentProviderChangeAction_idl__ +#define __com_sun_star_ucb_RemoteContentProviderChangeAction_idl__ + +module com { module sun { module star { module ucb { + +/** An indication used in a + com::sun::star::ucb::RemoteContentProviderChangeEvent to + specify whether a remote content provider has been added to or removed + from an + com::sun::star::ucb::XRemoteContentProviderSupplier. + + @version 1.0 + */ +published enum RemoteContentProviderChangeAction +{ + /** The indicator that a remote content provider has been added. + */ + ADDED, + + /** The indicator that a remote content provider has been removed. + */ + REMOVED +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl b/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl new file mode 100644 index 000000000..aa2eeb3e7 --- /dev/null +++ b/offapi/com/sun/star/ucb/RemoteContentProviderChangeEvent.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_RemoteContentProviderChangeEvent_idl__ +#define __com_sun_star_ucb_RemoteContentProviderChangeEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> +#include <com/sun/star/ucb/RemoteContentProviderChangeAction.idl> + +module com { module sun { module star { module ucb { + +/** The description of a change to a + com::sun::star::ucb::XRemoteContentProviderSupplier. + + @version 1.0 + */ +published struct RemoteContentProviderChangeEvent: com::sun::star::lang::EventObject +{ + /** The identifier with which the remote content provider is registered + at the + com::sun::star::ucb::XRemoteContentProviderSupplier. + */ + string Identifier; + + /** An indicator whether a remote content provider has been added or + removed. + */ + RemoteContentProviderChangeAction Action; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl b/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl new file mode 100644 index 000000000..bb09062a5 --- /dev/null +++ b/offapi/com/sun/star/ucb/RemoteProxyContentProvider.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_RemoteProxyContentProvider_idl__ +#define __com_sun_star_ucb_RemoteProxyContentProvider_idl__ + +module com { module sun { module star { module ucb { + + published interface XContentIdentifierFactory; + published interface XContentProvider; + published interface XParameterizedContentProvider; + +/** A ContentProvider that wraps remote content providers that + (potentially) have been distributed to a UCB. + + <p>Before trying to pass a request to a "real", underlying content provider + (which will most likely be a remote content provider distributed to this + UCB), this proxy first activates any remote content providers that have + been distributed here, but are still inactive (see + RemoteContentProviderAcceptor and + XRemoteContentProviderActivator for more information). + + <p>The way this works might change, therefore this interface is marked as + deprecated. + + @deprecated + */ +published service RemoteProxyContentProvider +{ + /** activates any potentially inactive remote content providers before + passing on requests to the underlying XContentProvider. + */ + interface XContentProvider; + + /** activates any potentially inactive remote content providers before + passing on requests to the underlying + XContentIdentifierFactory. + */ + [optional] interface XContentIdentifierFactory; + + /** allows this ContentProvider to adjust itself to special + needs. + */ + [optional] interface XParameterizedContentProvider; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ResultSetException.idl b/offapi/com/sun/star/ucb/ResultSetException.idl new file mode 100644 index 000000000..9bea5cbf3 --- /dev/null +++ b/offapi/com/sun/star/ucb/ResultSetException.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ResultSetException_idl__ +#define __com_sun_star_ucb_ResultSetException_idl__ + +#include <com/sun/star/sdbc/SQLException.idl> + + + +module com { module sun { module star { module ucb { + +/** This exception is thrown to propagate exceptions thrown by operations + on ContentResultSets. + + @version 1.0 +*/ +published exception ResultSetException: com::sun::star::sdbc::SQLException +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/Rule.idl b/offapi/com/sun/star/ucb/Rule.idl new file mode 100644 index 000000000..ddf20924a --- /dev/null +++ b/offapi/com/sun/star/ucb/Rule.idl @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_Rule_idl__ +#define __com_sun_star_ucb_Rule_idl__ + +#include <com/sun/star/ucb/RuleTerm.idl> + + + +module com { module sun { module star { module ucb { + +/** describes a rule that can be applies to a number of objects. + + <p>A rule consists of a sequence of RuleTerms describing the + objects to which the rule should be applied, the RuleAction + which should be used on the matching objects, and a parameter. +*/ +published struct Rule +{ + /** the rule terms describing the objects to which the rule should be + applied. + */ + sequence<com::sun::star::ucb::RuleTerm> Terms; + + /** Some RuleActions require a parameter. + + <table border =1> + <tr> + <th>Action</th> + <th>Parameter</th> + </tr> + <tr> + <td>COPY, MOVE, LINK</td> + <td>The URL to the destination folder.</td> + </tr> + <tr> + <td>FORWARD</td> + <td>The email address of the recipient</td> + </tr> + <tr> + <td>All other actions</td> + <td>n/a</td> + </tr> + </table> + */ + string Parameter; + + /** the action to perform on the matching objects. + + <p>The value can be one of the RuleAction constants. + */ + short Action; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RuleAction.idl b/offapi/com/sun/star/ucb/RuleAction.idl new file mode 100644 index 000000000..358621409 --- /dev/null +++ b/offapi/com/sun/star/ucb/RuleAction.idl @@ -0,0 +1,91 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_RuleAction_idl__ +#define __com_sun_star_ucb_RuleAction_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for Rule::Action. + + @see RuleSet +*/ +published constants RuleAction +{ + /** "None" - Do nothing. + */ + const short NONE = 0; + + /** "Show" - Shows object when term matches. + */ + const short SHOW = 1; + + /** "Hide" - Hides object when term matches. + */ + const short HIDE = 2; + + /** "Mark" - Marks object when term matches. + */ + const short MARK = 3; + + /** "UnMark" - Removes mark from object when term matches. + */ + const short UNMARK = 4; + + /** "MarkRead" - Marks object as read when term matches. + */ + const short MARKREAD = 5; + + /** "MarkUnRead" - Marks object as not read when term matches. + */ + const short MARKUNREAD = 6; + + /** "Move" - Moves object to Rule::Parameter when term + matches. + */ + const short MOVE = 7; + + /** "Copy" - Copies object to Rule::Parameter when term + matches. + */ + const short COPY = 8; + + /** "Delete" - Deletes object when term matches. + */ + const short DELETE = 9; + + /** "Link" - Creates a link to Rule::Parameter when term + matches. + */ + const short LINK = 10; + + /** "Forward" - Forwards object to Rule::Parameter when + term matches. + */ + const short FORWARD = 11; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RuleOperator.idl b/offapi/com/sun/star/ucb/RuleOperator.idl new file mode 100644 index 000000000..442adda69 --- /dev/null +++ b/offapi/com/sun/star/ucb/RuleOperator.idl @@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_RuleOperator_idl__ +#define __com_sun_star_ucb_RuleOperator_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for RuleTerm::RuleOperator. + + @see RuleSet + @see Rule +*/ +published constants RuleOperator +{ + /** "Contains" - Object contains RuleTerm::Operand. + */ + const short CONTAINS = 1; + + /** "ContainsNot" - Object does not contain + RuleTerm::Operand. + */ + const short CONTAINSNOT = 2; + + /** "GreaterEqual" - Object is greater than or equal to + RuleTerm::Operand. + */ + const short GREATEREQUAL = 3; + + /** "LessEqual" - Object is less than or equal to + RuleTerm::Operand. + */ + const short LESSEQUAL = 4; + + /** "Equal" - Object is equal to RuleTerm::Operand. + */ + const short EQUAL = 5; + + /** "NotEqual" - Object is not equal to RuleTerm::Operand. + */ + const short NOTEQUAL = 6; + + /** "True" - Object has the value `TRUE`. + */ + const short VALUE_TRUE = 7; + + /** "False" - Object has the value `FALSE`. + */ + const short VALUE_FALSE = 8; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RuleSet.idl b/offapi/com/sun/star/ucb/RuleSet.idl new file mode 100644 index 000000000..bf4a061f3 --- /dev/null +++ b/offapi/com/sun/star/ucb/RuleSet.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_RuleSet_idl__ +#define __com_sun_star_ucb_RuleSet_idl__ + +#include <com/sun/star/ucb/Rule.idl> + + + +module com { module sun { module star { module ucb { + +/** describes a set of Rules. + + <p>A RuleSet is applied to a folder. It consists of a sequence of rules. + Each rule consists of a sequence of RuleTerms describing the + objects to which the rule should by applied and the RuleAction + which should be performed on the matching objects. +*/ +published struct RuleSet +{ + /** contains a number of rules. + */ + sequence<com::sun::star::ucb::Rule> Rules; + + /** is a flag indicating whether the rules apply to folders, too. + */ + boolean HandleFolder; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/RuleTerm.idl b/offapi/com/sun/star/ucb/RuleTerm.idl new file mode 100644 index 000000000..49b2a51df --- /dev/null +++ b/offapi/com/sun/star/ucb/RuleTerm.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_RuleTerm_idl__ +#define __com_sun_star_ucb_RuleTerm_idl__ + + + +module com { module sun { module star { module ucb { + +/** describes a term. + + <p>A term is used to select objects to which a rule should apply. +*/ +published struct RuleTerm +{ + /** the name of the property used to match the term. + */ + string Property; + + /** the value of the property used to compare with the document + property. + */ + any Operand; + + /** the operator used to compare the property of the document with + the given value (e.g. "contains" or "greater equal"). + + <p>The value can be one of the RuleOperator constants. + */ + short Operator; + + /** this flag indicates whether a string "operand" shall be compared + case sensitive. + */ + boolean CaseSensitive; + + /** this flag indicates whether a string "operand" shall be treated + as a regular expression. + */ + boolean RegularExpression; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SearchCommandArgument.idl b/offapi/com/sun/star/ucb/SearchCommandArgument.idl new file mode 100644 index 000000000..6c5d112e1 --- /dev/null +++ b/offapi/com/sun/star/ucb/SearchCommandArgument.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SearchCommandArgument_idl__ +#define __com_sun_star_ucb_SearchCommandArgument_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/Property.idl> +#include <com/sun/star/ucb/SearchInfo.idl> + + +module com { module sun { module star { module ucb { + +/** The argument for the command "search". + + @see XCommandProcessor +*/ +published struct SearchCommandArgument +{ + /** the search criteria. + */ + SearchInfo Info; + + /** the properties for which values shall be provided through the + ContentResultSet returned by the search command. + */ + sequence< com::sun::star::beans::Property > Properties; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SearchCriterium.idl b/offapi/com/sun/star/ucb/SearchCriterium.idl new file mode 100644 index 000000000..09c6fceed --- /dev/null +++ b/offapi/com/sun/star/ucb/SearchCriterium.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SearchCriterium_idl__ +#define __com_sun_star_ucb_SearchCriterium_idl__ + +#include <com/sun/star/ucb/RuleTerm.idl> + + + +module com { module sun { module star { module ucb { + +/** a criterion describing how an object must match some rules that specify + (part of) a search. +*/ +published struct SearchCriterium +{ + /** a number of rule terms. + */ + sequence<com::sun::star::ucb::RuleTerm> Terms; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SearchInfo.idl b/offapi/com/sun/star/ucb/SearchInfo.idl new file mode 100644 index 000000000..0fcb43dad --- /dev/null +++ b/offapi/com/sun/star/ucb/SearchInfo.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SearchInfo_idl__ +#define __com_sun_star_ucb_SearchInfo_idl__ + +#include <com/sun/star/ucb/SearchCriterium.idl> +#include <com/sun/star/ucb/SearchRecursion.idl> + + + +module com { module sun { module star { module ucb { + +/** information needed to (recursively) search an object. +*/ +published struct SearchInfo +{ + /** the search criteria. + */ + sequence<com::sun::star::ucb::SearchCriterium> Criteria; + + /** the mode of recursion to use. + */ + com::sun::star::ucb::SearchRecursion Recursion; + + /** whether to include the object itself in the search or only (some of) + its sub-objects. + */ + boolean IncludeBase; + + /** whether to respect the "view restrictions" specified for the folders + hierarchically contained within an object (e.g., only searches through + subscribed folders). + */ + boolean RespectFolderViewRestrictions; + + /** whether to respect the "view restrictions" specified for the documents + hierarchically contained within an object (e.g., only searches through + marked documents). + */ + boolean RespectDocViewRestrictions; + + /** whether to follow indirections (link objects) and search through their + respective targets also. + */ + boolean FollowIndirections; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SearchRecursion.idl b/offapi/com/sun/star/ucb/SearchRecursion.idl new file mode 100644 index 000000000..8bd03dcdd --- /dev/null +++ b/offapi/com/sun/star/ucb/SearchRecursion.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SearchRecursion_idl__ +#define __com_sun_star_ucb_SearchRecursion_idl__ + + + +module com { module sun { module star { module ucb { + +/** the various modes of recursion when searching through a hierarchical + object. + + @see SearchInfo +*/ +published enum SearchRecursion +{ + /** Does not search through any sub-objects. + */ + NONE, + + /** Only searches through sub-objects of the first hierarchy level. + */ + ONE_LEVEL, + + /** Searches through the complete hierarchy of all sub-objects. + */ + DEEP + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SendInfo.idl b/offapi/com/sun/star/ucb/SendInfo.idl new file mode 100644 index 000000000..9f8037088 --- /dev/null +++ b/offapi/com/sun/star/ucb/SendInfo.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SendInfo_idl__ +#define __com_sun_star_ucb_SendInfo_idl__ + + + +module com { module sun { module star { module ucb { + +/** contains information related to a send protocol. + + <p>It can contain any string values (server names, user names, passwords, + ...). +*/ +published struct SendInfo +{ + /** the protocol to which the info is related (i.e. "NNTP", "SMTP", "VIM"). + */ + string ProtocolType; + + /** the value. + */ + string Value; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SendMediaTypes.idl b/offapi/com/sun/star/ucb/SendMediaTypes.idl new file mode 100644 index 000000000..def07946e --- /dev/null +++ b/offapi/com/sun/star/ucb/SendMediaTypes.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SendMediaTypes_idl__ +#define __com_sun_star_ucb_SendMediaTypes_idl__ + + + +module com { module sun { module star { module ucb { + +/** contains a list of Internet media types (like "text/plain" and "text/html"), + that are related to a send protocol. +*/ +published struct SendMediaTypes +{ + /** the protocol to which the information is related (i.e. "NNTP", "SMTP", + "VIM"). + */ + string ProtocolType; + + /** a list of Internet media types + */ + sequence<string> Value; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/ServiceNotFoundException.idl b/offapi/com/sun/star/ucb/ServiceNotFoundException.idl new file mode 100644 index 000000000..9bc74906e --- /dev/null +++ b/offapi/com/sun/star/ucb/ServiceNotFoundException.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_ServiceNotFoundException_idl__ +#define __com_sun_star_ucb_ServiceNotFoundException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module ucb { + +/** This exception is thrown to indicate that a needed service was + not registered. +*/ +published exception ServiceNotFoundException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SimpleFileAccess.idl b/offapi/com/sun/star/ucb/SimpleFileAccess.idl new file mode 100644 index 000000000..8b7902baf --- /dev/null +++ b/offapi/com/sun/star/ucb/SimpleFileAccess.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SimpleFileAccess_idl__ +#define __com_sun_star_ucb_SimpleFileAccess_idl__ + +#include <com/sun/star/ucb/XSimpleFileAccess3.idl> + + + +module com { module sun { module star { module ucb { + +/** Offers a simple access to resources, like files and folders located in a +local file system or on a WebDAV server. + + @version 1.0 07/25/2000 +*/ +published service SimpleFileAccess : XSimpleFileAccess3; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl new file mode 100644 index 000000000..a5b0a14ac --- /dev/null +++ b/offapi/com/sun/star/ucb/SortedDynamicResultSetFactory.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SortedDynamicResultSetFactory_idl__ +#define __com_sun_star_ucb_SortedDynamicResultSetFactory_idl__ + +#include <com/sun/star/ucb/XSortedDynamicResultSetFactory.idl> + + +module com { module sun { module star { module ucb { + +/** is a factory for DynamicResultSet implementations, which + will be sorted according to the given sorting options. +*/ +published service SortedDynamicResultSetFactory + : XSortedDynamicResultSetFactory; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SortingInfo.idl b/offapi/com/sun/star/ucb/SortingInfo.idl new file mode 100644 index 000000000..189d38590 --- /dev/null +++ b/offapi/com/sun/star/ucb/SortingInfo.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SortingInfo_idl__ +#define __com_sun_star_ucb_SortingInfo_idl__ + + + +module com { module sun { module star { module ucb { + +/** contains a sorting info. +*/ +published struct SortingInfo +{ + /** specifies the name of a property to use for sorting ( e.g. "Title" ). + */ + string PropertyName; + + /** contains a flag indicating the sort mode (ascending or descending). + */ + boolean Ascending; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/Store.idl b/offapi/com/sun/star/ucb/Store.idl new file mode 100644 index 000000000..500d2999c --- /dev/null +++ b/offapi/com/sun/star/ucb/Store.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_Store_idl__ +#define __com_sun_star_ucb_Store_idl__ + +#include <com/sun/star/ucb/XPropertySetRegistryFactory.idl> + + +module com { module sun { module star { module ucb { + +/** creates instances of the service PropertySetRegistry. + */ +published service Store : XPropertySetRegistryFactory; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/SynchronizePolicy.idl b/offapi/com/sun/star/ucb/SynchronizePolicy.idl new file mode 100644 index 000000000..cd05a269d --- /dev/null +++ b/offapi/com/sun/star/ucb/SynchronizePolicy.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_SynchronizePolicy_idl__ +#define __com_sun_star_ucb_SynchronizePolicy_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for the property "SynchronizePolicy". + + @see XCommandProcessor + @see Content +*/ +published enum SynchronizePolicy +{ + /** Server is master. + */ + SERVER_IS_MASTER, + + /** Client is master. + */ + CLIENT_IS_MASTER, + + /** None is master. + */ + NONE_IS_MASTER + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransferCommandOperation.idl b/offapi/com/sun/star/ucb/TransferCommandOperation.idl new file mode 100644 index 000000000..bf9e7aa91 --- /dev/null +++ b/offapi/com/sun/star/ucb/TransferCommandOperation.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransferCommandOperation_idl__ +#define __com_sun_star_ucb_TransferCommandOperation_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for + GlobalTransferCommandArgument::Operation. +*/ +published enum TransferCommandOperation +{ + /** Copy the source to the target folder. */ + COPY, + + /** Move the source to the target folder. */ + MOVE, + + /** Create a link in the target folder. The link's target is the source + object. */ + LINK +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransferInfo.idl b/offapi/com/sun/star/ucb/TransferInfo.idl new file mode 100644 index 000000000..1d6bb2eb5 --- /dev/null +++ b/offapi/com/sun/star/ucb/TransferInfo.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransferInfo_idl__ +#define __com_sun_star_ucb_TransferInfo_idl__ + + + +module com { module sun { module star { module ucb { + +/** contains information needed to transfer objects from one location to another. + + <p>The transfer command is always called on the target folder. For a + details description of the transfer command refer to the documentation + of service Content. +*/ +published struct TransferInfo +{ + /** contains the flags describing whether the data shall be moved + instead of copied. + */ + boolean MoveData; + + /** contains the URL of the source of the action (e.g. the URL of a + file to move). + */ + string SourceURL; + + /** contains the title of the transferred object, if it is different + from the original one. + + <p>If this field is filled, for example, a file will be renamed + while it is being transferred.</p> + */ + string NewTitle; + + /** describes how to act in case of title clashes while transferring + the data. + + <p>A title clash for instance occurs, if a file named "foo.txt" is + to be transferred to a folder already containing another file named + "foo.txt". + + <p>The value can be one of the NameClash constants. + + <p>Implementations that are not able to detect whether there is a + clashing resource may ignore NameClash::ERROR and + NameClash::RENAME always write the new data. + */ + long NameClash; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransferInfo2.idl b/offapi/com/sun/star/ucb/TransferInfo2.idl new file mode 100644 index 000000000..c7bcef22d --- /dev/null +++ b/offapi/com/sun/star/ucb/TransferInfo2.idl @@ -0,0 +1,31 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef __com_sun_star_ucb_TransferInfo2_idl__ +#define __com_sun_star_ucb_TransferInfo2_idl__ + +#include <com/sun/star/ucb/TransferInfo.idl> + +module com { module sun { module star { module ucb { + +/** extends TransferInfo structure to give some additional parameters + for transfers. + */ +struct TransferInfo2 : TransferInfo +{ + /** contains the MIME type of the source of the action + */ + string MimeType; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransferResult.idl b/offapi/com/sun/star/ucb/TransferResult.idl new file mode 100644 index 000000000..ed7961f3c --- /dev/null +++ b/offapi/com/sun/star/ucb/TransferResult.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransferResult_idl__ +#define __com_sun_star_ucb_TransferResult_idl__ + + + +module com { module sun { module star { module ucb { + +/** Information about a transfer activity. +*/ +published struct TransferResult +{ + /** The URL of the source object. + */ + string Source; + + /** The URL of the target folder into which to transfer (a copy of) the + source object. + */ + string Target; + + /** Either void if the transfer has been carried out successfully, or an + exception indicating the kind of failure. + */ + any Result; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl new file mode 100644 index 000000000..012a3dd46 --- /dev/null +++ b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl @@ -0,0 +1,146 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransientDocumentsContentProvider_idl__ +#define __com_sun_star_ucb_TransientDocumentsContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** The Transient Documents Content Provider (TDCP) implements a + ContentProvider for the UniversalContentBroker + (UCB). + + <p>It provides access to the hierarchical structure of the documents that + are active in a running OpenOffice.org process. As long as a document was + not closed, the TDCP can access it. All documents that have been loaded - + regardless of their persistent document format (sxw, doc, sxc, xls, ...) + or that have been created but not yet saved to any storage medium, are + supported. The TDCP is not able to load any documents itself. This is + exclusively done by the OpenOffice.org document handling framework. The + document contents provided by the TDCP represent live data, which may + differ from any persistent representation of the document, for instance, + because the user modified the document after loading, but did not yet save + it. + + @see TransientDocumentsRootContent + @see TransientDocumentsDocumentContent + @see TransientDocumentsFolderContent + @see TransientDocumentsStreamContent + + @since OOo 2.0 +*/ +service TransientDocumentsContentProvider +{ + /** provides four different types of contents: Stream, Folder, Document and + Root. + + <p> + + <b>TDCP Contents</b> + <ol> + <li> + A TDCP Stream (TransientDocumentsStreamContent) is a + content which represents a data stream of an Office document. It is + contained in a TDCP Folder or TDCP Document. A TDCP Stream has no + children. + </li> + <li> + A TDCP Folder (TransientDocumentsFolderContent) is a + container for other TDCP Folders and TDCP Streams. It may be contained + in another TDCP Folder or in a TDCP Document. + </li> + <li> + A TDCP Document (TransientDocumentsDocumentContent) + represents the root folder of a transient document. It is a container + for other TDCP Folders and TDCP Streams. It is always a child of the + TDCP Root. + </li> + <li> + There is at most one instance of a TDCP Root + (TransientDocumentsRootContent) at a time. All other TDCP + contents are children of this folder. The TDCP Root Folder can contain + only TDCP Documents. It has the fixed URL "vnd.sun.star.tdoc:/". + </li> + </ol> + + <p><b>URL Scheme for TDCP Contents</b> + + <p>Each TDCP content has an identifier corresponding to the following + scheme: + + <ul> + <li> + tdcp-URL = "vnd.sun.star.tdoc:" abs-path + </li> + <li> + abs-path = +( "/" segment ) + </li> + <li> + segment = *( pchar ) + </li> + <li> + pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | "," + </li> + <li> + unreserved = alphanum | mark + </li> + <li> + mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" + </li> + <li> + escaped = "%" hex hex + </li> + </ul> + + <p>Examples: + + <ul> + <li> + vnd.sun.star.tdoc:/ + ( The TDCP Root ) + </li> + <li> + vnd.sun.star.tdoc:/22 + ( The document with the id 22 ) + </li> + <li> + vnd.sun.star.tdoc:/22/ + ( The document with the id 22 ) + </li> + <li> + vnd.sun.star.tdoc:/42/folder/subfolder + ( The folder/stream named subfolder contained in folder named folder, + which is contained in the document with the id 42 ) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XContentProvider; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl new file mode 100644 index 000000000..7f9969019 --- /dev/null +++ b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl @@ -0,0 +1,182 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__ +#define __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/ucb/XContentCreator.idl> + + +module com { module sun { module star { module ucb { + +/** A TDCP Document represents the root folder of a transient document. + + <p>It is a container for other TDCP Folders and TDCP Streams. It is always + a child of the TDCP Root. + + @see TransientDocumentsContentProvider + @see TransientDocumentsRootContent + @see TransientDocumentsFolderContent + @see TransientDocumentsStreamContent + + @since OOo 2.0 +*/ +service TransientDocumentsDocumentContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + open + </li> + <li> + transfer (only transfers TDCP documents, TDCP folders and TDCP streams. + It does not handle contents with a URL scheme other than the TDOC URL + scheme) + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.tdoc-document" ) + </li> + <li> + boolean IsDocument ( read-only, always false ) + </li> + <li> + boolean IsFolder ( read-only, always true ) + </li> + <li> + string Title ( read-only ) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; + + /** This interface is implemented according to the specification of + service Content. + + <p>To create a new child of a TDCP Document: + + <ol> + <li> + Let the parent folder create a new content by calling + XContentCreator::createNewContent() on it. The content + type to use for new folders is "application/vnd.sun.star.tdoc-folder". + To create a new stream, use the type string + "application/vnd.sun.star.tdoc-stream". + </li> + <li> + Set a title for the new folder/stream. (Let the new child execute the + command "setPropertyValues"; pass a non-empty value for the property + "Title"). + </li> + <li> + Let the new child ( not the parent! ) execute the command "insert". + This will commit the creation process. For streams, you need to supply + the implementation of an + com::sun::star::io::XInputStream with the command's + parameters, that provides access to the stream data. + </li> + </ol> + + </p> + */ + interface com::sun::star::ucb::XContentCreator; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl new file mode 100644 index 000000000..f9dd69144 --- /dev/null +++ b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl @@ -0,0 +1,192 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransientDocumentsFolderContent_idl__ +#define __com_sun_star_ucb_TransientDocumentsFolderContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/ucb/XContentCreator.idl> + + +module com { module sun { module star { module ucb { + +/** A TDCP Folder is a container for other TDCP Folders and TDCP Streams. + + <p>It may be contained in another TDCP Folder or in a TDCP Document. + + @see TransientDocumentsContentProvider + @see TransientDocumentsRootContent + @see TransientDocumentsDocumentContent + @see TransientDocumentsStreamContent + + @since OOo 2.0 +*/ +service TransientDocumentsFolderContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + open + </li> + <li> + insert + </li> + <li> + delete + </li> + <li> + transfer (only transfers TDCP documents, TDCP folders and TDCP streams. + It does not handle contents with a URL scheme other than the TDOC URL + scheme) + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.tdoc-folder" ) + </li> + <li> + boolean IsDocument ( read-only, always false ) + </li> + <li> + boolean IsFolder ( read-only, always true ) + </li> + <li> + string Title + </li> + <li> + com::sun::star::embed::XStorage Storage ( read-only, + always a reference to a storage opened in read-only mode. No write + operations are possible. TDCP contents must be used for writing.) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; + + /** This interface is implemented according to the specification of + service Content. + + <p>To create a new child of a TDCP Folder: + + <ol> + <li> + Let the parent folder create a new content by calling + XContentCreator::createNewContent() on it. The content + type to use for new folders is "application/vnd.sun.star.tdoc-folder". + To create a new stream, use the type string + "application/vnd.sun.star.tdoc-stream". + </li> + <li> + Set a title for the new folder/stream. (Let the new child execute the + command "setPropertyValues"; pass a non-empty value for the property + "Title"). + </li> + <li> + Let the new child ( not the parent! ) execute the command "insert". + This will commit the creation process. For streams, you need to supply + the implementation of an + com::sun::star::io::XInputStream with the command's + parameters, that provides access to the stream data. + </li> + </ol> + + </p> + */ + interface com::sun::star::ucb::XContentCreator; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl new file mode 100644 index 000000000..a8de4dd6c --- /dev/null +++ b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl @@ -0,0 +1,146 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransientDocumentsRootContent_idl__ +#define __com_sun_star_ucb_TransientDocumentsRootContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A TDCP Root Folder is the root container for all other TDCP contents. + + <p>There is at most one instance of a TDCP Root at a time. All other TDCP + contents are children of this folder. The TDCP Root Folder can contain + only TDCP Documents. It has the fixed URL "vnd.sun.star.tdoc:/". + + @see TransientDocumentsContentProvider + @see TransientDocumentsDocumentContent + @see TransientDocumentsFolderContent + @see TransientDocumentsStreamContent + + @since OOo 2.0 +*/ +service TransientDocumentsRootContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + open + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.tdoc-root" ) + </li> + <li> + boolean IsDocument ( read-only, always false ) + </li> + <li> + boolean IsFolder ( read-only, always true ) + </li> + <li> + string Title ( read-only, always an empty string ) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl new file mode 100644 index 000000000..0382a61a4 --- /dev/null +++ b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl @@ -0,0 +1,153 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransientDocumentsStreamContent_idl__ +#define __com_sun_star_ucb_TransientDocumentsStreamContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A TDCP Stream is a content which represents a data stream of an Office + document. + + <p>It is contained in a TDCP Folder or TDCP Document. A TDCP Stream has no + children. + + @see TransientDocumentsContentProvider + @see TransientDocumentsRootContent + @see TransientDocumentsDocumentContent + @see TransientDocumentsFolderContent + + @since OOo 2.0 +*/ +service TransientDocumentsStreamContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + open + </li> + <li> + insert + </li> + <li> + delete + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.tdoc-stream" ) + </li> + <li> + boolean IsDocument ( read-only, always true ) + </li> + <li> + boolean IsFolder ( read-only, always false ) + </li> + <li> + string Title + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl new file mode 100644 index 000000000..72de8e7e1 --- /dev/null +++ b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_URLAuthenticationRequest_idl__ +#define __com_sun_star_ucb_URLAuthenticationRequest_idl__ + +#include <com/sun/star/ucb/AuthenticationRequest.idl> + + + +module com { module sun { module star { module ucb { + +/** An error specifying lack of correct authentication data (e.g., to log into + an account). + + @since OOo 3.2 +*/ +exception URLAuthenticationRequest : AuthenticationRequest +{ + /** The URL for which authentication is requested. + */ + string URL; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/UniversalContentBroker.idl b/offapi/com/sun/star/ucb/UniversalContentBroker.idl new file mode 100644 index 000000000..938595475 --- /dev/null +++ b/offapi/com/sun/star/ucb/UniversalContentBroker.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_UniversalContentBroker_idl__ +#define __com_sun_star_ucb_UniversalContentBroker_idl__ + +#include <com/sun/star/ucb/XUniversalContentBroker.idl> + + +module com { module sun { module star { module ucb { + +/** is a one-instance service that provides access to a set of + Contents via ContentProviders. + + <p>Traditionally, this service implements + com::sun::star::lang::XInitialization and needed to be + instantiated once with two arguments via + com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext() + for configuration before it could be obtained via plain + com::sun::star::lang::XMultiComponentFactory::createInstanceWithContext(). + + <p>However, the only pair of initialization arguments used in practice is + <code>"Local"</code>/<code>"Office"</code>, so this service is simplified + now to automatically configure itself with that argument pair upon first + instantiation. + + <p>(For backwards compatibility, the service implementation still supports + com::sun::star::lang::XInitialization and can still + explicitly be initialized via + com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext() + with two arguments of type string. These strings are used as a pair of keys + to retrieve a set of content provider descriptions from the configuration + management (stored at + <code>org.openoffice.ucb.Configuration.ContentProviders.<var>key<sub>1</sub></var>.SecondaryKeys.<var>key<sub>2</sub></var>.ProviderData</code> + within the configuration management's hierarchy). The retrieved + descriptions are in turn used to register the corresponding content provider + services at the broker.) +*/ +published service UniversalContentBroker : XUniversalContentBroker +{ + /** The (default) constructor. + + <p>(This default constructor is only mentioned explicitly for technical + reasons, so that its implementation calls the service implementation's + com::sun::star::lang::XInitialization::initialize().) + */ + create(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/UnsupportedCommandException.idl b/offapi/com/sun/star/ucb/UnsupportedCommandException.idl new file mode 100644 index 000000000..4706c19c2 --- /dev/null +++ b/offapi/com/sun/star/ucb/UnsupportedCommandException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_UnsupportedCommandException_idl__ +#define __com_sun_star_ucb_UnsupportedCommandException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module ucb { + +/** is thrown to indicate that a command is not known by the + implementation of an interface. + + @version 1.0 + @see XCommandProcessor +*/ +published exception UnsupportedCommandException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl b/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl new file mode 100644 index 000000000..57e89a424 --- /dev/null +++ b/offapi/com/sun/star/ucb/UnsupportedDataSinkException.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_UnsupportedDataSinkException_idl__ +#define __com_sun_star_ucb_UnsupportedDataSinkException_idl__ + +#include <com/sun/star/uno/Exception.idl> +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module ucb { + +/** This exception is used to indicate that the requested type of data sink + is not supported. + + <p>For example, each OpenCommandArgument supplied as argument + of the command "open" contains such a data sink. + + @version 1.0 + @see Content +*/ +published exception UnsupportedDataSinkException : com::sun::star::uno::Exception +{ + /** contains the data sink that is not supported. + */ + com::sun::star::uno::XInterface Sink; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl b/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl new file mode 100644 index 000000000..efa6e201c --- /dev/null +++ b/offapi/com/sun/star/ucb/UnsupportedNameClashException.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_UnsupportedNameClashException_idl__ +#define __com_sun_star_ucb_UnsupportedNameClashException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module ucb { + +/** <p>This exception must be thrown in case the requested name clash + directive is not supported, because it is not possible to implement + it or if it is just not (yet) implemented. + + <p>Command "transfer": Used if the name clash directive specified in + parameter NameClash of the supplied TransferInfo is not + supported. For example, if the NameClash was set to NameClash::ERROR, + to NameClash::RENAME or to NameClash::ASK, the implementation must be + able determine whether there are existing data. This exception must also + be used if NameClash::RENAME was specified and the implementation is + unable to create a valid new name after a suitable number of tries. + + <p>Command "insert": Used if the parameter ReplaceExisting of the + supplied InsertCommandArgument was set to `FALSE` and the + implementation is unable to determine whether there are existing data. + The member NameClash of the exception must be set to NameClash::ERROR + + @version 1.0 + @see Content +*/ +published exception UnsupportedNameClashException : com::sun::star::uno::Exception +{ + /** contains the NameClash that is not supported. + */ + long NameClash; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl b/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl new file mode 100644 index 000000000..f74c6d6ad --- /dev/null +++ b/offapi/com/sun/star/ucb/UnsupportedOpenModeException.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_UnsupportedOpenModeException_idl__ +#define __com_sun_star_ucb_UnsupportedOpenModeException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module ucb { + +/** This exception is used to indicate that the requested OpenMode + is not supported. + + <p>For example, each OpenCommandArgument supplied as argument + of the command "open" contains such an open mode. + + @version 1.0 + @see Content +*/ +published exception UnsupportedOpenModeException : com::sun::star::uno::Exception +{ + /** contains the OpenMode that is not supported. + */ + short Mode; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/VerificationMode.idl b/offapi/com/sun/star/ucb/VerificationMode.idl new file mode 100644 index 000000000..25073996f --- /dev/null +++ b/offapi/com/sun/star/ucb/VerificationMode.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_VerificationMode_idl__ +#define __com_sun_star_ucb_VerificationMode_idl__ + + + +module com { module sun { module star { module ucb { + +/** These are the possible values for the property "VerificationMode". + + @see XCommandProcessor + @see Content +*/ +published enum VerificationMode +{ + /** Always. + */ + ALWAYS, + + /** Once. + */ + ONCE, + + /** Never. + */ + NEVER + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/WebDAVContentProvider.idl b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl new file mode 100644 index 000000000..6a27e7f17 --- /dev/null +++ b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_WebDAVContentProvider_idl__ +#define __com_sun_star_ucb_WebDAVContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** The WebDAV Content Provider (DCP) implements a ContentProvider + for the UniversalContentBroker (UCB). + + <p>It provides access to WebDAV and standard HTTP servers. The DCP + communicates with the server using the WebDAV protocol which is an + extension to the HTTP protocol or using the plain HTTP protocol in case + the server is not WebDAV enabled. + + @see com::sun::star::ucb::Content +*/ +published service WebDAVContentProvider +{ + /** provides two types of content: a Folder or Document which corresponds + to a collection or non-collection (nodes and leafs) in WebDAV + respectively. + + <p> + + <b>DCP Contents</b> + <ol> + <li> + A DCP Folder (WebDAVFolderContent) is a container for + other DCP Folders or Documents. + </li> + <li> + A DCP Document (WebDAVDocumentContent) is a container for + Document data/content. The data/content may be anything, a WebDAV + server, like an HTTP server, does not necessarily mandate what type of + data/content may be contained within Documents. The type of data/content + is defined by the MediaType property which is different from the content + type returned from the getContentType method. The MediaType property is + mapped to the equivalent WebDAV property and the WebDAV server + calculates the value. + </li> + </ol> + + <p><b>URL Scheme for DCP Contents</b> + + <p>Each DCP content has an identifier corresponding to the following + scheme: + + <ul> + <li> + vnd.sun.star.webdav://host:port/<path> where <path> is + a hierarchical path of the form <name>/.../<name> and + where <name> is a string encoded according to the URL + conventions. + </li> + </ul> + + <p>It is also possible to use standard HTTP-URLs. In this case the + implementation will determine by itself, if the requested resource + is DAV enabled. + + <p>Examples: + + <ul> + <li> + vnd.sun.star.webdav://localhost/davhome/ ( a DAV collection ) + </li> + <li> + vnd.sun.star.webdav://dav.foo.com/Documents/report.sdw + </li> + <li> + http://dav.foo.com/Documents/report.sdw + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XContentProvider; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl new file mode 100644 index 000000000..495c47866 --- /dev/null +++ b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl @@ -0,0 +1,167 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_WebDAVDocumentContent_idl__ +#define __com_sun_star_ucb_WebDAVDocumentContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> + + +module com { module sun { module star { module ucb { + +/** A DCP Document is a container for Document data/content. + + <p>The data/content may be anything, a WebDAV server, like an HTTP server, + does not necessarily mandate what type of data/content may be contained + within Documents. The type of data/content is defined by the MediaType + property which is different from the content type returned from the + XContent::getContentType() method. The MediaType property + is mapped to the equivalent WebDAV property and the WebDAV server calculates + the value. + + @see com::sun::star::ucb::WebDAVContentProvider + @see com::sun::star::ucb::WebDAVFolderContent +*/ +published service WebDAVDocumentContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created document persistent ) + </li> + <li> + delete + </li> + <li> + open + </li> + <li> + post ( Argument: PostCommandArgument2 - does a HTTP POST ) + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/http-content" ) + </li> + <li> + boolean IsDocument ( read-only, always true ) + </li> + <li> + boolean IsFolder ( read-only, always false ) + </li> + <li> + com::sun::star::util::DateTime DateCreated ( read-only ) + </li> + <li> + com::sun::star::util::DateTime DateModified ( read-only ) + </li> + <li> + string MediaType ( read-only, the MIME type - as delivered by the server ) + </li> + <li> + string Size ( read-only ) + </li> + <li> + string Title + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/WebDAVFolderContent.idl b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl new file mode 100644 index 000000000..78cd31d48 --- /dev/null +++ b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl @@ -0,0 +1,195 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_WebDAVFolderContent_idl__ +#define __com_sun_star_ucb_WebDAVFolderContent_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/ucb/XContentCreator.idl> + + +module com { module sun { module star { module ucb { + +/** A DCP Folder is a container for other DCP Folders or Documents. + + @see com::sun::star::ucb::WebDAVContentProvider + @see com::sun::star::ucb::WebDAVDocumentContent +*/ +published service WebDAVFolderContent +{ + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::lang::XComponent; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XContent; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created folder persistent ) + </li> + <li> + delete + </li> + <li> + open + </li> + <li> + transfer ( only transfers from DCP Folders/DCP Documents to other + DCP folders. Source and target must reside on the same server. ) + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" ) + </li> + <li> + boolean IsDocument ( read-only, always false ) + </li> + <li> + boolean IsFolder ( read-only, always true ) + </li> + <li> + com::sun::star::util::DateTime DateCreated ( read-only ) + </li> + <li> + com::sun::star::util::DateTime DateModified ( read-only ) + </li> + <li> + string MediaType + </li> + <li> + string Size ( read-only, always zero ) + </li> + <li> + string Title + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + /** is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + <p>Where many existing Content implementations do not + (yet), every new implementation should support this interface. + */ + [optional] interface com::sun::star::ucb::XCommandProcessor2; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertyContainer; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + /** This interface is implemented according to the specification of + service Content. + */ + interface com::sun::star::container::XChild; + + /** This interface is implemented according to the specification of + service Content. + + <p> + + A DCP Folder can create other DCP Folders and DCP Documents. To create + a new child of a PCP Folder: + + <ol> + <li> + Let the parent folder create a new content by calling + XContentCreator::createNewContent() on it. The content + type to use for new folders is + "application/vnd.sun.star.webdav-collection". To create a new DCP + Document, use the type "application/http-content". + </li> + <li> + Set a title at the new folder / document. ( Let the new child execute + the command "setPropertyValues", which sets at least the property + "Title" to a non-empty value ). + </li> + <li> + Let the new child ( not the parent! ) execute the command "insert". + This will commit the creation process and persist the newly created + content on the server. For documents, you need to supply the + implementation of a com::sun::star::io::XInputStream + with the command's parameters, that provides access to the stream data. + </li> + </ol> + + </p> + */ + interface com::sun::star::ucb::XContentCreator; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl b/offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl new file mode 100644 index 000000000..209b4ca4a --- /dev/null +++ b/offapi/com/sun/star/ucb/WebDAVHTTPMethod.idl @@ -0,0 +1,117 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_WebDAVHTTPMethod_idl__ +#define __com_sun_star_ucb_WebDAVHTTPMethod_idl__ + +module com { module sun { module star { module ucb { + + +/** Standard WebDAV/HTTP methods. + + @since Apache OpenOffice 4.0, LibreOffice 4.2 +*/ +enum WebDAVHTTPMethod +{ + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.3">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a> + */ + GET, + + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.4">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a> + */ + HEAD, + + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.5">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a> + */ + POST, + + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.6">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a> + */ + PUT, + + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.7">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a> + */ + DELETE, + + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.8">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a> + */ + TRACE, + + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.2">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a> + */ + OPTIONS, + + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc2616#section-9.9">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a> + */ + CONNECT, + + /** HTTP request method as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc5789">RFC 5789: PATCH Method for HTTP</a> + */ + PATCH, + + /** WebDAV methods as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.1">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a> + */ + PROPFIND, + + /** WebDAV methods as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.2">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a> + */ + PROPPATCH, + + /** WebDAV methods as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.3">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a> + */ + MKCOL, + + /** WebDAV methods as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.8">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a> + */ + COPY, + + /** WebDAV methods as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.9">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a> + */ + MOVE, + + /** WebDAV methods as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.10">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a> + */ + LOCK, + + /** WebDAV methods as defined in + <a target="_blank" href="http://tools.ietf.org/html/rfc4918#section-9.11">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a> + */ + UNLOCK + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl b/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl new file mode 100644 index 000000000..ce6b78af5 --- /dev/null +++ b/offapi/com/sun/star/ucb/WelcomeDynamicResultSetStruct.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_WelcomeDynamicResultSetStruct_idl__ +#define __com_sun_star_ucb_WelcomeDynamicResultSetStruct_idl__ + +#include <com/sun/star/sdbc/XResultSet.idl> + + +module com { module sun { module star { module ucb { + +/** This struct is to be contained in the first notification of an + XDynamicResultSet. + + @see XDynamicResultSet + @see ListEvent + @see ListAction + @see ListActionType +*/ + +published struct WelcomeDynamicResultSetStruct +{ + /** The static result set containing the previous version of result set data. + */ + com::sun::star::sdbc::XResultSet Old; + + /** The static result set containing the new version of result set data. + */ + com::sun::star::sdbc::XResultSet New; +}; + + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XAnyCompare.idl b/offapi/com/sun/star/ucb/XAnyCompare.idl new file mode 100644 index 000000000..cac854fd5 --- /dev/null +++ b/offapi/com/sun/star/ucb/XAnyCompare.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XAnyCompare_idl__ +#define __com_sun_star_ucb_XAnyCompare_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module ucb { + +/** compares two `any`s. +*/ + +published interface XAnyCompare: com::sun::star::uno::XInterface +{ + /** allows comparison of two `any`s. + + @param Any1 + is the first compare value + + @param Any2 + is the second compare value + + @returns + <ul> + <li> + <code>-1</code>, if the first any is less than the second ( Any1 < Any2 ) + </li> + <li> + <code>0</code>, if the first any is equal to the second ( Any1 == Any2 ) + </li> + <li> + <code>+1</code>, if the first any is greater than the second ( Any1 > Any2 ) + </li> + </ul> + */ + + short compare( [in] any Any1, [in] any Any2 ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XAnyCompareFactory.idl b/offapi/com/sun/star/ucb/XAnyCompareFactory.idl new file mode 100644 index 000000000..1fb0956b3 --- /dev/null +++ b/offapi/com/sun/star/ucb/XAnyCompareFactory.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XAnyCompareFactory_idl__ +#define __com_sun_star_ucb_XAnyCompareFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XAnyCompare.idl> +#include <com/sun/star/beans/Property.idl> + + +module com { module sun { module star { module ucb { + +/** creates an XAnyCompare instance. +*/ + +published interface XAnyCompareFactory: com::sun::star::uno::XInterface +{ + /** creates an XAnyCompare instance. + + @param PropertyName + is the name of a property + + @returns + a compare interface + */ + com::sun::star::ucb::XAnyCompare createAnyCompareByName( + [in] string PropertyName ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl b/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl new file mode 100644 index 000000000..b29629a58 --- /dev/null +++ b/offapi/com/sun/star/ucb/XCachedContentResultSetFactory.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XCachedContentResultSetFactory_idl__ +#define __com_sun_star_ucb_XCachedContentResultSetFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sdbc/XResultSet.idl> +#include <com/sun/star/ucb/XContentIdentifierMapping.idl> + + +module com { module sun { module star { module ucb { + +/** creates a CachedContentResultSet. +*/ + +published interface XCachedContentResultSetFactory: com::sun::star::uno::XInterface +{ + /** creates a remote optimized + com::sun::star::sdbc::XResultSet. + + @param xSource + must be an instance of service CachedContentResultSetStub. + + @param xMapping + can be used for optimization of remote access via the interface + XContentAccess of the CachedContentResultSet. + This parameter can be `NULL`. + + @returns + an instance of service CachedContentResultSet. + */ + com::sun::star::sdbc::XResultSet createCachedContentResultSet( + [in] com::sun::star::sdbc::XResultSet xSource, + [in] com::sun::star::ucb::XContentIdentifierMapping xMapping ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl b/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl new file mode 100644 index 000000000..dd9fa74cc --- /dev/null +++ b/offapi/com/sun/star/ucb/XCachedContentResultSetStubFactory.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XCachedContentResultSetStubFactory_idl__ +#define __com_sun_star_ucb_XCachedContentResultSetStubFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sdbc/XResultSet.idl> + + +module com { module sun { module star { module ucb { + +/** creates a CachedContentResultSetStub. +*/ + +published interface XCachedContentResultSetStubFactory: com::sun::star::uno::XInterface +{ + /** creates a remote optimized + com::sun::star::sdbc::XResultSet. + + @param xSource + must be an instance of service ContentResultSet. + + @returns + an instance of service CachedContentResultSetStub. + */ + com::sun::star::sdbc::XResultSet createCachedContentResultSetStub( + [in] com::sun::star::sdbc::XResultSet xSource ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl new file mode 100644 index 000000000..23be7fcc8 --- /dev/null +++ b/offapi/com/sun/star/ucb/XCachedDynamicResultSetFactory.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XCachedDynamicResultSetFactory_idl__ +#define __com_sun_star_ucb_XCachedDynamicResultSetFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XDynamicResultSet.idl> +#include <com/sun/star/ucb/XContentIdentifierMapping.idl> + + +module com { module sun { module star { module ucb { + +/** creates a CachedDynamicResultSet. + + <p>Pay attention to instantiate this helper on client side where your want + to read the data respectively where you have instantiated the listener to + the XDynamicResultSet. + + <p>The needed stub on server side can be created using + XCachedDynamicResultSetStubFactory. +*/ + +published interface XCachedDynamicResultSetFactory: com::sun::star::uno::XInterface +{ + /** creates a remote optimizes XDynamicResultSet. + + @param SourceStub + must be an instance of service CachedDynamicResultSetStub. + It can be `NULL`. In this case you can use the interface + XSourceInitialization of the returned + CachedDynamicResultSet to set the stub later. + + @param ContentIdentifierMapping + is not required, but can be set if it is necessary to change the + identity of the contents accessible via the interface + XContentAccess of the ContentResultSet + (e.g., if merging two sources of the same type). + + @returns + an instance of service CachedDynamicResultSet. + */ + com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSet( + [in] com::sun::star::ucb::XDynamicResultSet SourceStub + , [in] com::sun::star::ucb::XContentIdentifierMapping ContentIdentifierMapping ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl b/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl new file mode 100644 index 000000000..ab31a085a --- /dev/null +++ b/offapi/com/sun/star/ucb/XCachedDynamicResultSetStubFactory.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__ +#define __com_sun_star_ucb_XCachedDynamicResultSetStubFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XDynamicResultSet.idl> +#include <com/sun/star/ucb/NumberedSortingInfo.idl> +#include <com/sun/star/ucb/XAnyCompareFactory.idl> + + +module com { module sun { module star { module ucb { + +/** creates a CachedDynamicResultSetStub and connects a non-remote + optimized DynamicResultSet to a remote optimized + CachedDynamicResultSet. + + <p>Pay attention to instantiate this helper on server side where your source + DynamicResultSet was instantiated. + + <p>Method + XCachedDynamicResultSetStubFactory::createCachedDynamicResultSetStub() + can be used to create a stub on server side. + + <p>If you have instantiated a CachedDynamicResultSet on client + side already, use method connectToCache() to connect your + given DynamicResultSet with this Cache. + + <p>The needed cache on server side you can create using + XCachedDynamicResultSetFactory. +*/ + +published interface XCachedDynamicResultSetStubFactory: com::sun::star::uno::XInterface +{ + /** creates a remote optimizes XDynamicResultSet. + + @param Source + must be an instance of service DynamicResultSet. + + @returns + an instance of service CachedDynamicResultSetStub. + */ + + com::sun::star::ucb::XDynamicResultSet createCachedDynamicResultSetStub( + [in] com::sun::star::ucb::XDynamicResultSet Source ); + + /** If you have instantiated a CachedDynamicResultSet on + client side already, use this to connect your given Source on server + side to the TargetCache. + + @param Source + is an instance of service DynamicResultSet. + + @param TargetCache + is an instance of service CachedDynamicResultSet. + + @param SortingInfo + can be an empty sequence. Otherwise, Source will be sorted according + to the given sorting data. + + @param CompareFactory + will be ignored unless SortingInfo is not empty. Then the supplied + factory will be used to instantiate objects used to compare the + properties that are involved in sorting. + + @throws ListenerAlreadySetException + if \p Source is already in use. + + @throws AlreadyInitializedException + if \p TargetCache already has been initialized. + */ + void connectToCache( + [in] com::sun::star::ucb::XDynamicResultSet Source + , [in] com::sun::star::ucb::XDynamicResultSet TargetCache + , [in] sequence< com::sun::star::ucb::NumberedSortingInfo > SortingInfo + , [in] com::sun::star::ucb::XAnyCompareFactory CompareFactory + ) + raises( + com::sun::star::ucb::ListenerAlreadySetException + , com::sun::star::ucb::AlreadyInitializedException + ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCommandEnvironment.idl b/offapi/com/sun/star/ucb/XCommandEnvironment.idl new file mode 100644 index 000000000..eb43af9c7 --- /dev/null +++ b/offapi/com/sun/star/ucb/XCommandEnvironment.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XCommandEnvironment_idl__ +#define __com_sun_star_ucb_XCommandEnvironment_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/task/XInteractionHandler.idl> +#include <com/sun/star/ucb/XProgressHandler.idl> + + +module com { module sun { module star { module ucb { + +/** defines the environment for a command. + + @version 1.0 + @see XCommandProcessor +*/ +published interface XCommandEnvironment : com::sun::star::uno::XInterface +{ + /** returns the command's interaction handler. + + <p>If called multiple times, this method should consistently return the + same value (to allow caching). + + @returns + an interaction handler + */ + com::sun::star::task::XInteractionHandler getInteractionHandler(); + + /** returns the command's progress handler. + + <p>If called multiple times, this method should consistently return the + same value (to allow caching). + + @returns + a progress handler + */ + com::sun::star::ucb::XProgressHandler getProgressHandler(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCommandInfo.idl b/offapi/com/sun/star/ucb/XCommandInfo.idl new file mode 100644 index 000000000..2267157da --- /dev/null +++ b/offapi/com/sun/star/ucb/XCommandInfo.idl @@ -0,0 +1,100 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XCommandInfo_idl__ +#define __com_sun_star_ucb_XCommandInfo_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/CommandInfo.idl> +#include <com/sun/star/ucb/UnsupportedCommandException.idl> + + + +module com { module sun { module star { module ucb { + +/** provides access to information on a set of commands. + + @version 1.0 +*/ +published interface XCommandInfo: com::sun::star::uno::XInterface +{ + /** obtains information for all supported commands. + + @returns + a sequence with information for all supported commands. + */ + sequence<com::sun::star::ucb::CommandInfo> getCommands(); + + /** returns information for a specific command. + + @returns + the information for the requested command. + + @param Name + specifies the name of the requested command. + + @throws UnsupportedCommandException + if the command is not supported. + */ + com::sun::star::ucb::CommandInfo getCommandInfoByName( [in] string Name ) + raises( com::sun::star::ucb::UnsupportedCommandException ); + + /** returns information for a specific command. + + @returns + the information for the requested command. + + @param Handle + specifies the handle of the requested command. + + @throws UnsupportedCommandException + if the command is not supported. + */ + com::sun::star::ucb::CommandInfo getCommandInfoByHandle( [in] long Handle ) + raises( com::sun::star::ucb::UnsupportedCommandException ); + + /** checks whether a command specific is supported. + + @returns + `TRUE` if a command with the specified name is supported; + otherwise `FALSE` is returned. + + @param Name + specifies the name of the requested command. + */ + boolean hasCommandByName( [in] string Name ); + + /** checks whether a specific command is supported. + + @returns + `TRUE` if a command with the specified handle is supported; + otherwise `FALSE` is returned. + + @param Handle + specifies the handle of the requested command. + */ + boolean hasCommandByHandle( [in] long Handle ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl b/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl new file mode 100644 index 000000000..6da2de836 --- /dev/null +++ b/offapi/com/sun/star/ucb/XCommandInfoChangeListener.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XCommandInfoChangeListener_idl__ +#define __com_sun_star_ucb_XCommandInfoChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/ucb/CommandInfoChangeEvent.idl> + + +module com { module sun { module star { module ucb { + +/** a listener for events related to changing XCommandInfos. + + @version 1.0 + @see CommandInfoChangeEvent + @see XCommandInfoChangeNotifier +*/ +published interface XCommandInfoChangeListener : com::sun::star::lang::XEventListener +{ + /** gets called whenever changes of a XCommandInfo shall + be propagated. + + @param evt + the event. + */ + void commandInfoChange( [in] CommandInfoChangeEvent evt ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl b/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl new file mode 100644 index 000000000..c9ca0d1f4 --- /dev/null +++ b/offapi/com/sun/star/ucb/XCommandInfoChangeNotifier.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__ +#define __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XCommandInfoChangeListener.idl> + + +module com { module sun { module star { module ucb { + +/** a notifier for changes of XCommandInfos. + + @version 1.0 + @see CommandInfoChangeEvent + @see XCommandInfoChangeListener +*/ +published interface XCommandInfoChangeNotifier : com::sun::star::uno::XInterface +{ + /** registers a listener for CommandInfoChangeEvents. + + @param Listener + the listener to add. + */ + void addCommandInfoChangeListener( + [in] XCommandInfoChangeListener Listener ); + + /** removes a listener for CommandInfoChangeEvents. + + @param Listener + the listener to remove. + */ + void removeCommandInfoChangeListener( + [in] XCommandInfoChangeListener Listener ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCommandProcessor.idl b/offapi/com/sun/star/ucb/XCommandProcessor.idl new file mode 100644 index 000000000..df82f435f --- /dev/null +++ b/offapi/com/sun/star/ucb/XCommandProcessor.idl @@ -0,0 +1,129 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XCommandProcessor_idl__ +#define __com_sun_star_ucb_XCommandProcessor_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XCommandEnvironment.idl> +#include <com/sun/star/ucb/Command.idl> +#include <com/sun/star/ucb/CommandAbortedException.idl> + + +module com { module sun { module star { module ucb { + +/** defines a processor for synchronous commands, which are executed in a + specific execution environment. + + @version 1.0 + + @see com::sun::star::ucb::XCommandProcessor2 + for the improved version of this interface. + + @see Command + @see XCommandEnvironment + @see XContent +*/ +published interface XCommandProcessor : com::sun::star::uno::XInterface +{ + /** creates a unique identifier for a command. + + <p>This identifier can be used to abort the execution of the command + associated with that identifier. Note that it is generally not + necessary to obtain a new id for each command, because commands are + executed synchronously. So the id for a command is valid again after a + command previously associated with this id has finished. In fact you + only should get one identifier per thread and assign it to every + command executed by that thread.</p> + + <p>Also, after a call to XCommandProcessor::abort(), an + identifier should not be used any longer (and instead be released by a + call to XCommandProcessor2::releaseCommandIdentifier()), + because it may well abort <em>all</em> further calls to + XCommandProcessor::execute().</p> + + <p>To avoid ever-increasing resource consumption, the identifier + should be released via + XCommandProcessor2::releaseCommandIdentifier() + when it is no longer used.</p> + + @returns + a command identifier. + */ + long createCommandIdentifier(); + + /** executes a command. + + <p>Common command definitions can be found in the specification of the + service Content. + + @param aCommand + is the command to execute. + + @param CommandId + is a unique id for the command. This identifier was obtained by calling + XCommandProcessor::createCommandIdentifier(). A value of + zero can be used, if the command never shall be aborted. Different + threads MUST NOT share one command identifier (except <code>0</code>). + This can easily achieved, if every thread that wants to use an + XCommandProcessor, obtains exactly one identifier + using XCommandProcessor::createCommandIdentifier(). + This identifier can be used for every call to + XCommandProcessor::execute() done by that thread. + + @param Environment + is the execution environment. + + @returns + the result according to the specification of the command. + + @throws CommandAbortedException + to indicate that the command was aborted. + + @throws DuplicateCommandIdentifierException + to indicate that two threads tried to use the same command identifier + + @throws Exception + if an error occurred during the execution of the command. + */ + any execute( [in] Command aCommand, + [in] long CommandId, + [in] XCommandEnvironment Environment ) + raises ( com::sun::star::uno::Exception, CommandAbortedException ); + + /** ends the command associated with the given id. + + <p>Not every command can be aborted. It's up to the implementation + to decide whether this method will actually end the processing of + the command or simply do nothing. + + @param CommandId + is a unique id for the command to abort. This must be the identifier + passed to XCommandProcessor::execute() for the command + to abort. + */ + void abort( [in] long CommandId ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XCommandProcessor2.idl b/offapi/com/sun/star/ucb/XCommandProcessor2.idl new file mode 100644 index 000000000..0ad842e92 --- /dev/null +++ b/offapi/com/sun/star/ucb/XCommandProcessor2.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__ +#define __com_sun_star_ucb_XCommandProcessor2_idl__ + +#include <com/sun/star/ucb/XCommandProcessor.idl> + +module com { module sun { module star { module ucb { + +/** An improved version of a + com::sun::star::ucb::XCommandProcessor that helps avoid + ever-increasing resource consumption. + */ +published interface XCommandProcessor2: com::sun::star::ucb::XCommandProcessor +{ + /** releases a command identifier obtained through + XCommandProcessor::createCommandIdentifier() when it is + no longer used. + + <p>After this call the command identifier cannot be used any longer in + calls to XCommandProcessor::execute() and + XCommandProcessor::abort(). (But it can happen that a + call to XCommandProcessor::createCommandIdentifier() + reuses this identifier.)</p> + + @param CommandId + A command identifier obtained through + XCommandProcessor::createCommandIdentifier(). If the + identifier is zero, the request is silently ignored; but if the + identifier is invalid (not obtained via + XCommandProcessor::createCommandIdentifier() or already + handed to XCommandProcessor2::releaseCommandIdentifier() + before), the behavior is undefined. + */ + void releaseCommandIdentifier([in] long CommandId); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContent.idl b/offapi/com/sun/star/ucb/XContent.idl new file mode 100644 index 000000000..8b4a86251 --- /dev/null +++ b/offapi/com/sun/star/ucb/XContent.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContent_idl__ +#define __com_sun_star_ucb_XContent_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XContentIdentifier.idl> +#include <com/sun/star/ucb/XContentEventListener.idl> + + + +module com { module sun { module star { module ucb { + +/** specifies a content with a type and an identifier, which is able to manage + listeners for events that are related to contents. + + @version 1.0 + @see XContentIdentifier + @see XContentEventListener +*/ +published interface XContent: com::sun::star::uno::XInterface +{ + /** returns the identifier of the content. + + @returns + the identifier. + */ + com::sun::star::ucb::XContentIdentifier getIdentifier(); + + /** returns a type string, which is unique for that type of content (e.g. + "application/vnd.sun.star.hierarchy-folder"). + + @returns + the content type string. + */ + string getContentType(); + + /** adds a listener for content events. + + @param Listener + the listener to add. + + @see ContentEvent + */ + void addContentEventListener( + [in] com::sun::star::ucb::XContentEventListener Listener ); + + /** removes a listener for content events. + + @param Listener + the listener to remove. + + @see ContentEvent + */ + void removeContentEventListener( + [in] com::sun::star::ucb::XContentEventListener Listener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentAccess.idl b/offapi/com/sun/star/ucb/XContentAccess.idl new file mode 100644 index 000000000..62a34bf4f --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentAccess.idl @@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentAccess_idl__ +#define __com_sun_star_ucb_XContentAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module ucb { + + published interface XContent; + published interface XContentIdentifier; + +/** specifies methods for obtaining information on a content in different + levels. + + <p>For example, if there is a cursor which points to XContents, + this interface could be used to give the user access to the content under + the cursor. If the client only needs the identifier string of the content, + there is no need to first create the content object, then to obtain the + string from it and after that to release the content. + + @version 1.0 + @see XContent + @see XContentIdentifier +*/ + +published interface XContentAccess : com::sun::star::uno::XInterface +{ + /** returns the identifier string of the content ( "cheap method" ). + + <p>Note that this string can be used later to recreate the content. + + @returns + the identifier string. + */ + string queryContentIdentifierString(); + + /** returns the identifier object of the content. + + @returns + the identifier object. + */ + XContentIdentifier queryContentIdentifier(); + + /** returns the content ( "most expensive method" ). + + @returns + the content. + */ + XContent queryContent(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentCreator.idl b/offapi/com/sun/star/ucb/XContentCreator.idl new file mode 100644 index 000000000..1283ac07a --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentCreator.idl @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentCreator_idl__ +#define __com_sun_star_ucb_XContentCreator_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/ContentInfo.idl> +#include <com/sun/star/ucb/XContent.idl> + + + +module com { module sun { module star { module ucb { + +/** A creator for new (persistent) contents, like file system folders. + + <p>Creation of a new (persistent) content: + <ol> + <li>creatabletypes = creator.queryCreatableContentsInfo() + <li>choose a suitable type from creatabletypes + <li>newObject = creator.createNewContent( type ) + <li>initialize the new object (i.e. newObject.Property1 = ...) + <li>let the new content execute the command "insert". That command + commits the data and makes the new content persistent. + </ol> + + @deprecated + + <p>This interface is deprecated. Use Content property + "CreatableContentsInfo" and command "createNewContent" instead. + + @version 1.0 + @see XContent + @see XCommandProcessor +*/ +published interface XContentCreator: com::sun::star::uno::XInterface +{ + /** returns a list with information about the creatable contents. + + @returns + the list with information about the creatable contents. + */ + sequence<com::sun::star::ucb::ContentInfo> queryCreatableContentsInfo(); + + /** creates a new content of given type. + + @param Info + the content information. + + @returns + the new content, if operation was successful. + */ + com::sun::star::ucb::XContent createNewContent( + [in] com::sun::star::ucb::ContentInfo Info ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentEventListener.idl b/offapi/com/sun/star/ucb/XContentEventListener.idl new file mode 100644 index 000000000..61cd24d77 --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentEventListener.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentEventListener_idl__ +#define __com_sun_star_ucb_XContentEventListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/ucb/ContentEvent.idl> + + +module com { module sun { module star { module ucb { + +/** a listener for events related to XContents. + + @version 1.0 + @see XContent +*/ +published interface XContentEventListener: com::sun::star::lang::XEventListener +{ + /** gets called whenever a content wishes to notify changes. + + @param evt + the event. + */ + void contentEvent( [in] ContentEvent evt ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentIdentifier.idl b/offapi/com/sun/star/ucb/XContentIdentifier.idl new file mode 100644 index 000000000..e1d6dbe4c --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentIdentifier.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentIdentifier_idl__ +#define __com_sun_star_ucb_XContentIdentifier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module ucb { + +/** An identifier for contents. + + @version 1.0 + @see XContent +*/ +published interface XContentIdentifier: com::sun::star::uno::XInterface +{ + /** returns the content identifier string. + + @returns + the content identifier string. This must be a valid URI + (Uniform Resource Identifier, see RFC 2396). This string + is required. If a content provider "implements" some + existent URI scheme (e.g., a content provider offering + access to a file system would implement the "file" scheme, + and a content provider offering access to IMAP servers + would implement the "imap" scheme), the content identifier + strings should use that scheme. If on the other hand a + content provider offers access to content for which no + appropriate URI scheme exists, a vendor-specific URL scheme + starting with "vnd." must be created (see the Internet Draft + draft-king-vnd-urlscheme-00.txt). + */ + string getContentIdentifier(); + + /** returns the content provider scheme string. + + <p>This string will be calculated from the content identifier string + and must be lower-cased(!). It is the "scheme" the content provider is + registered for. In example, a provider for FTP contents will use + ftp-URLs as content identifiers. The content provider scheme for all + contents provided by that provider will be "ftp". + </p> + + @returns + the content provider scheme string. + */ + string getContentProviderScheme(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl b/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl new file mode 100644 index 000000000..570b53f32 --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentIdentifierFactory.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentIdentifierFactory_idl__ +#define __com_sun_star_ucb_XContentIdentifierFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XContentIdentifier.idl> + + + +module com { module sun { module star { module ucb { + +/** A factory for content identifiers. + + @version 1.0 + @see XContentIdentifier +*/ +published interface XContentIdentifierFactory: com::sun::star::uno::XInterface +{ + /** creates an identifier. + + @param ContentId + the content identifier string. + + @returns + the identifier. + */ + com::sun::star::ucb::XContentIdentifier createContentIdentifier( [in] string ContentId ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl b/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl new file mode 100644 index 000000000..3bf1dd3df --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentIdentifierMapping.idl @@ -0,0 +1,110 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentIdentifierMapping_idl__ +#define __com_sun_star_ucb_XContentIdentifierMapping_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module ucb { + + published interface XContent; + published interface XContentIdentifier; + +/** A mapping from a (source) set of XContentIdentifiers to + another (target) set of XContentIdentifiers. + + <p>For convenience and performance, mapping between the string + representations of source/target XContentIdentifiers, as well as mapping + between XContents identified by source/target + XContentIdentifiers is also supported. + + <p>This interface can be useful in cases where the identifiers (and + associated contents) returned by the various methods of an + XContentAccess need to be mapped to some other space of + identifiers (and associated contents). + + @see XContent + @see XContentAccess + @see XContentIdentifier +*/ + +published interface XContentIdentifierMapping: com::sun::star::uno::XInterface +{ + /** Map the string representation of an XContentIdentifier. + + @param Source The string representation of an XContentIdentifier + from the source set. + + @returns The string representation of the target set's + XContentIdentifier corresponding to the source identifier. The + returned string may be empty if either Source was empty already, or if + there's no applicable target to map to. + */ + string mapContentIdentifierString([in] string Source); + + /** Map an XContentIdentifier. + + @param Source An XContentIdentifier from the source set. + + @returns The target set's XContentIdentifier corresponding to the + source identifier. The returned XContentIdentifier may be null if + either Source was null already, or if there's no applicable target to + map to. + */ + XContentIdentifier mapContentIdentifier([in] XContentIdentifier Source); + + /** Map the XContent identified by an + XContentIdentifier. + + @param Source The XContent identified by an XContentIdentifier from + the source set. + + @returns The XContent identified by the target set's + XContentIdentifier corresponding to the source identifier. The + returned XContent may be null if either Source was null already, or if + there's no applicable target to map to. + */ + XContent mapContent([in] XContent Source); + + /** Map the content identifiers (or related data) contained in the columns + of a com::sun::star::sdbc::XRow. + + @param Value On input, a sequence of anys corresponding to the columns + of the XRow (the first column goes into the zeroth position of the + sequence, and so on). On output, the same sequence, but with the + entries mapped as necessary. This is an inout parameter rather than a + combination of in parameter and return value for performance reasons + (assuming that in most cases most elements in the input sequence will + be returned unmodified). + + @returns `TRUE` if any of the columns contain data that (potentially) + needs mapping (though maybe no mapping occurred for the concrete input + data of this call). This information can be useful to decide whether, + for another row, a call to this function is at all necessary. + */ + boolean mapRow([inout] sequence< any > Value); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentProvider.idl b/offapi/com/sun/star/ucb/XContentProvider.idl new file mode 100644 index 000000000..7a3b11606 --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentProvider.idl @@ -0,0 +1,80 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentProvider_idl__ +#define __com_sun_star_ucb_XContentProvider_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XContentIdentifier.idl> +#include <com/sun/star/ucb/XContent.idl> +#include <com/sun/star/ucb/IllegalIdentifierException.idl> + + +module com { module sun { module star { module ucb { + +/** a content provider which creates and manages XContents. + + @version 1.0 + @see XContent + @see XContentIdentifier +*/ +published interface XContentProvider: com::sun::star::uno::XInterface +{ + /** creates a new XContent instance, if the given + XContentIdentifier matches a content provided by the + implementation of this interface. + + @param Identifier + an identifier for the content to query. + + @returns + the content. + + @throws IllegalIdentifierException + if the given identifier does not match a content provided by the + implementation of this interface + */ + com::sun::star::ucb::XContent queryContent( + [in] com::sun::star::ucb::XContentIdentifier Identifier ) + raises ( com::sun::star::ucb::IllegalIdentifierException ); + + /** compares two XContentIdentifiers. + + @param Id1 + first content identifier. + + @param Id2 + second content identifier. + + @returns + <code>0</code> is returned, if the identifiers are equal. + A value less than <code>0</code> indicates, that the Id1 + is less than Id2. A value greater than <code>0</code> + is returned, if Id1 is greater than Id2. + */ + long compareContentIds( + [in] com::sun::star::ucb::XContentIdentifier Id1, + [in] com::sun::star::ucb::XContentIdentifier Id2 ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentProviderFactory.idl b/offapi/com/sun/star/ucb/XContentProviderFactory.idl new file mode 100644 index 000000000..f0ae2d265 --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentProviderFactory.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentProviderFactory_idl__ +#define __com_sun_star_ucb_XContentProviderFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** a factory for a XContentProvider. + + @version 1.0 + @see XContentProvider +*/ +published interface XContentProviderFactory : com::sun::star::uno::XInterface +{ + /** creates a XContentProvider implementation object. + + @param Service + the name of the UNO service to be used to create the implementation of + the content provider. + + @returns + a content provider. + */ + XContentProvider createContentProvider( [in] string Service ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentProviderManager.idl b/offapi/com/sun/star/ucb/XContentProviderManager.idl new file mode 100644 index 000000000..f54e8ab6b --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentProviderManager.idl @@ -0,0 +1,159 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentProviderManager_idl__ +#define __com_sun_star_ucb_XContentProviderManager_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XContentProvider.idl> +#include <com/sun/star/ucb/DuplicateProviderException.idl> +#include <com/sun/star/ucb/ContentProviderInfo.idl> + + + +module com { module sun { module star { module ucb { + +/** makes it possible to query/register/deregister content providers. + + @version 1.0 + @see XContentProvider +*/ +published interface XContentProviderManager: com::sun::star::uno::XInterface +{ + /** registers a content provider for a specific URL template. + + @see XContentIdentifier + + @param Provider + the content provider to register. + + <p>This may be `NULL`, in which case a later + XContentProvider::queryContent() with an + XContentIdentifier that matches the <var>Scheme</var> + will simply return `NULL`. These "dummy" content providers are useful + in combination with other content providers that are registered on a + wildcard URL template: For example, imagine that you want to route all + http URLs to a HTTP content provider, but want to block all URLs for + the server <code>www.dont.go</code>. One solution would be to register + the HTTP content provider on the <var>Scheme</var> <code>http</code>, + and to register a "dummy" (i.e., `NULL`) content provider on the + <var>Scheme</var> <code>"http://www.dont.go"([/?#].*)?</code>. + + @param Scheme + the URL scheme for the provided contents. More generally, this may not + only be a URL scheme, but a URL template. + + <p>A URL template is a regular expression (represented as a string) that + specifies a subset of the set of all possible URLs (this subset + consists of exactly those URLs that match the regular expression). The + language to denote the regular expressions is initially quite limited, + but it may be extended in the future: + + <p><ul> + <li><code>regexp = scheme / simple / translation</code></li> + <li><code>scheme = ALPHA *(ALPHA / DIGIT / "+" / "-" / ".")</code></li> + <li><code>simple = simple-prefix / simple-authority / simple-domain</code></li> + <li><code>translation = trans-prefix / trans-authority / trans-domain</code></li> + <li><code>simple-prefix = [string] ".*"</code></li> + <li><code>trans-prefix = [string] "(.*)->" [string] "\1"</code></li> + <li><code>simple-authority = [string] "([/?#].*)?"</code></li> + <li><code>trans-authority = [string] "(([/?#].*)?)->" string "\1"</code></li> + <li><code>simple-domain = [string] "[^/?#]*" string "([/?#].*)?"</code></li> + <li><code>trans-domain = [string] "([^/?#]*" string "([/?#].*)?)->" string "\1"</code></li> + <li><code>string = DQUOTE 1*(schar / sescape) DQUOTE ; DQUOTE is "</code></li> + <li><code>schar = < any UTF-16 character except " or \></code></li> + <li><code>sescape = "\" (DQUOTE / "\")</code></li> + </ul> + + <p>A <code><scheme>:</code> matches any URL of exactly the given + scheme (ignoring case), keeping the extension from URL schemes to URL + templates backwards compatible. The <code><simple>:</code> + regexps match any URL starting with a given string literal, followed + by arbitrary characters (<code><simple-prefix>:</code>), or + by arbitrary characters that start with one of '/', '?', or '#', if any + (<code><simple-authority>:</code>), or by arbitrary characters not + including any of '/', '?', or '#', followed by a given string literal, + followed by arbitrary characters that start with one of '/', '?', or + '#', if any. The comparison of string literals is done ignoring the + case of ASCII letters. The <code><translation>:</code> regexps + match the same URLs as their <code><simple>:</code> counterparts, + but they also describe how a (local) URL is mapped to another (remote) + URL. This mapping is only relevant for methods of the + RemoteAccessContentProvider's + XParameterizedContentProvider interface; in all other + cases, <code><translation>:</code> regexps have the same semantics + as their <code><simple>:</code> counterparts. + + @param ReplaceExisting + `TRUE`: replace the provider possibly registered for the given URL + template. The replaced provider will not be deregistered automatically! + If the superseding provider gets deregistered, the superseded one will + become active again. + <p>`FALSE`: do not register, if another provider is already registered + for the given URL template. + + @returns + the replaced content provider, if there was one. + */ + com::sun::star::ucb::XContentProvider registerContentProvider( + [in] com::sun::star::ucb::XContentProvider Provider, + [in] string Scheme, + [in] boolean ReplaceExisting ) + raises( com::sun::star::ucb::DuplicateProviderException ); + + /** deregisters a content provider. + + @param Provider + a content provider to deregister. + + @param Scheme + the URL scheme for the provided contents. More generally, this + may not only be a URL scheme, but a URL template (see + registerContentProvider() for a discussion of URL + templates). + */ + void deregisterContentProvider( + [in] com::sun::star::ucb::XContentProvider Provider, + [in] string Scheme ); + + /** returns a list of information on all registered content providers. + + @returns + a list information on content providers. + */ + sequence<com::sun::star::ucb::ContentProviderInfo> queryContentProviders(); + + /** returns the currently active content provider for a content + identifier. + + @param Identifier + a content identifier (i.e., a URL). + + @returns + a content provider, or null. + */ + com::sun::star::ucb::XContentProvider queryContentProvider( + [in] string Identifier ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentProviderSupplier.idl b/offapi/com/sun/star/ucb/XContentProviderSupplier.idl new file mode 100644 index 000000000..1c0caf263 --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentProviderSupplier.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentProviderSupplier_idl__ +#define __com_sun_star_ucb_XContentProviderSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** a supplier for a content provider. + + @version 1.0 + @see XContentProvider +*/ +published interface XContentProviderSupplier : com::sun::star::uno::XInterface +{ + /** returns a content provider. + + @returns + a content provider. + */ + com::sun::star::ucb::XContentProvider getContentProvider(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XContentTransmitter.idl b/offapi/com/sun/star/ucb/XContentTransmitter.idl new file mode 100644 index 000000000..f92516b2d --- /dev/null +++ b/offapi/com/sun/star/ucb/XContentTransmitter.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XContentTransmitter_idl__ +#define __com_sun_star_ucb_XContentTransmitter_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module ucb { + +/** + @deprecated + + @version 1.0 + @see +*/ + +published interface XContentTransmitter: com::sun::star::uno::XInterface +{ + void transmit( [in] string Source, + [in] string Destination, + [in] long Flags ); + + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XDataContainer.idl b/offapi/com/sun/star/ucb/XDataContainer.idl new file mode 100644 index 000000000..ca0a30ab5 --- /dev/null +++ b/offapi/com/sun/star/ucb/XDataContainer.idl @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XDataContainer_idl__ +#define __com_sun_star_ucb_XDataContainer_idl__ + +#include <com/sun/star/container/XIndexContainer.idl> + + + +module com { module sun { module star { module ucb { + +/** specifies a container for (binary) data. + + <p>A data container may contain data and/or other data containers. + A typical container with children is a MIME message with + attachments. + + @version 1.0 + + @deprecated +*/ +published interface XDataContainer: com::sun::star::container::XIndexContainer +{ + /** returns the content type (MIME Type) of the data container. + + @returns + the content type + */ + string getContentType(); + + /** sets the content type (MIME Type) of the data container. + + @param aType + the content type + */ + void setContentType( [in] string aType ); + + /** returns the data of the data container. + + @returns + the data + */ + sequence<byte> getData(); + + /** sets the data of the data container. + + @param aData + the data + */ + void setData( [in] sequence<byte> aData ); + + /** Deprecated. Do not use! + + @deprecated + */ + string getDataURL(); + + /** Deprecated. Do not use! + + @deprecated + */ + void setDataURL( [in] string aURL ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XDynamicResultSet.idl b/offapi/com/sun/star/ucb/XDynamicResultSet.idl new file mode 100644 index 000000000..f84b81235 --- /dev/null +++ b/offapi/com/sun/star/ucb/XDynamicResultSet.idl @@ -0,0 +1,177 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XDynamicResultSet_idl__ +#define __com_sun_star_ucb_XDynamicResultSet_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XDynamicResultSetListener.idl> +#include <com/sun/star/ucb/ListenerAlreadySetException.idl> +#include <com/sun/star/sdbc/XResultSet.idl> +#include <com/sun/star/ucb/AlreadyInitializedException.idl> +#include <com/sun/star/ucb/ServiceNotFoundException.idl> + + +module com { module sun { module star { module ucb { + +/** Provides read access to a ContentResultSet. + + <p> + You can either get a simple static ContentResultSet or you can + listen to change-notifications and then swap from the old to a new + ContentResultSet. + </p> + + <p>The following describes the dynamic use:</p> + + <p> + XDynamicResultSet provides the possibility to get notifications + about changes on a ContentResultSet and have an + listener-controlled update from one version to the next version. Two + ContentResultSet implementations were given to the listener in + the first notification as interface + com::sun::star::sdbc::XResultSet. + </p> + + <p> + To get notifications the listener has to be of type + XDynamicResultSetListener. + </p> + + <p> + After registration you will get notifications for events of type + ListEvent. + </p> + + <p> + The calling of XDynamicResultSetListener::notify() has + to happen in an own thread, because it could take a longer time and any + actions ??? until the listener returns the call. So don't block the notify-causing + action. + </p> + + <p> + While one notify-call is going on: + </p> + + <ol> + <li> The listener is allowed to access both ContentResultSets, + they must be both valid.</li> + <li> It is not allowed to start a second notify-call.</li> + <li> All additional things we want to send as notification are to be + queued.</li> + <li> Any other calls are to be accepted and treated.</li> + </ol> + + <p> + After the listener has returned the notify-call: + </p> + + <ol> + <li> The listener is allowed to access the new + ContentResultSet. The new one is first assigned in the + WELCOME-event and then the ResultSets are always swapped.</li> + <li> The listener is not allowed to access the old + ContentResultSet.</li> + </ol> +*/ + +published interface XDynamicResultSet: com::sun::star::lang::XComponent +{ + /** Call this, if you don't care about any changes. + + @returns + a com::sun::star::sdbc::XResultSet that is + implemented as ContentResultSet. Its content will never + change. + + @throws ListenerAlreadySetException + if someone already has registered as listener via + XDynamicResultSet::setListener() or if someone has + established a connection to a CachedDynamicResultSet + via XDynamicResultSet::connectToCache(). + */ + com::sun::star::sdbc::XResultSet getStaticResultSet() + raises( com::sun::star::ucb::ListenerAlreadySetException ); + + /** Call this, if you want to get notifications about changes. + + <p>The implementor has to call + com::sun::star::lang::XComponent::addEventListener() + in this method, so that we can call + com::sun::star::lang::XEventListener::disposing() + at the listener + + @param Listener + a listener for result set notifications + + @throws ListenerAlreadySetException + if this method is called more than once during the life of the + implementation object or if this method is called if someone already + has fetched the ContentResultSet via + XDynamicResultSet::getStaticResultSet(). + + */ + void setListener( [in] XDynamicResultSetListener Listener ) + raises( com::sun::star::ucb::ListenerAlreadySetException ); + + /** Connects this to a CachedDynamicResultSet for optimized + remote data transport. + + <p>This method creates a CachedDynamicResultSetStub + and sets it as Source to the given cache. + + <p>After this method has returned you can and have to use the given + result set cache for further access. + + @param Cache + has to be an implementation of the service + CachedDynamicResultSet. In particular it has to support + the interface XSourceInitialization. + + @throws ListenerAlreadySetException + if someone already has fetched the ContentResultSet via + XDynamicResultSet::getStaticResultSet(). + + @throws AlreadyInitializedException + if <var>Cache</var> was already initialized with another source. + + @throws ServiceNotFoundException + */ + void connectToCache( [in] XDynamicResultSet Cache ) + raises( com::sun::star::ucb::ListenerAlreadySetException + , com::sun::star::ucb::AlreadyInitializedException + , com::sun::star::ucb::ServiceNotFoundException ); + + /** Using this method you can get information, whether the offered + ContentResultSets are sorted or filtered etc correctly as + demanded during the creation of the XDynamicResultSet. + + @returns + zero or more constants of the ContentResultSetCapability + constants group. + */ + short getCapabilities(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl b/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl new file mode 100644 index 000000000..ddf977a97 --- /dev/null +++ b/offapi/com/sun/star/ucb/XDynamicResultSetListener.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XDynamicResultSetListener_idl__ +#define __com_sun_star_ucb_XDynamicResultSetListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/ucb/ListEvent.idl> + + +module com { module sun { module star { module ucb { + +/** used to receive notifications from an XDynamicResultSet. +*/ + +published interface XDynamicResultSetListener: com::sun::star::lang::XEventListener +{ + /** A method used to propagate changes of a result set. + + <p>In the first notify-call the listener gets two(!) + com::sun::star::sdbc::XResultSets and has to hold + them. The com::sun::star::sdbc::XResultSets are + implementations of the service ContentResultSet. + + <p>The notified new + com::sun::star::sdbc::XResultSet will stay valid + after returning from this method. The old one will become invalid after + returning. + + <p>While in notify-call the listener is allowed to read from old and + new result set, except in the first call, where only the new result set + is valid. + + <p>The Listener is allowed to stay (block) this call, until he really + wants to use the new result set. The only situation, where the listener + has to return immediately is while he disposes his broadcaster or while + he is removing himself as listener (otherwise you deadlock)!!! + + @param Changes + the changes to notify. + */ + void notify( [in] ListEvent Changes ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XFetchProvider.idl b/offapi/com/sun/star/ucb/XFetchProvider.idl new file mode 100644 index 000000000..2d0a28d99 --- /dev/null +++ b/offapi/com/sun/star/ucb/XFetchProvider.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XFetchProvider_idl__ +#define __com_sun_star_ucb_XFetchProvider_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/FetchResult.idl> + + +module com { module sun { module star { module ucb { + +/** provides the possibility to get the contents of the columns of several + rows of a ContentResultSet with a single function call. +*/ + +published interface XFetchProvider: com::sun::star::uno::XInterface +{ + /** returns the contents of the columns of the indicated rows + + @returns + FetchResult::Rows contains a sequence of anys. Each + of these anys contains a sequence of anys. + + @param nRowStartPosition + the starting row of the result set + + @param nRowCount + the count of rows + + @param bDirection + `TRUE`, if you want the rows to be read in the same order, as they + are contained in the result set ( `TRUE` <-> forward step; + `FALSE` <-> backward step ) + */ + com::sun::star::ucb::FetchResult fetch( [in] long nRowStartPosition + , [in] long nRowCount + , [in] boolean bDirection ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl b/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl new file mode 100644 index 000000000..a0690b440 --- /dev/null +++ b/offapi/com/sun/star/ucb/XFetchProviderForContentAccess.idl @@ -0,0 +1,108 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XFetchProviderForContentAccess_idl__ +#define __com_sun_star_ucb_XFetchProviderForContentAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/FetchResult.idl> + + +module com { module sun { module star { module ucb { + +/** provides the possibility to load information offered by a + XContentAccess for several rows of a + ContentResultSet with a single function call. +*/ +published interface XFetchProviderForContentAccess: com::sun::star::uno::XInterface +{ + /** returns the content identifier strings of the columns of the indicated + rows + + @returns + FetchResult::Rows contains a sequence of anys. Each + of these anys contains a string. + + @param nRowStartPosition + the starting row of the result set + + @param nRowCount + the count of rows + + @param bDirection + `TRUE`, if you want the rows to be read in the same order, as they + are contained in the result set ( `TRUE` <-> forward step; + `FALSE` <-> backward step ) + */ + com::sun::star::ucb::FetchResult + fetchContentIdentifierStrings( [in] long nRowStartPosition + , [in] long nRowCount + , [in] boolean bDirection ); + + /** returns the XContentIdentifiers of the columns of the + indicated rows + + @returns + FetchResult::Rows contains a sequence of anys. Each + of these anys contains an XContentIdentifier. + + @param nRowStartPosition + the starting row of the result set + + @param nRowCount + the count of rows + + @param bDirection + `TRUE`, if you want the rows to be read in the same order, as they + are contained in the result set ( `TRUE` <-> forward step; + `FALSE` <-> backward step ) + */ + com::sun::star::ucb::FetchResult + fetchContentIdentifiers( [in] long nRowStartPosition + , [in] long nRowCount + , [in] boolean bDirection ); + + /** returns the XContent s of the columns of the indicated rows + + @returns + FetchResult::Rows contains a sequence of anys. Each + of these anys contains an XContent. + + @param nRowStartPosition + the starting row of the result set + + @param nRowCount + the count of rows + + @param bDirection + `TRUE`, if you want the rows to be read in the same order, as they + are contained in the result set ( `TRUE` <-> forward step; + `FALSE` <-> backward step ) + */ + com::sun::star::ucb::FetchResult + fetchContents( [in] long nRowStartPosition + , [in] long nRowCount + , [in] boolean bDirection ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl b/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl new file mode 100644 index 000000000..618cfa33b --- /dev/null +++ b/offapi/com/sun/star/ucb/XFileIdentifierConverter.idl @@ -0,0 +1,85 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XFileIdentifierConverter_idl__ +#define __com_sun_star_ucb_XFileIdentifierConverter_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module ucb { + +/** specifies methods to convert between (file) URLs and file paths in system + dependent notation. + + @version 1.0 +*/ +published interface XFileIdentifierConverter : com::sun::star::uno::XInterface +{ + /** Get information about the "locality" of a file content provider. + + <p>The returned information can be used to choose the "best" among a + number of file content providers implementing this interface. + + @param BaseURL + the base (file) URL used to specify a file content provider. + + @returns + an appropriate value representing the "locality" of the specified file + content provider. Generally, higher (non-negative) numbers denote + file content providers that are more "local", and negative numbers + denote content providers that are not file content providers at all. + As a convention (and to keep this useful), values should be restricted + to the range from -1 to +10, inclusive. + */ + long getFileProviderLocality( [in] string BaseURL ); + + /** converts a file path in system dependent notation to a (file) URL. + + @param BaseURL + the base (file) URL relative to which the file path shall be + interpreted. + + @param SystemPath + a file path in system dependent notation. + + @returns + the URL corresponding to the file path, or an empty string if the file + path cannot be converted into a URL. + */ + string getFileURLFromSystemPath( [in] string BaseURL, + [in] string SystemPath ); + + /** converts a (file) URL to a file path in system dependent notation. + + @param URL + a (file) URL. + + @returns + the file path corresponding to the URL, or an empty string if the URL + cannot be converted into a file path. + */ + string getSystemPathFromFileURL( [in] string URL ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XInteractionAuthFallback.idl b/offapi/com/sun/star/ucb/XInteractionAuthFallback.idl new file mode 100644 index 000000000..3a70c813b --- /dev/null +++ b/offapi/com/sun/star/ucb/XInteractionAuthFallback.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef __com_sun_star_task_XInteractionApprove_idl__ +#define __com_sun_star_task_XInteractionApprove_idl__ + +#include <com/sun/star/task/XInteractionContinuation.idl> + + + + module com { module sun { module star { module ucb { + +/** An interaction continuation specifying authentication success. + + @since LibreOffice 4.4 + */ +interface XInteractionAuthFallback: com::sun::star::task::XInteractionContinuation +{ + /* Authentication code submitted by the user */ + void setCode( [in] string code ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl b/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl new file mode 100644 index 000000000..db3386a94 --- /dev/null +++ b/offapi/com/sun/star/ucb/XInteractionHandlerSupplier.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XInteractionHandlerSupplier_idl__ +#define __com_sun_star_ucb_XInteractionHandlerSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module ucb { + +/** This interface should be implemented by an internal + XCommandEnvironment that can not supply an + com::sun::star::task::XInteractionHandler, but instead + wants interaction requests to be handled by other internal error handling + mechanism. +*/ +published interface XInteractionHandlerSupplier: com::sun::star::uno::XInterface +{ + /** Returns whether an + com::sun::star::task::XInteractionHandler can be + supplied. + + @returns + `TRUE`, if an + com::sun::star::task::XInteractionHandler can be + supplied, `FALSE` otherwise. + */ + boolean hasInteractionHandler(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl b/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl new file mode 100644 index 000000000..fe457a74f --- /dev/null +++ b/offapi/com/sun/star/ucb/XInteractionReplaceExistingData.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XInteractionReplaceExistingData_idl__ +#define __com_sun_star_ucb_XInteractionReplaceExistingData_idl__ + +#include <com/sun/star/task/XInteractionContinuation.idl> + + +module com { module sun { module star { module ucb { + +/** is an interaction continuation used to instruct the requester to replace + existing data. + + <p>For example, this continuation can be selected when handling a + NameClashResolveRequest in order to instruct the requester + to overwrite the clashing data. + + @version 1.0 +*/ +published interface XInteractionReplaceExistingData : com::sun::star::task::XInteractionContinuation +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl new file mode 100644 index 000000000..5e0427a9b --- /dev/null +++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication.idl @@ -0,0 +1,151 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XInteractionSupplyAuthentication_idl__ +#define __com_sun_star_ucb_XInteractionSupplyAuthentication_idl__ + +#include <com/sun/star/task/XInteractionContinuation.idl> +#include <com/sun/star/ucb/RememberAuthentication.idl> + + + +module com { module sun { module star { module ucb { + +/** An interaction continuation handing back some authentication data. + + <p> This continuation is typically used in conjunction with + AuthenticationRequest. </p> +*/ +published interface XInteractionSupplyAuthentication: com::sun::star::task::XInteractionContinuation +{ + /** Specifies if a new "realm" value can be handed back. + */ + boolean canSetRealm(); + + /** Set a new "realm" value to hand back. + + <p>This method should be called before + com::sun::star::task::XInteractionContinuation::select(), + and should only be called if + XInteractionSupplyAuthentication::canSetRealm() returned + `TRUE`.</p> + */ + void setRealm( [in] string Realm ); + + /** Specifies if a "user name" value can be handed back. + */ + boolean canSetUserName(); + + /** Set a new "user name" value to hand back. + + <p>This method should be called before + com::sun::star::task::XInteractionContinuation::select(), + and should only be called if + XInteractionSupplyAuthentication::canSetUserName() + returned `TRUE`.</p> + */ + void setUserName( [in] string UserName ); + + /** Specifies if a "password" value can be handed back. + */ + boolean canSetPassword(); + + /** Set a new "password" value to hand back. + + <p>This method should be called before + com::sun::star::task::XInteractionContinuation::select(), + and should only be called if + XInteractionSupplyAuthentication::canSetPassword() + returned `TRUE`.</p> + */ + void setPassword( [in] string Password ); + + /** Specifies the available modes of how long to remember the password. + + @param Default + Returns the default mode (to be initially displayed to the user). + + @returns + A sequence of available modes to hand back. Each individual mode + should appear at most once in the sequence. If the sequence is empty, + a new mode cannot be handed back. + */ + sequence<com::sun::star::ucb::RememberAuthentication> getRememberPasswordModes( [out] com::sun::star::ucb::RememberAuthentication Default ); + + /** Set a new mode of how long to remember the password. + + <p>This method should be called before + com::sun::star::task::XInteractionContinuation::select(), + and should only be called if + XInteractionSupplyAuthentication::setPassword() + is also called.</p> + + @param Remember + The mode to hand back, should be contained in the sequence returned by + XInteractionSupplyAuthentication::getRememberPasswordModes(). + */ + void setRememberPassword( [in] com::sun::star::ucb::RememberAuthentication Remember ); + + /** Specifies if an "account" value can be handed back. + */ + boolean canSetAccount(); + + /** Set a new "account" value to hand back. + + <p>This method should be called before + com::sun::star::task::XInteractionContinuation::select(), + and should only be called if + XInteractionSupplyAuthentication::canSetAccount() + returned `TRUE`.</p> + + */ + void setAccount( [in] string Account ); + + /** Specifies the available modes of how long to remember the account. + + @param Default Returns the default mode (to be initially displayed to + the user). + + @returns A sequence of available modes to hand back. Each individual + mode should appear at most once in the sequence. If the sequence is + empty, a new mode cannot be handed back. + */ + sequence<com::sun::star::ucb::RememberAuthentication> getRememberAccountModes( [out] com::sun::star::ucb::RememberAuthentication Default ); + + /** Set a new mode of how long to remember the account. + + <p>This method should be called before + com::sun::star::task::XInteractionContinuation::select(), + and should only be called if + XInteractionSupplyAuthentication::setAccount() + is also called.</p> + + @param Remember The mode to hand back, should be contained in the + sequence returned by + XInteractionSupplyAuthentication::getRememberAccountModes(). + */ + void setRememberAccount( [in] com::sun::star::ucb::RememberAuthentication Remember ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl new file mode 100644 index 000000000..9b13d1fed --- /dev/null +++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XInteractionSupplyAuthentication2_idl__ +#define __com_sun_star_ucb_XInteractionSupplyAuthentication2_idl__ + +#include <com/sun/star/ucb/XInteractionSupplyAuthentication.idl> + + + + +module com { module sun { module star { module ucb { + +/** An interaction continuation handing back some authentication data. + + <p> This continuation is typically used in conjunction with + AuthenticationRequest. </p> + + @since OOo 3.2 +*/ +interface XInteractionSupplyAuthentication2 : XInteractionSupplyAuthentication +{ + /** Specifies if "system credentials" can be obtained and used by the issuer + of the authentication request. + + @param Default + Returns the default behavior for system credentials handling (to be + initially displayed to the user). + + @returns + `TRUE` if the issuer is able to obtain and use system credentials. + `FALSE` otherwise. + */ + boolean canUseSystemCredentials( [out] boolean Default ); + + /** Set a new "use system credentials" value to hand back. + + @param UseSystemCredentials + `TRUE` means the request issuer shall obtain and use system credentials. + */ + void setUseSystemCredentials( [in] boolean UseSystemCredentials ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyName.idl b/offapi/com/sun/star/ucb/XInteractionSupplyName.idl new file mode 100644 index 000000000..aa6df6cda --- /dev/null +++ b/offapi/com/sun/star/ucb/XInteractionSupplyName.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XInteractionSupplyName_idl__ +#define __com_sun_star_ucb_XInteractionSupplyName_idl__ + +#include <com/sun/star/task/XInteractionContinuation.idl> + + +module com { module sun { module star { module ucb { + +/** is an interaction continuation used to hand back a new name for something. + + <p>For example, this continuation can be selected when handling a + NameClashResolveRequest in order to supply a new name + for a clashing resource. + + @version 1.0 +*/ +published interface XInteractionSupplyName : com::sun::star::task::XInteractionContinuation +{ + /** sets the name to supply. + + @param Name + contains the name to supply. + */ + void setName( [in] string Name ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl b/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl new file mode 100644 index 000000000..f57d98367 --- /dev/null +++ b/offapi/com/sun/star/ucb/XParameterizedContentProvider.idl @@ -0,0 +1,98 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XParameterizedContentProvider_idl__ +#define __com_sun_star_ucb_XParameterizedContentProvider_idl__ + +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/ucb/XContentProvider.idl> +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module ucb { + +/** Register specially adjusted instances of content providers on URL + templates and supplementary arguments. + + @version 1.0 +*/ +published interface XParameterizedContentProvider: com::sun::star::uno::XInterface +{ + /** Register a content provider on a URL template and supplementary + arguments. + + @param Template A URL template. If the input is malformed or too + complex, a com::sun::star::lang::IllegalArgumentException may be raised. + + @param Arguments Any supplementary arguments required by this + XContentProvider, represented as a single string. If the + input is malformed, an + com::sun::star::lang::IllegalArgumentException + may be raised. + + @param ReplaceExisting If true, and if the given Template conflicts + with an already registered instance, the old registration is replaced + by the new one. If false, and if the given Template conflicts with an + already registered instance, the new registration is not performed, + and null is returned. + + @return Either this XContentProvider, or another, + specially adjusted version of this XContentProvider (this + flexibility allows for different implementation strategies), or null + if the given Template conflicts with an already registered instance + and ReplaceExisting is false. Note that the returned + XContentProvider must still be registered at the content + provider manager! + */ + com::sun::star::ucb::XContentProvider + registerInstance([in] string Template, + [in] string Arguments, + [in] boolean ReplaceExisting) + raises (com::sun::star::lang::IllegalArgumentException); + + /** Deregisters a content provider. + + @param Template A URL template. If the input is malformed or too + complex, an IllegalArgumentException may be raised. + + @param Arguments Any supplementary arguments required by this + XContentProvider, represented as a single string. If the + input is malformed, an + com::sun::star::lang::IllegalArgumentException + may be raised. + + @return Either this XContentProvider, or another, + specially adjusted version of this XContentProvider (this + flexibility allows for different implementation strategies), or null + if no instance is registered for the given Template. Note that the + returned XContentProvider must still be deregistered at + the content provider manager! + */ + com::sun::star::ucb::XContentProvider + deregisterInstance([in] string Template, + [in] string Arguments) + raises (com::sun::star::lang::IllegalArgumentException); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XPersistentPropertySet.idl b/offapi/com/sun/star/ucb/XPersistentPropertySet.idl new file mode 100644 index 000000000..5d64eeec7 --- /dev/null +++ b/offapi/com/sun/star/ucb/XPersistentPropertySet.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XPersistentPropertySet_idl__ +#define __com_sun_star_ucb_XPersistentPropertySet_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module ucb { + +// forward. + published interface XPropertySetRegistry; + +/** A persistent property set, which can be saved in and restored from a + XPropertySetRegistry. + + @version 1.0 + */ +published interface XPersistentPropertySet : com::sun::star::beans::XPropertySet +{ + /** returns the registry used to store the property set. + + @returns + The registry. + */ + com::sun::star::ucb::XPropertySetRegistry getRegistry(); + + /** returns the key used to address the set in the property set registry. + + @returns + The key. + */ + string getKey(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XProgressHandler.idl b/offapi/com/sun/star/ucb/XProgressHandler.idl new file mode 100644 index 000000000..bfa4d5644 --- /dev/null +++ b/offapi/com/sun/star/ucb/XProgressHandler.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XProgressHandler_idl__ +#define __com_sun_star_ucb_XProgressHandler_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module ucb { + +/** Handle a tasks notification that it has made some progress. +*/ +published interface XProgressHandler: com::sun::star::uno::XInterface +{ + /** The task notifies the handler that it has started some new activity + (possibly a sub-activity of another activity already making progress; + therefore, these notifications behave in a stack-like manner). + + @param Status An object representing the new activity. There has to + be an agreement between caller and callee of methods + XProgressHandler::push() and + XProgressHandler::update() as to which Status + arguments are meaningful. For example, a `string` argument + to XProgressHandler::push() should be used to transport + some status text that describes the progress being made (possibly + followed by one or more XProgressHandler::update()s with + `string` arguments, if the appropriate status text changes + as progress is being made). + */ + void push([in] any Status); + + /** The task notifies the handler that its current activity is making + progress. + + @param Status An object representing the progress made. See the + documentation of XProgressHandler::push() for more + information. + */ + void update([in] any Status); + + /** The task notifies the handler that it has finished its current + activity. + */ + void pop(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XPropertyMatcher.idl b/offapi/com/sun/star/ucb/XPropertyMatcher.idl new file mode 100644 index 000000000..de77c7f74 --- /dev/null +++ b/offapi/com/sun/star/ucb/XPropertyMatcher.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XPropertyMatcher_idl__ +#define __com_sun_star_ucb_XPropertyMatcher_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandEnvironment.idl> + + +module com { module sun { module star { module ucb { + +/** Checks whether a set of properties matches a set of search criteria. + + @see XPropertyMatcherFactory. +*/ +published interface XPropertyMatcher : com::sun::star::uno::XInterface +{ + /** Checks whether a set of properties matches the given search criteria. + + @param Properties + A Command Processor through which the set of properties is accessible. + + @param Environment + The environment to use when accessing the property set via the given + Command Processor. It may be null. + + @returns + `TRUE` if the properties match, `FALSE` otherwise. + */ + boolean matches([in] com::sun::star::ucb::XCommandProcessor Properties, + [in] com::sun::star::ucb::XCommandEnvironment Environment); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl b/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl new file mode 100644 index 000000000..4d3d0fce8 --- /dev/null +++ b/offapi/com/sun/star/ucb/XPropertyMatcherFactory.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XPropertyMatcherFactory_idl__ +#define __com_sun_star_ucb_XPropertyMatcherFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XPropertyMatcher.idl> +#include <com/sun/star/ucb/SearchCriterium.idl> + + +module com { module sun { module star { module ucb { + +/** Creates an XPropertyMatcher, given a set of search criteria. +*/ +published interface XPropertyMatcherFactory : com::sun::star::uno::XInterface +{ + /** Creates an XPropertyMatcher. + + @param Criteria + The set of search criteria the returned XPropertyMatcher will use. + + @returns + An XPropertyMatcher with the given search criteria. + */ + com::sun::star::ucb::XPropertyMatcher createPropertyMatcher( + [in] sequence<com::sun::star::ucb::SearchCriterium> Criteria); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XPropertySetRegistry.idl b/offapi/com/sun/star/ucb/XPropertySetRegistry.idl new file mode 100644 index 000000000..d812e8abc --- /dev/null +++ b/offapi/com/sun/star/ucb/XPropertySetRegistry.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XPropertySetRegistry_idl__ +#define __com_sun_star_ucb_XPropertySetRegistry_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XPersistentPropertySet.idl> + + +module com { module sun { module star { module ucb { + +/** A registry (storage medium) for persistent property sets. + + @version 1.0 + @see XPersistentPropertySet + */ +published interface XPropertySetRegistry : com::sun::star::uno::XInterface +{ + /** creates a new or opens an existing property set in the registry. + + @param key + The key to use for addressing the property set. + + @param create + Indicates whether a new set shall be created in case there + does not already exist one for the given key. + + @returns + The property set. + */ + com::sun::star::ucb::XPersistentPropertySet + openPropertySet( [in] string key, [in] boolean create ); + + /** removes a property set from the registry. + + @param key + The key to use for addressing the property set. + */ + void removePropertySet( [in] string key ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl b/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl new file mode 100644 index 000000000..0e9f856b9 --- /dev/null +++ b/offapi/com/sun/star/ucb/XPropertySetRegistryFactory.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XPropertySetRegistryFactory_idl__ +#define __com_sun_star_ucb_XPropertySetRegistryFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XPropertySetRegistry.idl> + + +module com { module sun { module star { module ucb { + +/** A factory for property set registries. + + @version 1.0 + */ +published interface XPropertySetRegistryFactory : com::sun::star::uno::XInterface +{ + /** creates a property set registry. + + @param URL + The identifier of the registry to create ( e.g. file-URL ). The + value can be an empty string. + + @returns + The registry. + */ + com::sun::star::ucb::XPropertySetRegistry createPropertySetRegistry( + [in] string URL ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRecycler.idl b/offapi/com/sun/star/ucb/XRecycler.idl new file mode 100644 index 000000000..c201153dc --- /dev/null +++ b/offapi/com/sun/star/ucb/XRecycler.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XRecycler_idl__ +#define __com_sun_star_ucb_XRecycler_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XContentIdentifier.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> + + +module com { module sun { module star { module ucb { + +/** Allows an XContent to delete itself into the trash can. + + <p>This is an additional interface the XContent representing the trash + can (URL: "vnd.sun.staroffice.trashcan:///") should support. +*/ +published interface XRecycler : com::sun::star::uno::XInterface +{ + /** Notify the trash can that an XContent is deleting itself + into it. + + @param Properties + The trash can uses this interface to access the properties of the + content being deleted, to copy them for later display etc. The + trash can will not use the interface after it has returned from this + method. + + @param Identifier + When the deleted content is later restored or ultimately deleted, the + trash can will use this identifier to query an XContent that it will + send the undelete or delete command to. + */ + void trashContent([in] com::sun::star::ucb::XCommandProcessor Properties, + [in] com::sun::star::ucb::XContentIdentifier Identifier); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl new file mode 100644 index 000000000..c26037f86 --- /dev/null +++ b/offapi/com/sun/star/ucb/XRemoteContentProviderAcceptor.idl @@ -0,0 +1,88 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XRemoteContentProviderAcceptor_idl__ +#define __com_sun_star_ucb_XRemoteContentProviderAcceptor_idl__ + +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module ucb { + + published interface XRemoteContentProviderDoneListener; + +/** Accept remote content providers that want to make themselves known to the + local process. + + @version 1.0 +*/ +published interface XRemoteContentProviderAcceptor: com::sun::star::uno::XInterface +{ + /** Add a remote content provider. + + @param Identifier An arbitrary identifier uniquely identifying the + remote content provider. + + @param Factory A factory through which the remote content provider's + UniversalContentBroker service can be instantiated. + + @param Templates A sequence of URL templates the remote content + provider is willing to handle. + + @param DoneListener If not null, the implementation of this interface + can---through this callback---tell the calling side that the + implementation no longer needs the remote content provider. (And the + calling side should call + XRemoteContentProviderAcceptor::removeRemoteContentProvider() + then.) + + To enable connection control, it is recommended that this argument + also implements the interface + XRemoteContentProviderConnectionControl. + + @return true if the remote content provider has successfully been + added. + */ + boolean + addRemoteContentProvider([in] string Identifier, + [in] com::sun::star::lang::XMultiServiceFactory + Factory, + [in] sequence< string > Templates, + [in] XRemoteContentProviderDoneListener + DoneListener); + + /** Remove a remote content provider. + + @param Identifier An arbitrary identifier uniquely identifying the + remote content provider. + + @return true if the remote content provider has successfully been + removed. + */ + boolean + removeRemoteContentProvider([in] string Identifier); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl new file mode 100644 index 000000000..b68c4bfeb --- /dev/null +++ b/offapi/com/sun/star/ucb/XRemoteContentProviderActivator.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XRemoteContentProviderActivator_idl__ +#define __com_sun_star_ucb_XRemoteContentProviderActivator_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module ucb { + + published interface XContentProviderManager; + +/** This interface should be implemented together with + XRemoteContentProviderAcceptor and allows for a lazy + implementation of + XRemoteContentProviderAcceptor::addRemoteContentProvider(). + + The way this works might change, therefore this interface is marked as + deprecated. + + @deprecated + */ +published interface XRemoteContentProviderActivator: com::sun::star::uno::XInterface +{ + /** Activate (i.e., register at the broker) the remote content providers + that until now have only been remembered by + XRemoteContentProviderAcceptor::addRemoteContentProvider(), + but not registered. + + <p>This allows for + XRemoteContentProviderAcceptor::addRemoteContentProvider() + to be implemented in a lazy fashion (remember the remote content + providers, but do not register them right away), which can increase + performance in certain situations. But it is not required that an + implementation of XRemoteContentProviderAcceptor uses this + lazy strategy (and thus also implements this interface). + + @return + the broker at which the remote content providers have been registered. + */ + XContentProviderManager activateRemoteContentProviders(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl new file mode 100644 index 000000000..793940554 --- /dev/null +++ b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeListener.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XRemoteContentProviderChangeListener_idl__ +#define __com_sun_star_ucb_XRemoteContentProviderChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/ucb/RemoteContentProviderChangeEvent.idl> + +module com { module sun { module star { module ucb { + +/** A listener interested in changes to a + com::sun::star::ucb::XRemoteContentProviderSupplier. + + @version 1.0 + */ +published interface XRemoteContentProviderChangeListener: + com::sun::star::lang::XEventListener +{ + /** gets called whenever changes to a + com::sun::star::ucb::XRemoteContentProviderSupplier + occur. + + @param Event + describes the change that has occurred. + */ + void + remoteContentProviderChange([in] RemoteContentProviderChangeEvent Event); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl new file mode 100644 index 000000000..ae50ae898 --- /dev/null +++ b/offapi/com/sun/star/ucb/XRemoteContentProviderChangeNotifier.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XRemoteContentProviderChangeNotifier_idl__ +#define __com_sun_star_ucb_XRemoteContentProviderChangeNotifier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module ucb { + published interface XRemoteContentProviderChangeListener; +}; }; }; }; + +module com { module sun { module star { module ucb { + +/** Notify about changes to a XRemoteContentProviderSupplier. + + @version 1.0 + */ +published interface XRemoteContentProviderChangeNotifier: + com::sun::star::uno::XInterface +{ + /** Add a listener. + + @param Listener + Some listener. + */ + void + addRemoteContentProviderChangeListener( + [in] XRemoteContentProviderChangeListener Listener); + + /** Remove a listener. + + @param Listener + Some listener previously added via + XRemoteContentProviderChangeNotifier::addRemoteContentProviderChangeListener(). + */ + void + removeRemoteContentProviderChangeListener( + [in] XRemoteContentProviderChangeListener Listener); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl new file mode 100644 index 000000000..fb50534d3 --- /dev/null +++ b/offapi/com/sun/star/ucb/XRemoteContentProviderConnectionControl.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XRemoteContentProviderConnectionControl_idl__ +#define __com_sun_star_ucb_XRemoteContentProviderConnectionControl_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module ucb { + published interface XRemoteContentProviderAcceptor; +}; }; }; }; + +module com { module sun { module star { module ucb { + +/** A simple mechanism to find out if the connection between a remote content + provider distributor and acceptor gets lost. + + <p>This interface should be supported by the <var>DoneListener</var> + parameter of + XRemoteContentProviderAcceptor::addRemoteContentProvider(). + + @version 1.0 + */ +published interface XRemoteContentProviderConnectionControl: + com::sun::star::uno::XInterface +{ + /** Enable connection control, using as a token some object implemented on + the remote content provider acceptor's side. + + <p>The implementation of this interface must hold a reference to the + supplied token. If the connection gets lost, the reference count of + the token will drop, which the remote content provider acceptor can + observe. + + @param Acceptor + The remote content provider acceptor on the other side of the + connection. + + @param Token + Some object implemented on the remote content provider acceptor's side + of the connection. + */ + void + enableConnectionControl([in] XRemoteContentProviderAcceptor Acceptor, + [in] com::sun::star::uno::XInterface Token); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl new file mode 100644 index 000000000..922f959d0 --- /dev/null +++ b/offapi/com/sun/star/ucb/XRemoteContentProviderDistributor.idl @@ -0,0 +1,82 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XRemoteContentProviderDistributor_idl__ +#define __com_sun_star_ucb_XRemoteContentProviderDistributor_idl__ + +#include <com/sun/star/connection/ConnectionSetupException.idl> +#include <com/sun/star/connection/NoConnectException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module ucb { + +/** Distribute a content broker to various + XRemoteContentProviderAcceptors. + + @version 1.0 + @see XRemoteContentProviderAcceptor +*/ +published interface XRemoteContentProviderDistributor: com::sun::star::uno::XInterface +{ + /** Offer the local content broker to a remote content provider acceptor. + + <p> The Uno Url is handed to the + com::sun::star::bridge::UnoUrlResolver service, + which is responsible for raising any of the advertised exceptions. </p> + + @param Url A Uno Url to address the + XRemoteContentProviderAcceptor. + + @param Identifier An identifier handed to the + XRemoteContentProviderAcceptor. + + @returns success indicator. Especially, if there's already a + connection to the given Url, the call will fail, no matter whether + that connection uses the same identifier as the given one or not. + */ + boolean connectToRemoteAcceptor([in] string Url, + [in] string Identifier) + raises (com::sun::star::connection::NoConnectException, + com::sun::star::connection::ConnectionSetupException, + com::sun::star::lang::IllegalArgumentException); + + /** Undo the offering of the local content broker to a specific remote + content provider acceptor. + + @param Url A Uno Url to address the + XRemoteContentProviderAcceptor. + + @returns success indicator. + */ + boolean disconnectFromRemoteAcceptor([in] string Url); + + /** Undo the offering of the local content broker to all remote content + provider acceptors. + */ + void disconnectFromAll(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl new file mode 100644 index 000000000..d52f5a13d --- /dev/null +++ b/offapi/com/sun/star/ucb/XRemoteContentProviderDoneListener.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XRemoteContentProviderDoneListener_idl__ +#define __com_sun_star_ucb_XRemoteContentProviderDoneListener_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module ucb { + + published interface XRemoteContentProviderAcceptor; + +/** A notification mechanism that a + XRemoteContentProviderAcceptor no longer needs a remote + content provider. + + @version 1.0 +*/ +published interface XRemoteContentProviderDoneListener: com::sun::star::uno::XInterface +{ + /** A notification that all remote content providers added to the given + XRemoteContentProviderAcceptor should be removed, + because the acceptor no longer needs them. + + @param Acceptor + If null, all remote content providers added to any acceptor shall be + removed. + */ + void + doneWithRemoteContentProviders( + [in] XRemoteContentProviderAcceptor Acceptor); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl b/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl new file mode 100644 index 000000000..86d873004 --- /dev/null +++ b/offapi/com/sun/star/ucb/XRemoteContentProviderSupplier.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XRemoteContentProviderSupplier_idl__ +#define __com_sun_star_ucb_XRemoteContentProviderSupplier_idl__ + +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module ucb { + +/** Provide access to a collection of remote content providers. + + @version 1.0 + @see XRemoteContentProviderAcceptor +*/ +published interface XRemoteContentProviderSupplier: com::sun::star::uno::XInterface +{ + /** Get a factory through which a remote content provider's + UniversalContentBroker service can be instantiated. + + @param Identifier An arbitrary identifier uniquely identifying a + remote content provider. + + @return the appropriate factory, or null if none is available. + */ + com::sun::star::lang::XMultiServiceFactory + queryRemoteContentProvider([in] string Identifier); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess.idl new file mode 100644 index 000000000..cc30de7e9 --- /dev/null +++ b/offapi/com/sun/star/ucb/XSimpleFileAccess.idl @@ -0,0 +1,244 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XSimpleFileAccess_idl__ +#define __com_sun_star_ucb_XSimpleFileAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/uno/RuntimeException.idl> +#include <com/sun/star/uno/Exception.idl> +#include <com/sun/star/ucb/CommandAbortedException.idl> +#include <com/sun/star/task/XInteractionHandler.idl> +#include <com/sun/star/util/DateTime.idl> +#include <com/sun/star/io/XOutputStream.idl> +#include <com/sun/star/io/XInputStream.idl> +#include <com/sun/star/io/XStream.idl> + + + + +module com { module sun { module star { module ucb { + +/** This is the basic interface to read data from a stream. +*/ +published interface XSimpleFileAccess: com::sun::star::uno::XInterface +{ + + /** Copies a file + + @param SourceURL + URL of the file to be copied + @param DestURL + URL of the location the file should be copied to + + @see move + */ + void copy( [in] string SourceURL, [in] string DestURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Moves a file + + @param SourceURL + URL of the file to be moved + @param DestURL + URL of the location the file should be moved to + + @see move + */ + void move( [in] string SourceURL, [in] string DestURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Removes a file. If the URL represents a folder, the folder will be + removed, even if it's not empty. + + @param FileURL + File/folder to be removed + + @see move + */ + void kill( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Checks if a URL represents a folder + + @param FileURL + URL to be checked + + @return + true, if the given URL represents a folder, otherwise false + */ + boolean isFolder( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Checks if a file is "read only" + + @param FileURL + URL to be checked + + @return + true, if the given File is "read only", false otherwise + */ + boolean isReadOnly( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Sets the "read only" of a file according to the boolean parameter, + if the actual process has the right to do so. + + @param FileURL + URL of the file + + @param bReadOnly + true; "read only" flag will be set, false; "read only" flag will be reset + */ + void setReadOnly( [in] string FileURL, [in] boolean bReadOnly ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Creates a new Folder + + @param NewFolderURL + URL describing the location of the new folder + */ + void createFolder( [in] string NewFolderURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Returns the size of a file. + + @param FileURL + URL of the file + + @return Size of the file in bytes + */ + long getSize( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Returns the content type of a file. + + @see XContent::getContentType + + @param FileURL + URL of the file + + @return Content type of the file + */ + string getContentType( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Returns the last modified date for the file + + @param FileURL + URL of the file + + @return Last modified date for the file + */ + ::com::sun::star::util::DateTime getDateTimeModified( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Returns the contents of a folder + + @param FolderURL + URL of the folder + @param bIncludeFolders + true: Subfolders are included, false: No subfolders + + @return The content of a folder, each file as one string + in a string sequence + */ + sequence<string> getFolderContents( [in] string FolderURL, [in] boolean bIncludeFolders ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Checks if a file exists + + @param FileURL + URL to be checked + + @return + true, if the File exists, false otherwise + */ + boolean exists( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + + /** Opens file to read + + @param FileURL + File to open + + @return + An XInputStream, if the file can be opened for reading + */ + com::sun::star::io::XInputStream openFileRead( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Opens file to write. + + @param FileURL + File to open + + @return + An XOutputStream, if the file can be opened for writing + + @throws + UnsupportedDataSinkException, if the file cannot be + opened for random write access. Some resources do not allow random + write access. To write data for those resources + XSimpleFileAccess2::writeFile() may be used. + */ + com::sun::star::io::XOutputStream openFileWrite( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Opens file to read and write + + @param FileURL + File to open + + @return + An XStream, if the file can be opened for reading and writing + + @throws + UnsupportedDataSinkException, if the file cannot be + opened for random write access. Some resources do not allow random + write access. To write data for those resources + XSimpleFileAccess2::writeFile() may be used. + */ + com::sun::star::io::XStream openFileReadWrite( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Sets an interaction handler to be used for further operations. + + <p> + A default interaction handler is available as service + com::sun::star::task::InteractionHandler. + The documentation of this service also contains further + information about the interaction handler concept. + </p> + + @see com::sun::star::task::InteractionHandler + + @param Handler + The interaction handler to be set + */ + void setInteractionHandler( [in] com::sun::star::task::XInteractionHandler Handler ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl new file mode 100644 index 000000000..71de89dd2 --- /dev/null +++ b/offapi/com/sun/star/ucb/XSimpleFileAccess2.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XSimpleFileAccess2_idl__ +#define __com_sun_star_ucb_XSimpleFileAccess2_idl__ + +#include <com/sun/star/ucb/XSimpleFileAccess.idl> +#include <com/sun/star/io/XInputStream.idl> +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module ucb { + +/** This is an extension to the interface XSimpleFileAccess. +*/ +published interface XSimpleFileAccess2 : com::sun::star::ucb::XSimpleFileAccess +{ + + /** Overwrites the file content with the given data. + + <p>If the file does not exist, it will be created. + + @param FileURL + File to write + + @param data + A stream containing the data for the file to be (over-)written + */ + void writeFile( [in] string FileURL, + [in] com::sun::star::io::XInputStream data ) + raises( com::sun::star::uno::Exception ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl b/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl new file mode 100644 index 000000000..e67c9d7b8 --- /dev/null +++ b/offapi/com/sun/star/ucb/XSimpleFileAccess3.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ucb_XSimpleFileAccess3_idl__ +#define __com_sun_star_ucb_XSimpleFileAccess3_idl__ + +#include <com/sun/star/ucb/XSimpleFileAccess2.idl> +#include <com/sun/star/io/XInputStream.idl> +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module ucb { + +/** This is an extension to the interface XSimpleFileAccess2. + + @since OOo 1.1.2 +*/ +published interface XSimpleFileAccess3 : com::sun::star::ucb::XSimpleFileAccess2 +{ + /** Checks if a file is "hidden" + + @param FileURL + URL to be checked + + @return + true, if the given File is "hidden", false otherwise + */ + boolean isHidden( [in] string FileURL ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + + /** Sets the "hidden" of a file according to the boolean parameter, + if the actual process has the right to do so and the used + operation system supports this operation. + + @param FileURL + URL of the file + + @param bHidden + true; "hidden" flag will be set, false; "hidden" flag will be reset + */ + void setHidden( [in] string FileURL, [in] boolean bHidden ) + raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl b/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl new file mode 100644 index 000000000..7ec634e89 --- /dev/null +++ b/offapi/com/sun/star/ucb/XSortedDynamicResultSetFactory.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XSortedDynamicResultSetFactory_idl__ +#define __com_sun_star_ucb_XSortedDynamicResultSetFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/XDynamicResultSet.idl> +#include <com/sun/star/ucb/NumberedSortingInfo.idl> +#include <com/sun/star/ucb/XAnyCompareFactory.idl> + + +module com { module sun { module star { module ucb { + +/** Provides a method to create an XDynamicResultSet which + will be sorted according to the given sorting options. +*/ + +published interface XSortedDynamicResultSetFactory: com::sun::star::uno::XInterface +{ + /** creates a sorted XDynamicResultSet depending on internal + data, an (unsorted) XDynamicResultSet and the sorting info. + + @returns + a sorted result set. + + @param Source + the (unsorted) source result set + + @param Info + the sort criteria + + @param CompareFactory + a factory for compare objects. + */ + com::sun::star::ucb::XDynamicResultSet createSortedDynamicResultSet( + [in] com::sun::star::ucb::XDynamicResultSet Source, + [in] sequence<com::sun::star::ucb::NumberedSortingInfo> Info, + [in] com::sun::star::ucb::XAnyCompareFactory CompareFactory ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XSourceInitialization.idl b/offapi/com/sun/star/ucb/XSourceInitialization.idl new file mode 100644 index 000000000..c77c98845 --- /dev/null +++ b/offapi/com/sun/star/ucb/XSourceInitialization.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XSourceInitialization_idl__ +#define __com_sun_star_ucb_XSourceInitialization_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/ucb/AlreadyInitializedException.idl> + + +module com { module sun { module star { module ucb { + +/** provides the initialization of a component with any source object. +*/ + +published interface XSourceInitialization: com::sun::star::uno::XInterface +{ + /** provides the initialization of a component with any source object. + + <p>The service description has to specify which type of interface must + be set as parameter. + + <p>Hopefully you will only use this, when <var>Source</var> + is a com::sun::star::lang::XComponent and this + is a com::sun::star::lang::XEventListener. + Then you should call + com::sun::star::lang::XComponent::addEventListener() + from inside the implementation of this method. + + @param Source + the source. + + @throws AlreadyInitializedException + if this method is called more than once during the lifetime of the + object implementing this interface. + + */ + void setSource( [in] com::sun::star::uno::XInterface Source ) + raises (AlreadyInitializedException); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XUniversalContentBroker.idl b/offapi/com/sun/star/ucb/XUniversalContentBroker.idl new file mode 100644 index 000000000..6df4b2f46 --- /dev/null +++ b/offapi/com/sun/star/ucb/XUniversalContentBroker.idl @@ -0,0 +1,131 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XUniversalContentBroker_idl__ +#define __com_sun_star_ucb_XUniversalContentBroker_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/ucb/XCommandProcessor.idl> +#include <com/sun/star/ucb/XCommandProcessor2.idl> +#include <com/sun/star/ucb/XContentProviderManager.idl> +#include <com/sun/star/ucb/XContentProvider.idl> +#include <com/sun/star/ucb/XContentIdentifierFactory.idl> + +module com { module sun { module star { module ucb { + +/** + + @since LibreOffice 4.0 +*/ +published interface XUniversalContentBroker +{ + /** must be implemented to make it possible to resolve cyclic object + references. + + <p>Those references i.e. may occur if content provider implementations + hold references to the Broker. The Broker itself always holds its + providers. If the Broker shall be released, + com::sun::star::lang::XComponent::dispose() + must be called at the Broker. The implementation of this method must + call + com::sun::star::lang::XEventListener::disposing() + on the registered listeners (the providers holding the Broker must be + those listeners) and release the appropriate object references. At + the other hand, the implementation of XEventListener::disposing must + release its appropriate references. + + <p>This interface is required. + */ + interface com::sun::star::lang::XComponent; + + /** provides access to all kind of contents provided by the registered + content providers. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XContentProvider; + + /** provides access to a set of content providers registered with the UCB. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XContentProviderManager; + + /** creates XContentIdentifier implementation objects for + all kind of contents provided by the UCB. + + <p>This interface is required. + */ + interface com::sun::star::ucb::XContentIdentifierFactory; + + /** Enables the caller to execute commands at the broker. + + Is an enhanced version of XCommandProcessor that has an + additional method for releasing command identifiers obtained via + XCommandProcessor::createCommandIdentifier() to avoid + resource leaks. For a detailed description of the problem refer to + XCommandProcessor2::releaseCommandIdentifier(). + + + <p>This interface is required. + + <p><pre> + ======================================================================= + Commands: + ======================================================================= + + [return type] + [command name] + [parameter type and name] + + ----------------------------------------------------------------------- + Required commands: + ----------------------------------------------------------------------- + + // This command obtains an interface which allows to query + // information on commands supported by the Content Broker. + + XCommandInfo + getCommandInfo + void + + // This command transfers Contents from one location to another. + // Additionally, it can be used to create a link to a Content. + // The implementation must be able to handle Contents provided + // by any Content Provider. This is different from the command + // "transfer" that can be supported by a Content. That command + // typically can only handle Contents provided by one + // ContentProvider. + + void + globalTransfer + GlobalTransferCommandArgument + </pre> + + */ + interface com::sun::star::ucb::XCommandProcessor2; + +}; + + +}; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl b/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl new file mode 100644 index 000000000..3203cefd7 --- /dev/null +++ b/offapi/com/sun/star/ucb/XWebDAVCommandEnvironment.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_XWebDAVCommandEnvironment_idl__ +#define __com_sun_star_ucb_XWebDAVCommandEnvironment_idl__ + +#include <com/sun/star/ucb/XCommandEnvironment.idl> +#include <com/sun/star/ucb/WebDAVHTTPMethod.idl> +#include <com/sun/star/beans/StringPair.idl> + + +module com { module sun { module star { module ucb { + +/** A command environment that can be used to deal with WebDAV/HTTP specific + commands. +*/ +interface XWebDAVCommandEnvironment : XCommandEnvironment +{ + /** This method gets called while assembling a WebDAV/HTTP request. + The returned headername-headervalue pairs will be appended to + the list of request headers before the request is dispatched. + + @param aURI + The request URI. + + @param eMethod + The WebDAV/HTTP method ("GET","PUT","MKCOL",...) as defined in WebDAVHTTPMethod. + + @return + A sequence of header name, header value pairs. The header + names must be the plain names and contain no trailing ":". + */ + sequence<com::sun::star::beans::StringPair> getUserRequestHeaders( + [in] string aURI, + [in] WebDAVHTTPMethod eMethod); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |