1caf5cd79SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3caf5cd79SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4caf5cd79SAndrew Rist * or more contributor license agreements. See the NOTICE file 5caf5cd79SAndrew Rist * distributed with this work for additional information 6caf5cd79SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7caf5cd79SAndrew Rist * to you under the Apache License, Version 2.0 (the 8caf5cd79SAndrew Rist * "License"); you may not use this file except in compliance 9caf5cd79SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11caf5cd79SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13caf5cd79SAndrew Rist * Unless required by applicable law or agreed to in writing, 14caf5cd79SAndrew Rist * software distributed under the License is distributed on an 15caf5cd79SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16caf5cd79SAndrew Rist * KIND, either express or implied. See the License for the 17caf5cd79SAndrew Rist * specific language governing permissions and limitations 18caf5cd79SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20caf5cd79SAndrew Rist *************************************************************/ 21caf5cd79SAndrew Rist 22caf5cd79SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef CONNECTIVITY_QUOTED_STRING_HXX 25cdf0e10cSrcweir #define CONNECTIVITY_QUOTED_STRING_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <tools/string.hxx> 28cdf0e10cSrcweir #include "file/filedllapi.hxx" 29cdf0e10cSrcweir 30cdf0e10cSrcweir namespace connectivity 31cdf0e10cSrcweir { 32cdf0e10cSrcweir //================================================================== 33*7b2bc0e6SDamjan Jovanovic // Derivation of string with overloaded GetToken/GetTokenCount methods 34*7b2bc0e6SDamjan Jovanovic // Especially for FLAT FILE format: Strings can be quoted 35cdf0e10cSrcweir //================================================================== 36cdf0e10cSrcweir class OOO_DLLPUBLIC_FILE QuotedTokenizedString 37cdf0e10cSrcweir { 38*7b2bc0e6SDamjan Jovanovic ::rtl::OUString m_sString; 39cdf0e10cSrcweir public: 40cdf0e10cSrcweir QuotedTokenizedString() {} 41*7b2bc0e6SDamjan Jovanovic QuotedTokenizedString(const ::rtl::OUString& _sString) : m_sString(_sString){} 42cdf0e10cSrcweir 43*7b2bc0e6SDamjan Jovanovic sal_Int32 GetTokenCount( sal_Unicode cTok , sal_Unicode cStrDel ) const; 44*7b2bc0e6SDamjan Jovanovic void GetTokenSpecial( ::rtl::OUString* _rStr, sal_Int32& nStartPos, sal_Unicode cTok = ';', sal_Unicode cStrDel = '\0' ) const; 45*7b2bc0e6SDamjan Jovanovic inline ::rtl::OUString& GetString() { return m_sString; } 46*7b2bc0e6SDamjan Jovanovic inline sal_Int32 Len() const { return m_sString.getLength(); } 47*7b2bc0e6SDamjan Jovanovic inline operator ::rtl::OUString&() { return m_sString; } 48cdf0e10cSrcweir }; 49cdf0e10cSrcweir } 50cdf0e10cSrcweir 51cdf0e10cSrcweir #endif // CONNECTIVITY_QUOTED_STRING_HXX 52