summaryrefslogtreecommitdiff
path: root/udkapi/com/sun/star/test/performance/XPerformanceTest.idl
diff options
context:
space:
mode:
Diffstat (limited to 'udkapi/com/sun/star/test/performance/XPerformanceTest.idl')
-rw-r--r--udkapi/com/sun/star/test/performance/XPerformanceTest.idl139
1 files changed, 139 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/test/performance/XPerformanceTest.idl b/udkapi/com/sun/star/test/performance/XPerformanceTest.idl
new file mode 100644
index 000000000000..9ef559c240d6
--- /dev/null
+++ b/udkapi/com/sun/star/test/performance/XPerformanceTest.idl
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_test_performance_XPerformanceTest_idl__
+#define __com_sun_star_test_performance_XPerformanceTest_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com
+{
+module sun
+{
+module star
+{
+module test
+{
+module performance
+{
+
+/** struct of simple types to be carried
+*/
+published struct SimpleTypes
+{
+ boolean Bool;
+ char Char;
+ byte Byte;
+ short Short;
+ unsigned short UShort;
+ long Long;
+ unsigned long ULong;
+ hyper Hyper;
+ unsigned hyper UHyper;
+ float Float;
+ double Double;
+};
+/** struct ComplexTypes adding Sequence, String, Interface, Any to SimpleTypes
+*/
+published struct ComplexTypes : SimpleTypes
+{
+ sequence< long > Sequence;
+ string String;
+ com::sun::star::uno::XInterface Interface;
+ any Any;
+};
+
+/** A performance test object has to be implemented in a special way, that:
+ <ul>
+ <li>queryInterface() execution times remain (nearly) static</li>
+ <li>functions kept simple, thus there is (nearly) no execution time of the function itself</li>
+ <li>no dynamic data is ever returned except of createObject(), so return 0, empty strings etc.</li>
+ </ul>
+ The interface is divided into three sections:
+ <ul>
+ <li>measuring asynchron/ synchron calls</li>
+ <li>complex data calls with/out return value; in/out parameters</li>
+ <li>single data types like long, float, string etc.</li>
+ <li>method calls versa attribute calls</li>
+ <li>raising RuntimeException</li>
+ </ul>
+*/
+published interface XPerformanceTest : com::sun::star::uno::XInterface
+{
+ [oneway] void async();
+ void sync();
+
+ ComplexTypes complex_in( [in] ComplexTypes aVal );
+ ComplexTypes complex_inout( [inout] ComplexTypes aVal );
+
+ [oneway] void complex_oneway( [in] ComplexTypes aVal );
+ void complex_noreturn( [in] ComplexTypes aVal );
+
+ XPerformanceTest createObject();
+
+ [attribute] long Long_attr;
+ [attribute] hyper Hyper_attr;
+ [attribute] float Float_attr;
+ [attribute] double Double_attr;
+ [attribute] string String_attr;
+ [attribute] com::sun::star::uno::XInterface Interface_attr;
+ [attribute] any Any_attr;
+ [attribute] sequence< com::sun::star::uno::XInterface > Sequence_attr;
+ [attribute] ComplexTypes Struct_attr;
+
+ long getLong();
+ void setLong( [in] long n );
+ hyper getHyper();
+ void setHyper( [in] hyper n );
+ float getFloat();
+ void setFloat( [in] float f );
+ double getDouble();
+ void setDouble( [in] double f );
+ string getString();
+ void setString( [in] string s );
+ com::sun::star::uno::XInterface getInterface();
+ void setInterface( [in] com::sun::star::uno::XInterface x );
+ any getAny();
+ void setAny( [in] any a );
+ sequence< com::sun::star::uno::XInterface > getSequence();
+ void setSequence( [in] sequence< com::sun::star::uno::XInterface > seq );
+ ComplexTypes getStruct();
+ void setStruct( [in] ComplexTypes c );
+
+ void raiseRuntimeException();
+};
+
+//=============================================================================
+
+};
+};
+};
+};
+};
+
+#endif