masterfix DEV300: #i10000# build fix
[LibreOffice.git] / forms / source / inc / featuredispatcher.hxx
blobeec111c00406f465fd2abba455c2b70a639f6d4e
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef FORMS_SOLAR_DISPATCHER_HXX
29 #define FORMS_SOLAR_DISPATCHER_HXX
31 #include <rtl/ustring.hxx>
33 //.........................................................................
34 namespace frm
36 //.........................................................................
38 //=========================================================================
39 //= IFeatureDispatcher
40 //=========================================================================
41 class IFeatureDispatcher
43 public:
44 /** dispatches a feature
46 @param _nFeatureId
47 the id of the feature to dispatch
49 virtual void dispatch( sal_Int16 _nFeatureId ) const = 0;
51 /** dispatches a feature, with an additional named parameter
53 @param _nFeatureId
54 the id of the feature to dispatch
56 @param _pParamAsciiName
57 the Ascii name of the parameter of the dispatch call
59 @param _rParamValue
60 the value of the parameter of the dispatch call
62 virtual void dispatchWithArgument(
63 sal_Int16 _nFeatureId,
64 const sal_Char* _pParamName,
65 const ::com::sun::star::uno::Any& _rParamValue
66 ) const = 0;
68 /** checks whether a given feature is enabled
70 virtual bool isEnabled( sal_Int16 _nFeatureId ) const = 0;
72 /** returns the boolean state of a feature
74 Certain features may support more status information than only the enabled/disabled
75 state. The type of such additional information is fixed relative to a given feature, but
76 may differ between different features.
78 This method allows retrieving status information about features which have an additional
79 boolean information associated with it.
81 virtual bool getBooleanState( sal_Int16 _nFeatureId ) const = 0;
83 /** returns the string state of a feature
85 Certain features may support more status information than only the enabled/disabled
86 state. The type of such additional information is fixed relative to a given feature, but
87 may differ between different features.
89 This method allows retrieving status information about features which have an additional
90 string information associated with it.
92 virtual ::rtl::OUString getStringState( sal_Int16 _nFeatureId ) const = 0;
94 /** returns the integer state of a feature
96 Certain features may support more status information than only the enabled/disabled
97 state. The type of such additional information is fixed relative to a given feature, but
98 may differ between different features.
100 This method allows retrieving status information about features which have an additional
101 integer information associated with it.
103 virtual sal_Int32 getIntegerState( sal_Int16 _nFeatureId ) const = 0;
106 //.........................................................................
107 } // namespace frm
108 //.........................................................................
110 #endif // FORMS_SOLAR_DISPATCHER_HXX