1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef __com_sun_star_inspection_XStringRepresentation_idl__
25#define __com_sun_star_inspection_XStringRepresentation_idl__
26
27#ifndef __com_sun_star_script_XTypeConverter_idl__
28#include <com/sun/star/script/XTypeConverter.idl>
29#endif
30
31//=============================================================================
32module com {  module sun {  module star {  module inspection {
33
34//-----------------------------------------------------------------------------
35/** handles string representations of property values.
36    @see
37*/
38published interface XStringRepresentation
39{
40    /** converts a  into a string.
41        @param PropertyValue
42            The to-be-converted property value.
43        @return
44            The converted string representation of the property value.
45        @see <member>XPropertyHandler::convertToControlValue</member>
46    */
47    string  convertToControlValue([in]any PropertyValue) raises( com::sun::star::uno::Exception );
48
49    /** converts a string into an any with the type defined by the target tpye.
50        @param ControlValue
51            The to-be-converted control value.
52        @param ControlValueType
53            The target type of the conversion.
54        @see <member>XPropertyHandler::convertToPropertyValue</member>
55    */
56    any     convertToPropertyValue(
57                            [in]string ControlValue,
58                            [in]type ControlValueType
59                        ) raises( com::sun::star::uno::Exception );
60};
61
62service StringRepresentation : XStringRepresentation
63{
64    create([in]com::sun::star::script::XTypeConverter TypeConverter)raises( com::sun::star::lang::IllegalArgumentException );
65    createConstant([in]com::sun::star::script::XTypeConverter TypeConverter,[in] string Constant,[in] sequence<string> Values)raises( com::sun::star::lang::IllegalArgumentException );
66};
67//=============================================================================
68
69}; }; }; };
70
71#endif
72
73