1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_mozilla_XProfileDiscover_idl__
24#define __com_sun_star_mozilla_XProfileDiscover_idl__
25
26#ifndef __com_sun_star_uno_XInterface_idl__
27#include <com/sun/star/uno/XInterface.idl>
28#endif
29#ifndef __com_sun_star_mozilla_MozillaProductType_idl__
30#include <com/sun/star/mozilla/MozillaProductType.idl>
31#endif
32
33
34 module com {  module sun {  module star {  module mozilla {
35
36
37
38/** is the interface used to list and get information for Mozilla/Thunderbird profiles
39
40
41	@see com::sun::star::mozilla::XProfileManager
42	@see com::sun::star::mozilla::MozillaBootstrap
43 */
44published interface XProfileDiscover: com::sun::star::uno::XInterface
45{
46
47	/** attempts to get the profiles count.
48
49		@param product
50			is the product name to get profiles count.Currently support "Mozilla" and "Thunderbird".
51		@returns
52			the profiles count of selected product.
53
54	 */
55	long getProfileCount( [in]MozillaProductType product);
56
57	/** attempts to get the profile list for the given product.
58
59		@param product
60			is the product name to get profile list.Currently support "Mozilla" and "Thunderbird".
61		@param list
62			is a list of all profile of the given product.
63		@returns
64			the profile count for the given product.
65
66	 */
67	long getProfileList( [in]MozillaProductType product,[out] sequence<string> list);
68
69	/** attempts to get the default profile name for the given product.
70
71		@param product
72			is the product name to get default profile.Currently support "Mozilla" and "Thunderbird".
73		@returns
74			the default profile name for the given product.
75
76	 */
77	string getDefaultProfile( [in]MozillaProductType product);
78
79
80	/** attempts to get the full path for the given profile.
81
82		@param product
83			is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
84		@param profileName
85			the profile name to get full path.
86		@returns
87			the full path of the given profile.
88
89	 */
90	string getProfilePath( [in]MozillaProductType product,[in]string profileName);
91
92	/** attempts to get whether profile is locked by other applications.
93
94		@param product
95			is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
96		@param profileName
97			the profile name to check.
98		@returns
99			true is the given profile is locked.
100
101	 */
102	boolean isProfileLocked( [in]MozillaProductType product,[in]string profileName);
103
104	/** return true if the given profile exists
105
106		@param product
107			is the product name to get profile path.Currently support "Mozilla" and "Thunderbird".
108		@param profileName
109			the profile name to check.
110		@returns
111			whether given profile exists
112
113	 */
114	boolean getProfileExists( [in]MozillaProductType product,[in]string profileName);
115
116
117};
118
119//=============================================================================
120
121}; }; }; };
122
123#endif
124