diff options
Diffstat (limited to 'modules/CIAO/tests/IDL_Test/Two_Templ_Args/TwoTemplArgs.idl')
-rw-r--r-- | modules/CIAO/tests/IDL_Test/Two_Templ_Args/TwoTemplArgs.idl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/CIAO/tests/IDL_Test/Two_Templ_Args/TwoTemplArgs.idl b/modules/CIAO/tests/IDL_Test/Two_Templ_Args/TwoTemplArgs.idl new file mode 100644 index 00000000000..66fae8261b9 --- /dev/null +++ b/modules/CIAO/tests/IDL_Test/Two_Templ_Args/TwoTemplArgs.idl @@ -0,0 +1,42 @@ +// $Id$ + +#ifndef MY_TEST_IDL +#define MY_TEST_IDL + +#include <Components.idl> + +module Test +{ + struct Foo + { + double myDouble; + string myStr; + }; +}; + +exception ExceptType {}; + +module TemplTest<typename T, exception S> +{ + interface Bar + { + // having 2 or more args of the same template param type + // causes an "illegal redefinition" error + T myTestOperation(in T inParam, out T outParam) raises(S); + }; + + struct TemplStruct + { + T myTemplField; + }; +}; + +module TemplTest<Test::Foo, ExceptType> TemplatedInst; + +component Baz +{ + provides TemplatedInst::Bar myBar; + attribute TemplatedInst::TemplStruct myTemplStruct; +}; + +#endif |