/* -*- 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_xforms_XModel_idl__ #define __com_sun_star_xforms_XModel_idl__ #include #include #include #include #include #include #include #include module com { module sun { module star { module xforms { interface XSubmission; /** represent an XForms model */ interface XModel { /** get the XForms model ID */ string getID(); /** set the XForms model ID */ void setID( [in] string id ); /** initialize the model */ void initialize(); /** rebuild the model */ void rebuild(); /** re-evaluate all calculate attributes */ void recalculate(); /** re-evaluate all validity attributes */ void revalidate(); /** refresh the model */ void refresh(); /** submit form through given submission id

This is a convenience method. Calling it is equivalent to calling getSubmission()( id ).submit().

@param id the ID of the submission to execute @throws com::sun::star::util::VetoException when the current model state does not allow a submission. Usually, this indicates that consistency criteria for the model data is not fulfilled. @throws com::sun::star::lang::WrappedTargetException when another error occurred during the submission. The com::sun::star::lang::WrappedTargetException::TargetException describes this error then. */ void submit( [in] string id ) raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException ); /** submit form through given submission id

This is a convenience method. Calling it is equivalent to calling getSubmission()( id, handler ).submit().

@param id the ID of the submission to execute @param aHandler This handler allows additional user interaction, which may be necessary before the submission can be performed. @throws com::sun::star::util::VetoException when the current model state does not allow a submission. Usually, this indicates that consistency criteria for the model data is not fulfilled. @throws com::sun::star::lang::WrappedTargetException when another error occurred during the submission. The com::sun::star::lang::WrappedTargetException::TargetException describes this error then. */ void submitWithInteraction( [in] string id, [in] com::sun::star::task::XInteractionHandler aHandler ) raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException ); /** provides management access to the XSD data types associated with the model */ XDataTypeRepository getDataTypeRepository( ); // instances /** gets container containing all instances;

The elements of the set are arrays of com::sun::star::beans::PropertyValues, containing the ID, the URL, and the instance itself.

*/ com::sun::star::container::XSet getInstances(); /** retrieves the instance with the given id */ com::sun::star::xml::dom::XDocument getInstanceDocument( [in] string id ); /** get the default instance for this model */ com::sun::star::xml::dom::XDocument getDefaultInstance(); // bindings /** create a binding element for this model

The returned binding still needs to be inserted into the bindings container.

@see getBindings */ com::sun::star::beans::XPropertySet createBinding(); /** clone an arbitrary binding element for this model; still needs

The returned binding still needs to be inserted into the bindings container.

@see getBindings */ com::sun::star::beans::XPropertySet cloneBinding( [in] com::sun::star::beans::XPropertySet binding ); /** get a binding with a certain ID

This is a convenience method: the same result can also be obtained through getBindings()

*/ com::sun::star::beans::XPropertySet getBinding( [in] string id ); /** get a container containing all bindings; also supports XNameAccess */ com::sun::star::container::XSet getBindings(); // submissions /** create a submission element for this model

The returned submission element still needs to be inserted into the submission container.

@see getSubmissions */ XSubmission createSubmission(); /** clone an arbitrary submission element for this model

The returned submission element still needs to be inserted into the submission container.

@see getSubmissions */ XSubmission cloneSubmission( [in] com::sun::star::beans::XPropertySet submission ); /** get a submission with a certain ID.

This is a convenience method: the same result can also be obtained through getSubmissions().

*/ XSubmission getSubmission( [in] string id ); /** get container containing all submissions; also supports XNameAccess */ com::sun::star::container::XSet getSubmissions(); }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */