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_ucb_XCommandInfo_idl__
24#define __com_sun_star_ucb_XCommandInfo_idl__
25
26#ifndef __com_sun_star_uno_XInterface_idl__
27#include <com/sun/star/uno/XInterface.idl>
28#endif
29
30#ifndef __com_sun_star_ucb_CommandInfo_idl__
31#include <com/sun/star/ucb/CommandInfo.idl>
32#endif
33
34#ifndef __com_sun_star_ucb_UnsupportedCommandException_idl__
35#include <com/sun/star/ucb/UnsupportedCommandException.idl>
36#endif
37
38
39//=============================================================================
40
41module com { module sun { module star { module ucb {
42
43//=============================================================================
44/** provides access to information on a set of commands.
45
46	@version  1.0
47	@author   Kai Sommerfeld
48*/
49published interface XCommandInfo: com::sun::star::uno::XInterface
50{
51	//-------------------------------------------------------------------------
52	/** obtains information for all supported commands.
53
54		@returns
55		a sequence with information for all supported commands.
56	*/
57	sequence<com::sun::star::ucb::CommandInfo> getCommands();
58
59	//-------------------------------------------------------------------------
60	/** returns information for a specific command.
61
62		@returns
63		the information for the requested command.
64
65		@param Name
66		specifies the name of the requested command.
67
68		@throws UnsupportedCommandException
69		if the command is not supported.
70	*/
71	com::sun::star::ucb::CommandInfo getCommandInfoByName( [in] string Name )
72			raises( com::sun::star::ucb::UnsupportedCommandException );
73
74	//-------------------------------------------------------------------------
75	/** returns information for a specific command.
76
77		@returns
78		the information for the requested command.
79
80		@param Handle
81		specifies the handle of the requested command.
82
83		@throws UnsupportedCommandException
84		if the command is not supported.
85	*/
86	com::sun::star::ucb::CommandInfo getCommandInfoByHandle( [in] long Handle )
87			raises( com::sun::star::ucb::UnsupportedCommandException );
88
89	//-------------------------------------------------------------------------
90	/** checks whether a command specific is supported.
91
92		@returns
93		<TRUE/> if a command with the specified name is supported;
94		otherwise <FALSE/> is returned.
95
96		@param Name
97		specifies the name of the requested command.
98	*/
99	boolean hasCommandByName( [in] string Name );
100
101	//-------------------------------------------------------------------------
102	/** checks whether a apecific command is supported.
103
104		@returns
105		<TRUE/> if a command with the specified handle is supported;
106		otherwise <FALSE/> is returned.
107
108		@param Name
109		specifies the handle of the requested command.
110	*/
111	boolean hasCommandByHandle( [in] long Handle );
112
113};
114
115//=============================================================================
116
117}; }; }; };
118
119#endif
120