'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: frame_XDispatchProvider.xba,v $ ' ' $Revision: 1.3 $ ' ' 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 ' ' for a copy of the LGPLv3 License. ' '************************************************************************* '************************************************************************* ' Be sure that all variables are dimensioned: option explicit '************************************************************************* ' This Interface/Service test depends on the following GLOBAL variables, ' which must be specified in the object creation: ' - Global dispatchUrl As String '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.frame.XDispatchProvider '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim url As new com.sun.star.util.URL Dim dispatcher As Object Dim descriptors(1) As new com.sun.star.frame.DispatchDescriptor Dim dispatchers As Variant Out.Log("Using Url for dispatch : " + dispatchUrl) url.Complete = dispatchUrl Dim oURLTransformer As Object oURLTransformer = createUnoService("com.sun.star.util.URLTransformer") Dim aUrl As Variant aUrl = Array(url) oURLTransformer.parseStrict(aUrl) Test.StartMethod("queryDispatch()") dispatcher = oObj.queryDispatch(aUrl(0), "frame", _ com.sun.star.frame.FrameSearchFlag.ALL) bOK = NOT isNull(dispatcher) Out.Log("Dispatch is null : " + isNull(dispatcher)) bOK = bOK AND hasUnoInterfaces(dispatcher, "com.sun.star.frame.XDispatch") Test.MethodTested("queryDispatch()", bOK) Test.StartMethod("queryDispatches()") bOK = true descriptors(0).FeatureURL = url descriptors(0).FrameName = "Frame1" descriptors(0).SearchFlags = com.sun.star.frame.FrameSearchFlag.ALL descriptors(1).FeatureURL = url descriptors(1).FrameName = "Frame2" descriptors(1).SearchFlags = com.sun.star.frame.FrameSearchFlag.ALL dispatchers = oObj.queryDispatches(descriptors()) if isArray(dispatchers) then if ubound(descriptors()) <> ubound(dispatchers()) then bOK = false Out.Log("Number of returned dispatchers : " + _ ubound(dispatchers()) + " - FAILED") endIf else bOK = false Out.Log("Returned value is not Array") EndIf Test.MethodTested("queryDispatches()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub