1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ucb_XContentProviderManager" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' Licensed to the Apache Software Foundation (ASF) under one 9' or more contributor license agreements. See the NOTICE file 10' distributed with this work for additional information 11' regarding copyright ownership. The ASF licenses this file 12' to you under the Apache License, Version 2.0 (the 13' "License"); you may not use this file except in compliance 14' with the License. You may obtain a copy of the License at 15' 16' http://www.apache.org/licenses/LICENSE-2.0 17' 18' Unless required by applicable law or agreed to in writing, 19' software distributed under the License is distributed on an 20' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21' KIND, either express or implied. See the License for the 22' specific language governing permissions and limitations 23' under the License. 24' 25'************************************************************************* 26 27 28 29 30 31 32 33Sub RunTest() 34 35'************************************************************************* 36' INTERFACE: 37' com.sun.star.ucb.XContentProviderManager 38'************************************************************************* 39On Error Goto ErrHndl 40 Dim bOK As Boolean 41 42 Dim Provider As Object 43 Dim Scheme As String 44 Dim ReplaceExisting As Boolean 45 Dim ContentProvider As Object 46 Dim queryInfo As Variant 47 Dim bFound As Boolean 48 49 Test.StartMethod("queryContentProviders()") 50 bOK = true 51 queryInfo = oObj.queryContentProviders() 52 Out.Log("queryContentProviders() returned " & ubound(queryInfo) & " elements.") 53 for i = 0 to ubound(queryInfo) 54 Out.Log(queryInfo(i).Scheme) 55 next i 56 Test.MethodTested("queryContentProviders()", bOK) 57 58 Test.StartMethod("registerContentProvider()") 59 bOK = true 60 ReplaceExisting = true 61 Scheme = "XContentProviderManager" 62 Provider = createUNOService("com.sun.star.ucb.FileContentProvider") 63 Out.Log("Registering Scheme = '" & Scheme & "'") 64 ContentProvider = oObj.registerContentProvider(Provider, Scheme, ReplaceExisting) 65 bOK = bOK AND hasUnoInterfaces(ContentProvider, "com.sun.star.ucb.XContentProvider") 66 Out.Log("ContentProvider is XContentProvider - " & bOK) 67 if bOK then 68 bFound = false 69 queryInfo = oObj.queryContentProviders() 70 for i = 0 to ubound(queryInfo) 71 bFound = bFound OR queryInfo(i).Scheme = Scheme 72 next i 73 if NOT bFound then 74 Out.Log("Can't find registered ContentProvider in query!") 75 bOK = false 76 end if 77 end if 78 Test.MethodTested("registerContentProvider()", bOK) 79 80 Test.StartMethod("deregisterContentProvider()") 81 if bOK then 82 oObj.deregisterContentProvider(ContentProvider, Scheme) 83 bFound = false 84 queryInfo = oObj.queryContentProviders() 85 for i = 0 to ubound(queryInfo) 86 bFound = bFound OR queryInfo(i).Scheme = Scheme 87 next i 88 if bFound then 89 Out.Log("ContentProvider was found in query! It was not DeRegistered!") 90 bOK = false 91 end if 92 else 93 Out.Log("Can't deregister ContentProvider without registering!") 94 end if 95 96 Test.MethodTested("deregisterContentProvider()", bOK) 97 98 Test.StartMethod("queryContentProvider()") 99 bOK = true 100 ContentProvider = oObj.queryContentProvider(queryInfo(0).Scheme) 101 bOK = bOK AND hasUnoInterfaces(ContentProvider, "com.sun.star.ucb.XContentProvider") 102 Test.MethodTested("queryContentProvider()", bOK) 103 104Exit Sub 105ErrHndl: 106 Test.Exception() 107 bOK = false 108 resume next 109End Sub 110</script:module> 111