1*3334a7e6SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*3334a7e6SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*3334a7e6SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*3334a7e6SAndrew Rist * distributed with this work for additional information 6*3334a7e6SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*3334a7e6SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*3334a7e6SAndrew Rist * "License"); you may not use this file except in compliance 9*3334a7e6SAndrew Rist * with the License. You may obtain a copy of the License at 10*3334a7e6SAndrew Rist * 11*3334a7e6SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*3334a7e6SAndrew Rist * 13*3334a7e6SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*3334a7e6SAndrew Rist * software distributed under the License is distributed on an 15*3334a7e6SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*3334a7e6SAndrew Rist * KIND, either express or implied. See the License for the 17*3334a7e6SAndrew Rist * specific language governing permissions and limitations 18*3334a7e6SAndrew Rist * under the License. 19*3334a7e6SAndrew Rist * 20*3334a7e6SAndrew Rist *************************************************************/ 21*3334a7e6SAndrew Rist 22*3334a7e6SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef SVX_SQLPARSERCLIENT_HXX 25cdf0e10cSrcweir #define SVX_SQLPARSERCLIENT_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include "svx/dbtoolsclient.hxx" 28cdf0e10cSrcweir #include "svx/ParseContext.hxx" 29cdf0e10cSrcweir #include <com/sun/star/lang/XMultiServiceFactory.hpp> 30cdf0e10cSrcweir 31cdf0e10cSrcweir //........................................................................ 32cdf0e10cSrcweir namespace svxform 33cdf0e10cSrcweir { 34cdf0e10cSrcweir //........................................................................ 35cdf0e10cSrcweir 36cdf0e10cSrcweir //==================================================================== 37cdf0e10cSrcweir //= OSQLParserClient 38cdf0e10cSrcweir //==================================================================== 39cdf0e10cSrcweir class SVX_DLLPUBLIC OSQLParserClient : public ODbtoolsClient 40cdf0e10cSrcweir ,public ::svxform::OParseContextClient 41cdf0e10cSrcweir { 42cdf0e10cSrcweir private: 43cdf0e10cSrcweir //add by BerryJia for fixing Bug97420 Time:2002-9-12-11:00(PRC time) 44cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xORB; 45cdf0e10cSrcweir 46cdf0e10cSrcweir protected: 47cdf0e10cSrcweir mutable ::rtl::Reference< ::connectivity::simple::ISQLParser > m_xParser; 48cdf0e10cSrcweir 49cdf0e10cSrcweir protected: 50cdf0e10cSrcweir OSQLParserClient( 51cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB); 52cdf0e10cSrcweir virtual bool ensureLoaded() const; 53cdf0e10cSrcweir 54cdf0e10cSrcweir protected: predicateTree(::rtl::OUString & _rErrorMessage,const::rtl::OUString & _rStatement,const::com::sun::star::uno::Reference<::com::sun::star::util::XNumberFormatter> & _rxFormatter,const::com::sun::star::uno::Reference<::com::sun::star::beans::XPropertySet> & _rxField) const55cdf0e10cSrcweir inline ::rtl::Reference< ::connectivity::simple::ISQLParseNode > predicateTree( 56cdf0e10cSrcweir ::rtl::OUString& _rErrorMessage, 57cdf0e10cSrcweir const ::rtl::OUString& _rStatement, 58cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& _rxFormatter, 59cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxField 60cdf0e10cSrcweir ) const 61cdf0e10cSrcweir { 62cdf0e10cSrcweir ::rtl::Reference< ::connectivity::simple::ISQLParseNode > xReturn; 63cdf0e10cSrcweir if ( ensureLoaded() ) 64cdf0e10cSrcweir xReturn = m_xParser->predicateTree(_rErrorMessage, _rStatement, _rxFormatter, _rxField); 65cdf0e10cSrcweir return xReturn; 66cdf0e10cSrcweir } 67cdf0e10cSrcweir }; 68cdf0e10cSrcweir 69cdf0e10cSrcweir //........................................................................ 70cdf0e10cSrcweir } // namespace svxform 71cdf0e10cSrcweir //........................................................................ 72cdf0e10cSrcweir 73cdf0e10cSrcweir #endif // SVX_SQLPARSERCLIENT_HXX 74cdf0e10cSrcweir 75cdf0e10cSrcweir 76