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' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9'
10' Copyright 2000, 2010 Oracle and/or its affiliates.
11'
12' OpenOffice.org - a multi-platform office productivity suite
13'
14' This file is part of OpenOffice.org.
15'
16' OpenOffice.org is free software: you can redistribute it and/or modify
17' it under the terms of the GNU Lesser General Public License version 3
18' only, as published by the Free Software Foundation.
19'
20' OpenOffice.org is distributed in the hope that it will be useful,
21' but WITHOUT ANY WARRANTY; without even the implied warranty of
22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23' GNU Lesser General Public License version 3 for more details
24' (a copy is included in the LICENSE file that accompanied this code).
25'
26' You should have received a copy of the GNU Lesser General Public License
27' version 3 along with OpenOffice.org.  If not, see
28' <http://www.openoffice.org/license.html>
29' for a copy of the LGPLv3 License.
30'
31'*************************************************************************
32'*************************************************************************
33
34
35
36
37
38Sub RunTest()
39
40'*************************************************************************
41' INTERFACE:
42' com.sun.star.ucb.XContentProviderManager
43'*************************************************************************
44On Error Goto ErrHndl
45    Dim bOK As Boolean
46
47    Dim Provider As Object
48    Dim Scheme As String
49    Dim ReplaceExisting As Boolean
50    Dim ContentProvider As Object
51    Dim queryInfo As Variant
52    Dim bFound As Boolean
53
54    Test.StartMethod("queryContentProviders()")
55    bOK = true
56    queryInfo = oObj.queryContentProviders()
57    Out.Log("queryContentProviders() returned " &amp; ubound(queryInfo) &amp; " elements.")
58    for i = 0 to ubound(queryInfo)
59        Out.Log(queryInfo(i).Scheme)
60    next i
61    Test.MethodTested("queryContentProviders()", bOK)
62
63    Test.StartMethod("registerContentProvider()")
64    bOK = true
65    ReplaceExisting = true
66    Scheme = "XContentProviderManager"
67    Provider = createUNOService("com.sun.star.ucb.FileContentProvider")
68    Out.Log("Registering Scheme = '" &amp; Scheme &amp; "'")
69    ContentProvider = oObj.registerContentProvider(Provider, Scheme, ReplaceExisting)
70    bOK = bOK AND hasUnoInterfaces(ContentProvider, "com.sun.star.ucb.XContentProvider")
71    Out.Log("ContentProvider is XContentProvider - " &amp; bOK)
72    if bOK then
73        bFound = false
74        queryInfo = oObj.queryContentProviders()
75        for i = 0 to ubound(queryInfo)
76            bFound = bFound OR queryInfo(i).Scheme = Scheme
77        next i
78        if NOT bFound then
79            Out.Log("Can't find registered ContentProvider in query!")
80            bOK = false
81        end if
82    end if
83    Test.MethodTested("registerContentProvider()", bOK)
84
85    Test.StartMethod("deregisterContentProvider()")
86    if bOK then
87        oObj.deregisterContentProvider(ContentProvider, Scheme)
88        bFound = false
89        queryInfo = oObj.queryContentProviders()
90        for i = 0 to ubound(queryInfo)
91            bFound = bFound OR queryInfo(i).Scheme = Scheme
92        next i
93        if bFound then
94            Out.Log("ContentProvider was found in query! It was not DeRegistered!")
95            bOK = false
96        end if
97    else
98        Out.Log("Can't deregister ContentProvider without registering!")
99    end if
100
101    Test.MethodTested("deregisterContentProvider()", bOK)
102
103    Test.StartMethod("queryContentProvider()")
104    bOK = true
105    ContentProvider = oObj.queryContentProvider(queryInfo(0).Scheme)
106    bOK = bOK AND hasUnoInterfaces(ContentProvider, "com.sun.star.ucb.XContentProvider")
107    Test.MethodTested("queryContentProvider()", bOK)
108
109Exit Sub
110ErrHndl:
111    Test.Exception()
112    bOK = false
113    resume next
114End Sub
115</script:module>
116