1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 *   Licensed to the Apache Software Foundation (ASF) under one or more
12 *   contributor license agreements. See the NOTICE file distributed
13 *   with this work for additional information regarding copyright
14 *   ownership. The ASF licenses this file to you under the Apache
15 *   License, Version 2.0 (the "License"); you may not use this file
16 *   except in compliance with the License. You may obtain a copy of
17 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef __com_sun_star_util_XPropertyReplace_idl__
20#define __com_sun_star_util_XPropertyReplace_idl__
21
22#include <com/sun/star/util/XReplaceDescriptor.idl>
23
24#include <com/sun/star/beans/PropertyValue.idl>
25
26#include <com/sun/star/beans/UnknownPropertyException.idl>
27
28#include <com/sun/star/lang/IllegalArgumentException.idl>
29
30
31
32module com {  module sun {  module star {  module util {
33
34
35/** makes it possible to search and replace properties.
36 */
37published interface XPropertyReplace: com::sun::star::util::XReplaceDescriptor
38{
39    /** provides the information if specific property values are
40        searched, or just the existence of the specified properties.
41     */
42    boolean getValueSearch();
43
44    /** specifies if specific property values are searched,
45        or just the existence of the specified properties.
46     */
47    void setValueSearch( [in] boolean bValueSearch );
48
49    /** @returns
50                    the attributes to search for.
51     */
52    sequence<com::sun::star::beans::PropertyValue> getSearchAttributes();
53
54    /** sets the properties to search for.
55     */
56    void setSearchAttributes( [in] sequence<com::sun::star::beans::PropertyValue> aSearchAttribs )
57            raises( com::sun::star::beans::UnknownPropertyException,
58                    com::sun::star::lang::IllegalArgumentException );
59
60    /** @returns
61                    the attribute values which are used to replace the found occurrences.
62     */
63    sequence<com::sun::star::beans::PropertyValue> getReplaceAttributes();
64
65    /** sets the properties to replace the found occurrences.
66     */
67    void setReplaceAttributes( [in] sequence<com::sun::star::beans::PropertyValue> aSearchAttribs )
68            raises( com::sun::star::beans::UnknownPropertyException,
69                    com::sun::star::lang::IllegalArgumentException );
70
71};
72
73
74}; }; }; };
75
76#endif
77
78/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
79