Kaydet (Commit) 6111068d authored tarafından Michael Stahl's avatar Michael Stahl

testtools: add com.sun.star.test.performance.XPerformanceTest ...

... back, which was removed from udkapi in
771914ab.

Change-Id: I266f2d4fd01dc01a839f5c608ec8c45be76165c0
üst 76324b35
...@@ -39,4 +39,8 @@ $(eval $(call gb_InternalUnoApi_add_idlfiles,bridgetest,testtools/source/bridget ...@@ -39,4 +39,8 @@ $(eval $(call gb_InternalUnoApi_add_idlfiles,bridgetest,testtools/source/bridget
bridgetest \ bridgetest \
)) ))
$(eval $(call gb_InternalUnoApi_add_idlfiles,bridgetest,testtools/source/bridgetest/idl/com/sun/star/test/performance,\
XPerformanceTest \
))
# vim:set shiftwidth=4 softtabstop=4 expandtab: # vim:set shiftwidth=4 softtabstop=4 expandtab:
/* -*- 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_test_performance_XPerformanceTest_idl__
#define __com_sun_star_test_performance_XPerformanceTest_idl__
#include <com/sun/star/uno/XInterface.idl>
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
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment