1*2d785d7eSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*2d785d7eSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*2d785d7eSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*2d785d7eSAndrew Rist * distributed with this work for additional information 6*2d785d7eSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*2d785d7eSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*2d785d7eSAndrew Rist * "License"); you may not use this file except in compliance 9*2d785d7eSAndrew Rist * with the License. You may obtain a copy of the License at 10*2d785d7eSAndrew Rist * 11*2d785d7eSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*2d785d7eSAndrew Rist * 13*2d785d7eSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*2d785d7eSAndrew Rist * software distributed under the License is distributed on an 15*2d785d7eSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*2d785d7eSAndrew Rist * KIND, either express or implied. See the License for the 17*2d785d7eSAndrew Rist * specific language governing permissions and limitations 18*2d785d7eSAndrew Rist * under the License. 19*2d785d7eSAndrew Rist * 20*2d785d7eSAndrew Rist *************************************************************/ 21*2d785d7eSAndrew Rist 22*2d785d7eSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef FORMS_SOLAR_DISPATCHER_HXX 25cdf0e10cSrcweir #define FORMS_SOLAR_DISPATCHER_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <rtl/ustring.hxx> 28cdf0e10cSrcweir 29cdf0e10cSrcweir //......................................................................... 30cdf0e10cSrcweir namespace frm 31cdf0e10cSrcweir { 32cdf0e10cSrcweir //......................................................................... 33cdf0e10cSrcweir 34cdf0e10cSrcweir //========================================================================= 35cdf0e10cSrcweir //= IFeatureDispatcher 36cdf0e10cSrcweir //========================================================================= 37cdf0e10cSrcweir class IFeatureDispatcher 38cdf0e10cSrcweir { 39cdf0e10cSrcweir public: 40cdf0e10cSrcweir /** dispatches a feature 41cdf0e10cSrcweir 42cdf0e10cSrcweir @param _nFeatureId 43cdf0e10cSrcweir the id of the feature to dispatch 44cdf0e10cSrcweir */ 45cdf0e10cSrcweir virtual void dispatch( sal_Int16 _nFeatureId ) const = 0; 46cdf0e10cSrcweir 47cdf0e10cSrcweir /** dispatches a feature, with an additional named parameter 48cdf0e10cSrcweir 49cdf0e10cSrcweir @param _nFeatureId 50cdf0e10cSrcweir the id of the feature to dispatch 51cdf0e10cSrcweir 52cdf0e10cSrcweir @param _pParamAsciiName 53cdf0e10cSrcweir the Ascii name of the parameter of the dispatch call 54cdf0e10cSrcweir 55cdf0e10cSrcweir @param _rParamValue 56cdf0e10cSrcweir the value of the parameter of the dispatch call 57cdf0e10cSrcweir */ 58cdf0e10cSrcweir virtual void dispatchWithArgument( 59cdf0e10cSrcweir sal_Int16 _nFeatureId, 60cdf0e10cSrcweir const sal_Char* _pParamName, 61cdf0e10cSrcweir const ::com::sun::star::uno::Any& _rParamValue 62cdf0e10cSrcweir ) const = 0; 63cdf0e10cSrcweir 64cdf0e10cSrcweir /** checks whether a given feature is enabled 65cdf0e10cSrcweir */ 66cdf0e10cSrcweir virtual bool isEnabled( sal_Int16 _nFeatureId ) const = 0; 67cdf0e10cSrcweir 68cdf0e10cSrcweir /** returns the boolean state of a feature 69cdf0e10cSrcweir 70cdf0e10cSrcweir Certain features may support more status information than only the enabled/disabled 71cdf0e10cSrcweir state. The type of such additional information is fixed relative to a given feature, but 72cdf0e10cSrcweir may differ between different features. 73cdf0e10cSrcweir 74cdf0e10cSrcweir This method allows retrieving status information about features which have an additional 75cdf0e10cSrcweir boolean information associated with it. 76cdf0e10cSrcweir */ 77cdf0e10cSrcweir virtual bool getBooleanState( sal_Int16 _nFeatureId ) const = 0; 78cdf0e10cSrcweir 79cdf0e10cSrcweir /** returns the string state of a feature 80cdf0e10cSrcweir 81cdf0e10cSrcweir Certain features may support more status information than only the enabled/disabled 82cdf0e10cSrcweir state. The type of such additional information is fixed relative to a given feature, but 83cdf0e10cSrcweir may differ between different features. 84cdf0e10cSrcweir 85cdf0e10cSrcweir This method allows retrieving status information about features which have an additional 86cdf0e10cSrcweir string information associated with it. 87cdf0e10cSrcweir */ 88cdf0e10cSrcweir virtual ::rtl::OUString getStringState( sal_Int16 _nFeatureId ) const = 0; 89cdf0e10cSrcweir 90cdf0e10cSrcweir /** returns the integer state of a feature 91cdf0e10cSrcweir 92cdf0e10cSrcweir Certain features may support more status information than only the enabled/disabled 93cdf0e10cSrcweir state. The type of such additional information is fixed relative to a given feature, but 94cdf0e10cSrcweir may differ between different features. 95cdf0e10cSrcweir 96cdf0e10cSrcweir This method allows retrieving status information about features which have an additional 97cdf0e10cSrcweir integer information associated with it. 98cdf0e10cSrcweir */ 99cdf0e10cSrcweir virtual sal_Int32 getIntegerState( sal_Int16 _nFeatureId ) const = 0; 100cdf0e10cSrcweir }; 101cdf0e10cSrcweir 102cdf0e10cSrcweir //......................................................................... 103cdf0e10cSrcweir } // namespace frm 104cdf0e10cSrcweir //......................................................................... 105cdf0e10cSrcweir 106cdf0e10cSrcweir #endif // FORMS_SOLAR_DISPATCHER_HXX 107