/* -*- 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_bridge_oleautomation_PropertyPutArgument_idl__
#define __com_sun_star_bridge_oleautomation_PropertyPutArgument_idl__


module com {  module sun {  module star {  module bridge {  module oleautomation {

/** contains a value that is used as argument in a &quot;property put&quot
    operation on a Automation object.
    <p>
    If a Automation object is converted into a UNO object by a scripting
    bridge, such as
    com::sun::star::bridge::oleautomation::BridgeSupplier,
    then it is accessed through the
    com::sun::star::script::XInvocation interface.
    The methods
    com::sun::star::script::XInvocation::setValue()
    and
    com::sun::star::script::XInvocation::getValue()
    are used to access properties which do not have additional
    arguments. To access a property with additional arguments, the
    method
    com::sun::star::script::XInvocation::invoke()
    has to be used. The method implementation must decide, if the
    property is to be written or read so it can perform the proper
    operation on the Automation object. To make this decision, the
    caller has to provide the information if the current call is
    intended to be a write or read operation. This is done by
    providing either instances of PropertyPutArgument or
    PropertyGetArgument as arguments to
    com::sun::star::script::XInvocation::Invoke.

    @since OOo 1.1.2
*/
struct PropertyPutArgument
{
    /** contains the actual argument.
     */
    any Value;
};

}; }; }; }; };


#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
