summaryrefslogtreecommitdiffstats
path: root/udkapi/com/sun/star/reflection/XIdlField2.idl
diff options
context:
space:
mode:
Diffstat (limited to 'udkapi/com/sun/star/reflection/XIdlField2.idl')
-rw-r--r--udkapi/com/sun/star/reflection/XIdlField2.idl109
1 files changed, 109 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/reflection/XIdlField2.idl b/udkapi/com/sun/star/reflection/XIdlField2.idl
new file mode 100644
index 000000000..4f21b6ab7
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XIdlField2.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_reflection_XIdlField2_idl__
+#define __com_sun_star_reflection_XIdlField2_idl__
+
+#include <com/sun/star/reflection/XIdlMember.idl>
+
+#include <com/sun/star/reflection/XIdlClass.idl>
+
+#include <com/sun/star/reflection/FieldAccessMode.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/lang/IllegalAccessException.idl>
+
+
+
+ module com { module sun { module star { module reflection {
+
+
+/** Reflects an IDL interface attribute, enum or compound type
+ (i.e. struct/exception) member.
+*/
+published interface XIdlField2: com::sun::star::reflection::XIdlMember
+{
+ /** Returns the type of the field.
+
+ @return
+ type of the field
+ */
+ com::sun::star::reflection::XIdlClass getType();
+
+ /** Returns the access mode of the field, i.e. read-write, read-only or
+ write-only (access mode "const" is deprecated).
+
+ @return
+ access mode of the field
+ */
+ com::sun::star::reflection::FieldAccessMode getAccessMode();
+
+ /** Gets the value of the reflected field from the given object,
+ i.e. an interface, enum or compound type (struct/exception).
+ For enums, the given object is ignored; the returned value
+ reflects the constant enum 32-bit value.
+
+ <p>When setting an interface attribute raises a
+ non com::sun::star::uno::RuntimeException, it is
+ wrapped in a com::sun::star::lang::WrappedTargetRuntimeException.</p>
+
+ @param obj
+ object instance having member of reflected type
+ @return
+ value of field
+
+ @throws IllegalAccessException
+ A com::sun::star::lang::IllegalAccessException
+ is thrown if the given object is no interface, enum or compound type;
+ or the given object does not have the reflected field.
+ */
+ any get(
+ [in] any obj )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Sets the value of the reflected field of the given object,
+ i.e. an interface or compound type (struct/exception).
+
+ <p>When setting an interface attribute raises a
+ non com::sun::star::uno::RuntimeException, it is
+ wrapped in a com::sun::star::lang::WrappedTargetRuntimeException.</p>
+
+ @param obj
+ object instance having member of reflected type
+ @param value
+ value to be set
+
+ @throws IllegalAccessException
+ A com::sun::star::lang::IllegalAccessException
+ is thrown if the given object is no interface or compound type;
+ or the given object does not have the reflected field.
+ */
+ void set(
+ [inout] any obj,
+ [in] any value )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IllegalAccessException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */