| '************************************************************************* |
| ' |
| ' 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 |
| ' |
| ' Unless required by applicable law or agreed to in writing, |
| ' software distributed under the License is distributed on an |
| ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ' KIND, either express or implied. See the License for the |
| ' specific language governing permissions and limitations |
| ' under the License. |
| ' |
| '************************************************************************* |
| |
| |
| |
| Option Explicit On |
| Option Strict On |
| |
| imports System |
| imports uno |
| imports uno.util |
| imports unoidl.com.sun.star.lang |
| imports unoidl.com.sun.star.uno |
| imports unoidl.com.sun.star.test.bridge |
| imports System.Windows.Forms |
| imports System.Diagnostics |
| imports System.Reflection |
| |
| |
| Namespace vb_testobj |
| Public Class VBBridgeTestObject |
| Inherits WeakBase |
| Implements XRecursiveCall, XBridgeTest2 |
| |
| Private m_xContext As XComponentContext |
| |
| Public Sub New (xContext As XComponentContext) |
| MyBase.New |
| m_xContext = xContext |
| End Sub |
| |
| Private m_bool As Boolean |
| Private m_char As Char |
| Private m_byte As Byte |
| Private m_short As Short |
| Private m_ushort As UInt16 |
| Private m_long As Integer |
| Private m_ulong As UInt32 |
| Private m_hyper As Long |
| Private m_uhyper As UInt64 |
| Private m_float As Single |
| Private m_double As Double |
| Private m_string As String |
| Private m_xInterface As Object |
| Private m_any As Any |
| Private m_testEnum As TestEnum = TestEnum.TEST |
| Private m_testElements() As TestElement = New TestElement(){} |
| Private m_testDataElements As TestDataElements = New TestDataElements |
| Private m_nLastCallId As Integer = 0 |
| Private m_bFirstCall As Boolean = True |
| Private m_bSequenceOfCallTestPassed As Boolean = True |
| |
| Private m_arBool() As Boolean |
| Private m_arChar() As Char |
| Private m_arByte() As Byte |
| Private m_arShort() As Short |
| Private m_arLong() As Integer |
| Private m_arHyper() As Long |
| Private m_arUShort() As UInt16 |
| Private m_arULong() As UInt32 |
| Private m_arUHyper() As UInt64 |
| Private m_arString() As String |
| Private m_arFloat() As Single |
| Private m_arDouble() As Double |
| Private m_arEnum() As TestEnum |
| Private m_arObject() As Object |
| Private m_arLong2()() As Integer |
| Private m_arLong3()()() As Integer |
| Private m_arAny() As Any |
| |
| Public Overridable Sub setValues( _ |
| bBool As Boolean, aChar As Char, nByte As Byte, nShort As Short, _ |
| nUShort As UInt16, nLong As Integer, nULong As UInt32, _ |
| nHyper As Long, nUHyper As UInt64, fFloat As Single, _ |
| fDouble As Double, testEnum As TestEnum, str As String, _ |
| xInterface As Object, any As Any, testElements() As TestElement, _ |
| testDataElements As TestDataElements) _ |
| Implements XBridgeTest2.setValues |
| #if DEBUG |
| ' Console.WriteLine( "##### " + GetType().FullName + ".setValues:" + any ) |
| #endif |
| m_bool = bBool |
| m_char = aChar |
| m_byte = nByte |
| m_short = nShort |
| m_ushort = nUShort |
| m_long = nLong |
| m_ulong = nULong |
| m_hyper = nHyper |
| m_uhyper = nUHyper |
| m_float = fFloat |
| m_double = fDouble |
| m_testEnum = testEnum |
| m_string = str |
| m_xInterface = xInterface |
| m_any = any |
| m_testElements = testElements |
| m_testDataElements = testDataElements |
| End Sub |
| |
| Public Overridable Function setValues2( _ |
| ByRef io_bool As Boolean, ByRef io_char As Char, _ |
| ByRef io_byte As Byte, ByRef io_short As Short, _ |
| ByRef io_ushort As UInt16, ByRef io_long As Integer, _ |
| ByRef io_ulong As UInt32, ByRef io_hyper As Long, _ |
| ByRef io_uhyper As UInt64, ByRef io_float As Single, _ |
| ByRef io_double As Double, ByRef io_testEnum As TestEnum, _ |
| ByRef io_string As String, ByRef io_xInterface As Object, _ |
| ByRef io_any As Any, ByRef io_testElements() As TestElement, _ |
| ByRef io_testDataElements As TestDataElements) As TestDataElements _ |
| Implements XBridgeTest2.setValues2 |
| |
| #if DEBUG |
| 'Console.WriteLine( "##### " + GetType().FullName + ".setValues2:" + io_any ) |
| #endif |
| |
| m_bool = io_bool |
| m_char = io_char |
| m_byte = io_byte |
| m_short = io_short |
| m_ushort = io_ushort |
| m_long = io_long |
| m_ulong = io_ulong |
| m_hyper = io_hyper |
| m_uhyper = io_uhyper |
| m_float = io_float |
| m_double = io_double |
| m_testEnum = io_testEnum |
| m_string = io_string |
| m_xInterface = io_xInterface |
| m_any = io_any |
| m_testElements = DirectCast(io_testElements.Clone(), TestElement()) |
| m_testDataElements = io_testDataElements |
| |
| Dim temp As TestElement = io_testElements(0) |
| io_testElements(0) = io_testElements(1) |
| io_testElements(1) = temp |
| |
| Return m_testDataElements |
| End Function |
| |
| Public Overridable Function getValues( _ |
| ByRef o_bool As Boolean, ByRef o_char As Char, _ |
| ByRef o_byte As Byte, ByRef o_short As Short, _ |
| ByRef o_ushort As UInt16, ByRef o_long As Integer, _ |
| ByRef o_ulong As UInt32, ByRef o_hyper As Long, _ |
| ByRef o_uhyper As UInt64, ByRef o_float As Single, _ |
| ByRef o_double As Double, ByRef o_testEnum As TestEnum, _ |
| ByRef o_string As String, ByRef o_xInterface As Object, _ |
| ByRef o_any As Any, ByRef o_testElements() As TestElement, _ |
| ByRef o_testDataElements As TestDataElements) As TestDataElements _ |
| Implements XBridgeTest2.getValues |
| #if DEBUG |
| 'Console.WriteLine( "##### " + GetType().FullName + ".getValues" ) |
| #endif |
| |
| o_bool = m_bool |
| o_char = m_char |
| o_byte = m_byte |
| o_short = m_short |
| o_ushort = m_ushort |
| o_long = m_long |
| o_ulong = m_ulong |
| o_hyper = m_hyper |
| o_uhyper = m_uhyper |
| o_float = m_float |
| o_double = m_double |
| o_testEnum = m_testEnum |
| o_string = m_string |
| o_xInterface = m_xInterface |
| o_any = m_any |
| o_testElements = m_testElements |
| o_testDataElements = m_testDataElements |
| |
| Return m_testDataElements |
| End Function |
| |
| ' Attributes --------------------------------------------------------- |
| Public Overridable Property Bool As Boolean _ |
| Implements XBridgeTest2.Bool |
| Get |
| Return m_bool |
| End Get |
| Set (Value As Boolean) |
| m_bool = value |
| End Set |
| End Property |
| |
| Public Overridable Property [Byte] As Byte _ |
| Implements XBridgeTest2.Byte |
| Get |
| Return m_byte |
| End Get |
| Set (Value As Byte) |
| m_byte = value |
| End Set |
| End Property |
| |
| Public Overridable Property [Char] As Char _ |
| Implements XBridgeTest2.Char |
| Get |
| Return m_char |
| End Get |
| Set (Value As Char) |
| m_char = value |
| End Set |
| End Property |
| |
| Public Overridable Property [Short] As Short _ |
| Implements XBridgeTest2.Short |
| Get |
| Return m_short |
| End Get |
| Set (Value As Short) |
| m_short = value |
| End Set |
| End Property |
| |
| Public Overridable Property [UShort] As UInt16 _ |
| Implements XBridgeTest2.UShort |
| Get |
| Return m_ushort |
| End Get |
| Set (Value As UInt16) |
| m_ushort = value |
| End Set |
| End Property |
| |
| Public Overridable Property [Long] As Integer _ |
| Implements XBridgeTest2.Long |
| Get |
| Return m_long |
| End Get |
| Set (Value As Integer) |
| m_long = value |
| End Set |
| End Property |
| |
| Public Overridable Property [ULong]() As UInt32 _ |
| Implements XBridgeTest2.ULong |
| Get |
| Return m_ulong |
| End Get |
| Set (Value As UInt32) |
| m_ulong = value |
| End Set |
| End Property |
| |
| Public Overridable Property Hyper As Long _ |
| Implements XBridgeTest2.Hyper |
| Get |
| Return m_hyper |
| End Get |
| Set (Value As Long) |
| m_hyper = value |
| End Set |
| End Property |
| |
| Public Overridable Property UHyper As UInt64 _ |
| Implements XBridgeTest2.UHyper |
| Get |
| Return m_uhyper |
| End Get |
| Set (Value As UInt64) |
| m_uhyper = value |
| End Set |
| End Property |
| |
| Public Overridable Property Float As Single _ |
| Implements XBridgeTest2.Float |
| Get |
| Return m_float |
| End Get |
| Set (Value As Single) |
| m_float = value |
| End Set |
| End Property |
| |
| Public Overridable Property [Double] As Double _ |
| Implements XBridgeTest2.Double |
| Get |
| Return m_double |
| End Get |
| Set (Value As Double) |
| m_double = value |
| End Set |
| End Property |
| |
| Public Overridable Property [Enum] As TestEnum _ |
| Implements XBridgeTest2.Enum |
| Get |
| Return m_testEnum |
| End Get |
| Set (Value As TestEnum) |
| m_testEnum = value |
| End Set |
| End Property |
| |
| Public Overridable Property [String] As String _ |
| Implements XBridgeTest2.String |
| Get |
| Return m_string |
| End Get |
| Set (Value As String) |
| m_string = value |
| End Set |
| End Property |
| |
| Public Overridable Property [Interface] As Object _ |
| Implements XBridgeTest2.Interface |
| Get |
| Return m_xInterface |
| End Get |
| Set (Value As Object) |
| m_xInterface = value |
| End Set |
| End Property |
| |
| Public Overridable Property Any As uno.Any _ |
| Implements XBridgeTest2.Any |
| Get |
| #if DEBUG |
| ' Console.WriteLine( "##### " + GetType().FullName + ".Any" ) |
| #endif |
| Return m_any |
| End Get |
| Set (Value As Any) |
| #if DEBUG |
| 'Console.WriteLine( "##### " + GetType().FullName + ".Any:" + value ) |
| #endif |
| m_any = value |
| End Set |
| End Property |
| |
| Public Overridable Property Sequence As TestElement() _ |
| Implements XBridgeTest2.Sequence |
| Get |
| Return m_testElements |
| End Get |
| Set (Value() As TestElement) |
| m_testElements = value |
| End Set |
| End Property |
| |
| Public Overridable Property Struct As TestDataElements _ |
| Implements XBridgeTest2.Struct |
| Get |
| Return m_testDataElements |
| End Get |
| Set (Value As TestDataElements) |
| m_testDataElements = value |
| End Set |
| End Property |
| |
| Public Overridable Function transportAny(value As Any) As Any _ |
| Implements XBridgeTest2.transportAny |
| Return value |
| End Function |
| |
| Public Overridable Sub [call](nCallId As Integer, nWaitMUSEC As Integer) _ |
| Implements XBridgeTest2.call |
| |
| Threading.Thread.Sleep(CType(nWaitMUSEC / 10000, Integer)) |
| If m_bFirstCall = True |
| m_bFirstCall = False |
| Else |
| m_bSequenceOfCallTestPassed = m_bSequenceOfCallTestPassed And (nCallId > m_nLastCallId) |
| End If |
| m_nLastCallId = nCallId |
| End Sub |
| |
| Public Overridable Sub callOneway(nCallId As Integer, nWaitMUSEC As Integer) _ |
| Implements XBridgeTest2.callOneway |
| |
| Threading.Thread.Sleep(CType(nWaitMUSEC / 10000, Integer)) |
| m_bSequenceOfCallTestPassed = m_bSequenceOfCallTestPassed And (nCallId > m_nLastCallId) |
| m_nLastCallId = nCallId |
| End Sub |
| |
| Public Overridable Function sequenceOfCallTestPassed() As Boolean _ |
| Implements XBridgeTest2.sequenceOfCallTestPassed |
| Return m_bSequenceOfCallTestPassed |
| End Function |
| |
| Public Overridable Sub callRecursivly(xCall As XRecursiveCall, nToCall As Integer) _ |
| Implements XRecursiveCall.callRecursivly |
| SyncLock (Me) |
| If nToCall <> 0 |
| nToCall = nToCall - 1 |
| xCall.callRecursivly(Me , nToCall) |
| End If |
| End SyncLock |
| End Sub |
| |
| Public Overridable Sub startRecursiveCall(xCall As XRecursiveCall, nToCall As Integer) _ |
| Implements XBridgeTest2.startRecursiveCall |
| SyncLock (Me) |
| If nToCall <> 0 |
| nToCall = nToCall - 1 |
| xCall.callRecursivly(Me , nToCall ) |
| End If |
| End SyncLock |
| End Sub |
| |
| ' XBridgeTest |
| Public Overridable Function raiseException( _ |
| nArgumentPos As Short, rMsg As String, xContext As Object) As TestDataElements _ |
| Implements XBridgeTest2.raiseException |
| Throw New IllegalArgumentException(rMsg, xContext, nArgumentPos) |
| End Function |
| |
| Public Overridable Sub raiseRuntimeExceptionOneway(rMsg As String , xContext As Object) _ |
| Implements XBridgeTest2.raiseRuntimeExceptionOneway |
| Throw New RuntimeException(rMsg, xContext) |
| End Sub |
| |
| Public Overridable Property RuntimeException As Integer _ |
| Implements XBridgeTest2.RuntimeException |
| Get |
| Throw New RuntimeException(m_string, m_xInterface) |
| End Get |
| Set (Value As Integer) |
| Throw New RuntimeException(m_string, m_xInterface) |
| End Set |
| End Property |
| |
| ' XBridgeTest2 |
| Public Overridable Function setDim2(val()() As Integer) As Integer()() _ |
| Implements XBridgeTest2.setDim2 |
| m_arLong2 = val |
| Return val |
| End Function |
| |
| Public Overridable Function setDim3(val()()() As Integer) As Integer()()() _ |
| Implements XBridgeTest2.setDim3 |
| m_arLong3 = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceAny(val() As Any) As Any() _ |
| Implements XBridgeTest2.setSequenceAny |
| m_arAny = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceBool(val() As Boolean) As Boolean() _ |
| Implements XBridgeTest2.setSequenceBool |
| m_arBool = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceByte(val() As Byte) As Byte() _ |
| Implements XBridgeTest2.setSequenceByte |
| m_arByte = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceChar(val() As Char) As Char() _ |
| Implements XBridgeTest2.setSequenceChar |
| m_arChar = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceShort(val() As Short) As Short() _ |
| Implements XBridgeTest2.setSequenceShort |
| m_arShort = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceLong(val() As Integer) As Integer() _ |
| Implements XBridgeTest2.setSequenceLong |
| |
| m_arLong = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceHyper(val() As Long) As Long() _ |
| Implements XBridgeTest2.setSequenceHyper |
| m_arHyper = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceFloat(val() As Single) As Single() _ |
| Implements XBridgeTest2.setSequenceFloat |
| m_arFloat = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceDouble(val() As Double) As Double() _ |
| Implements XBridgeTest2.setSequenceDouble |
| m_arDouble = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceEnum(val() As TestEnum) As TestEnum() _ |
| Implements XBridgeTest2.setSequenceEnum |
| m_arEnum = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceUShort(val() As UInt16) As UInt16() _ |
| Implements XBridgeTest2.setSequenceUShort |
| m_arUShort = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceULong(val() As UInt32) As UInt32() _ |
| Implements XBridgeTest2.setSequenceULong |
| m_arULong = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceUHyper(val() As UInt64) As UInt64() _ |
| Implements XBridgeTest2.setSequenceUHyper |
| m_arUHyper = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceXInterface(val() As Object ) As Object() _ |
| Implements XBridgeTest2.setSequenceXInterface |
| m_arObject = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceString(val() As String) As String() _ |
| Implements XBridgeTest2.setSequenceString |
| m_arString = val |
| Return val |
| End Function |
| |
| Public Overridable Function setSequenceStruct(val() As TestElement) As TestElement() _ |
| Implements XBridgeTest2.setSequenceStruct |
| m_testElements = val |
| Return val |
| End Function |
| |
| Public Overridable Sub setSequencesInOut( _ |
| ByRef aSeqBoolean() As Boolean, ByRef aSeqChar() As Char, _ |
| ByRef aSeqByte() As Byte, ByRef aSeqShort() As Short, _ |
| ByRef aSeqUShort() As UInt16, ByRef aSeqLong() As Integer, _ |
| ByRef aSeqULong() As UInt32, ByRef aSeqHyper() As Long, _ |
| ByRef aSeqUHyper() As UInt64, ByRef aSeqFloat() As Single, _ |
| ByRef aSeqDouble() As Double, ByRef aSeqTestEnum() As TestEnum, _ |
| ByRef aSeqString() As String, ByRef aSeqXInterface() As Object, _ |
| ByRef aSeqAny() As Any, ByRef aSeqDim2()() As Integer, _ |
| ByRef aSeqDim3()()() As Integer) _ |
| Implements XBridgeTest2.setSequencesInOut |
| |
| m_arBool = aSeqBoolean |
| m_arChar = aSeqChar |
| m_arByte = aSeqByte |
| m_arShort = aSeqShort |
| m_arUShort = aSeqUShort |
| m_arLong = aSeqLong |
| m_arULong = aSeqULong |
| m_arHyper = aSeqHyper |
| m_arUHyper = aSeqUHyper |
| m_arFloat = aSeqFloat |
| m_arDouble = aSeqDouble |
| m_arEnum = aSeqTestEnum |
| m_arString = aSeqString |
| m_arObject = aSeqXInterface |
| m_arAny = aSeqAny |
| m_arLong2 = aSeqDim2 |
| m_arLong3 = aSeqDim3 |
| End Sub |
| |
| Public Overridable Sub setSequencesOut( _ |
| ByRef aSeqBoolean() As Boolean, ByRef aSeqChar() As Char, _ |
| ByRef aSeqByte() As Byte, ByRef aSeqShort() As Short, _ |
| ByRef aSeqUShort() As UInt16, ByRef aSeqLong() As Integer, _ |
| ByRef aSeqULong() As UInt32, ByRef aSeqHyper() As Long, _ |
| ByRef aSeqUHyper() As UInt64, ByRef aSeqFloat() As Single, _ |
| ByRef aSeqDouble() As Double, ByRef aSeqTestEnum() As TestEnum, _ |
| ByRef aSeqString() As String, ByRef aSeqXInterface() As Object, _ |
| ByRef aSeqAny() As Any, ByRef aSeqDim2()() As Integer, _ |
| ByRef aSeqDim3()()() As Integer) _ |
| Implements XBridgeTest2.setSequencesOut |
| |
| aSeqBoolean = m_arBool |
| aSeqChar = m_arChar |
| aSeqByte = m_arByte |
| aSeqShort = m_arShort |
| aSeqUShort = m_arUShort |
| aSeqLong = m_arLong |
| aSeqULong = m_arULong |
| aSeqHyper = m_arHyper |
| aSeqUHyper = m_arUHyper |
| aSeqFloat = m_arFloat |
| aSeqDouble = m_arDouble |
| aSeqTestEnum = m_arEnum |
| aSeqString = m_arString |
| aSeqXInterface = m_arObject |
| aSeqAny = m_arAny |
| aSeqDim2 = m_arLong2 |
| aSeqDim3 = m_arLong3 |
| |
| End Sub |
| |
| End Class |
| |
| End Namespace |