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 10caf5cd79SAndrew Rist * 11caf5cd79SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12caf5cd79SAndrew Rist * 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. 19caf5cd79SAndrew Rist * 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*f13410cfSDamjan Jovanovic // Derivation of string with overloaded GetToken/GetTokenCount methods 34*f13410cfSDamjan Jovanovic // Especially for FLAT FILE format: Strings can be quoted 35cdf0e10cSrcweir //================================================================== 36cdf0e10cSrcweir class OOO_DLLPUBLIC_FILE QuotedTokenizedString 37cdf0e10cSrcweir { 38*f13410cfSDamjan Jovanovic ::rtl::OUString m_sString; 39cdf0e10cSrcweir public: QuotedTokenizedString()40cdf0e10cSrcweir QuotedTokenizedString() {} QuotedTokenizedString(const::rtl::OUString & _sString)41*f13410cfSDamjan Jovanovic QuotedTokenizedString(const ::rtl::OUString& _sString) : m_sString(_sString){} 42cdf0e10cSrcweir 43*f13410cfSDamjan Jovanovic sal_Int32 GetTokenCount( sal_Unicode cTok , sal_Unicode cStrDel ) const; 44*f13410cfSDamjan Jovanovic void GetTokenSpecial( ::rtl::OUString* _rStr, sal_Int32& nStartPos, sal_Unicode cTok = ';', sal_Unicode cStrDel = '\0' ) const; GetString()45*f13410cfSDamjan Jovanovic inline ::rtl::OUString& GetString() { return m_sString; } Len() const46*f13410cfSDamjan Jovanovic inline sal_Int32 Len() const { return m_sString.getLength(); } operator ::rtl::OUString&()47*f13410cfSDamjan Jovanovic inline operator ::rtl::OUString&() { return m_sString; } 48cdf0e10cSrcweir }; 49cdf0e10cSrcweir } 50cdf0e10cSrcweir 51cdf0e10cSrcweir #endif // CONNECTIVITY_QUOTED_STRING_HXX 52