diff --git a/cppu/test/language_binding.idl b/cppu/test/language_binding.idl index 8d3deef3834b..17d108128de7 100644 --- a/cppu/test/language_binding.idl +++ b/cppu/test/language_binding.idl @@ -4,9 +4,9 @@ * * $RCSfile: language_binding.idl,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: rt $ $Date: 2005-09-08 08:55:54 $ + * last change: $Author: obo $ $Date: 2008-02-27 10:05:40 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -70,6 +70,49 @@ struct TestSimple double Double; test::TestEnum Enum; }; +/** + * equal to max size returned in registers on x86_64 + */ +struct SmallStruct +{ + hyper a; + hyper b; +}; +/** + * equal to max size returned in registers on ia64 + */ +struct MediumStruct +{ + hyper a; + hyper b; + hyper c; + hyper d; +}; +/** + * bigger than max size returned in registers on ia64 + */ +struct BigStruct +{ + hyper a; + hyper b; + hyper c; + hyper d; + hyper e; + hyper f; + hyper g; + hyper h; +}; +/** + * all floats, ia64 claims to handle them specially + */ +struct AllFloats +{ + float a; + float b; + float c; + float d; +}; + /** * complex c++ types */ @@ -131,6 +174,26 @@ interface XLBTestBase : com::sun::star::uno::XInterface [out] sequence aSequence, [out] test::TestData aStruct ); + /** + * register return test 1 + */ + test::SmallStruct echoSmallStruct( [in] test::SmallStruct aStruct ); + + /** + * register return test 2 + */ + test::MediumStruct echoMediumStruct( [in] test::MediumStruct aStruct ); + + /** + * register return test 3 + */ + test::BigStruct echoBigStruct( [in] test::BigStruct aStruct ); + + /** + * register return test 4 + */ + test::AllFloats echoAllFloats( [in] test::AllFloats aStruct ); + [attribute] boolean Bool; [attribute] byte Byte; [attribute] char Char;