nss: upgrade to release 3.73
[LibreOffice.git] / forms / source / inc / featuredispatcher.hxx
blob12fbe44ff5fd344aa20ad1a825acd3b29945f572
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_FORMS_SOURCE_INC_FEATUREDISPATCHER_HXX
21 #define INCLUDED_FORMS_SOURCE_INC_FEATUREDISPATCHER_HXX
23 #include <rtl/ustring.hxx>
24 #include <com/sun/star/uno/Any.hxx>
27 namespace frm
30 class IFeatureDispatcher
32 public:
33 /** dispatches a feature
35 @param _nFeatureId
36 the id of the feature to dispatch
38 virtual void dispatch( sal_Int16 _nFeatureId ) const = 0;
40 /** dispatches a feature, with an additional named parameter
42 @param _nFeatureId
43 the id of the feature to dispatch
45 @param _pParamAsciiName
46 the Ascii name of the parameter of the dispatch call
48 @param _rParamValue
49 the value of the parameter of the dispatch call
51 virtual void dispatchWithArgument(
52 sal_Int16 _nFeatureId,
53 const char* _pParamName,
54 const css::uno::Any& _rParamValue
55 ) const = 0;
57 /** checks whether a given feature is enabled
59 virtual bool isEnabled( sal_Int16 _nFeatureId ) const = 0;
61 /** returns the boolean state of a feature
63 Certain features may support more status information than only the enabled/disabled
64 state. The type of such additional information is fixed relative to a given feature, but
65 may differ between different features.
67 This method allows retrieving status information about features which have an additional
68 boolean information associated with it.
70 virtual bool getBooleanState( sal_Int16 _nFeatureId ) const = 0;
72 /** returns the string 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 string information associated with it.
81 virtual OUString getStringState( sal_Int16 _nFeatureId ) const = 0;
83 /** returns the integer 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 integer information associated with it.
92 virtual sal_Int32 getIntegerState( sal_Int16 _nFeatureId ) const = 0;
94 protected:
95 ~IFeatureDispatcher() {}
99 } // namespace frm
102 #endif // INCLUDED_FORMS_SOURCE_INC_FEATUREDISPATCHER_HXX
104 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */