1*9b5730f6SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*9b5730f6SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*9b5730f6SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*9b5730f6SAndrew Rist * distributed with this work for additional information 6*9b5730f6SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*9b5730f6SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*9b5730f6SAndrew Rist * "License"); you may not use this file except in compliance 9*9b5730f6SAndrew Rist * with the License. You may obtain a copy of the License at 10*9b5730f6SAndrew Rist * 11*9b5730f6SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*9b5730f6SAndrew Rist * 13*9b5730f6SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*9b5730f6SAndrew Rist * software distributed under the License is distributed on an 15*9b5730f6SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*9b5730f6SAndrew Rist * KIND, either express or implied. See the License for the 17*9b5730f6SAndrew Rist * specific language governing permissions and limitations 18*9b5730f6SAndrew Rist * under the License. 19*9b5730f6SAndrew Rist * 20*9b5730f6SAndrew Rist *************************************************************/ 21*9b5730f6SAndrew Rist 22*9b5730f6SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir #include "precompiled_connectivity.hxx" 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include "propertyids.hxx" 28cdf0e10cSrcweir 29cdf0e10cSrcweir namespace dbtools 30cdf0e10cSrcweir { getPROPERTY_QUERYTIMEOUT()31cdf0e10cSrcweir const sal_Char* getPROPERTY_QUERYTIMEOUT() { return "QueryTimeOut"; } getPROPERTY_MAXFIELDSIZE()32cdf0e10cSrcweir const sal_Char* getPROPERTY_MAXFIELDSIZE() { return "MaxFieldSize"; } getPROPERTY_MAXROWS()33cdf0e10cSrcweir const sal_Char* getPROPERTY_MAXROWS() { return "MaxRows"; } getPROPERTY_CURSORNAME()34cdf0e10cSrcweir const sal_Char* getPROPERTY_CURSORNAME() { return "CursorName"; } getPROPERTY_RESULTSETCONCURRENCY()35cdf0e10cSrcweir const sal_Char* getPROPERTY_RESULTSETCONCURRENCY() { return "ResultSetConcurrency"; } getPROPERTY_RESULTSETTYPE()36cdf0e10cSrcweir const sal_Char* getPROPERTY_RESULTSETTYPE() { return "ResultSetType"; } getPROPERTY_FETCHDIRECTION()37cdf0e10cSrcweir const sal_Char* getPROPERTY_FETCHDIRECTION() { return "FetchDirection"; } getPROPERTY_FETCHSIZE()38cdf0e10cSrcweir const sal_Char* getPROPERTY_FETCHSIZE() { return "FetchSize"; } getPROPERTY_ESCAPEPROCESSING()39cdf0e10cSrcweir const sal_Char* getPROPERTY_ESCAPEPROCESSING() { return "EscapeProcessing"; } getPROPERTY_USEBOOKMARKS()40cdf0e10cSrcweir const sal_Char* getPROPERTY_USEBOOKMARKS() { return "UseBookmarks"; } 41cdf0e10cSrcweir getPROPERTY_NAME()42cdf0e10cSrcweir const sal_Char* getPROPERTY_NAME() { return "Name"; } getPROPERTY_TYPE()43cdf0e10cSrcweir const sal_Char* getPROPERTY_TYPE() { return "Type"; } getPROPERTY_TYPENAME()44cdf0e10cSrcweir const sal_Char* getPROPERTY_TYPENAME() { return "TypeName"; } getPROPERTY_PRECISION()45cdf0e10cSrcweir const sal_Char* getPROPERTY_PRECISION() { return "Precision"; } getPROPERTY_SCALE()46cdf0e10cSrcweir const sal_Char* getPROPERTY_SCALE() { return "Scale"; } getPROPERTY_ISNULLABLE()47cdf0e10cSrcweir const sal_Char* getPROPERTY_ISNULLABLE() { return "IsNullable"; } getPROPERTY_ISAUTOINCREMENT()48cdf0e10cSrcweir const sal_Char* getPROPERTY_ISAUTOINCREMENT() { return "IsAutoIncrement"; } getPROPERTY_ISROWVERSION()49cdf0e10cSrcweir const sal_Char* getPROPERTY_ISROWVERSION() { return "IsRowVersion"; } getPROPERTY_DESCRIPTION()50cdf0e10cSrcweir const sal_Char* getPROPERTY_DESCRIPTION() { return "Description"; } getPROPERTY_DEFAULTVALUE()51cdf0e10cSrcweir const sal_Char* getPROPERTY_DEFAULTVALUE() { return "DefaultValue"; } 52cdf0e10cSrcweir getPROPERTY_REFERENCEDTABLE()53cdf0e10cSrcweir const sal_Char* getPROPERTY_REFERENCEDTABLE() { return "ReferencedTable"; } getPROPERTY_UPDATERULE()54cdf0e10cSrcweir const sal_Char* getPROPERTY_UPDATERULE() { return "UpdateRule"; } getPROPERTY_DELETERULE()55cdf0e10cSrcweir const sal_Char* getPROPERTY_DELETERULE() { return "DeleteRule"; } getPROPERTY_CATALOG()56cdf0e10cSrcweir const sal_Char* getPROPERTY_CATALOG() { return "Catalog"; } getPROPERTY_ISUNIQUE()57cdf0e10cSrcweir const sal_Char* getPROPERTY_ISUNIQUE() { return "IsUnique"; } getPROPERTY_ISPRIMARYKEYINDEX()58cdf0e10cSrcweir const sal_Char* getPROPERTY_ISPRIMARYKEYINDEX() { return "IsPrimaryKeyIndex"; } getPROPERTY_ISCLUSTERED()59cdf0e10cSrcweir const sal_Char* getPROPERTY_ISCLUSTERED() { return "IsClustered"; } getPROPERTY_ISASCENDING()60cdf0e10cSrcweir const sal_Char* getPROPERTY_ISASCENDING() { return "IsAscending"; } getPROPERTY_SCHEMANAME()61cdf0e10cSrcweir const sal_Char* getPROPERTY_SCHEMANAME() { return "SchemaName"; } getPROPERTY_CATALOGNAME()62cdf0e10cSrcweir const sal_Char* getPROPERTY_CATALOGNAME() { return "CatalogName"; } getPROPERTY_COMMAND()63cdf0e10cSrcweir const sal_Char* getPROPERTY_COMMAND() { return "Command"; } getPROPERTY_CHECKOPTION()64cdf0e10cSrcweir const sal_Char* getPROPERTY_CHECKOPTION() { return "CheckOption"; } getPROPERTY_PASSWORD()65cdf0e10cSrcweir const sal_Char* getPROPERTY_PASSWORD() { return "Password"; } getPROPERTY_RELATEDCOLUMN()66cdf0e10cSrcweir const sal_Char* getPROPERTY_RELATEDCOLUMN() { return "RelatedColumn"; } 67cdf0e10cSrcweir getPROPERTY_FUNCTION()68cdf0e10cSrcweir const sal_Char* getPROPERTY_FUNCTION() { return "Function"; } getPROPERTY_AGGREGATEFUNCTION()69cdf0e10cSrcweir const sal_Char* getPROPERTY_AGGREGATEFUNCTION() { return "AggregateFunction"; } getPROPERTY_TABLENAME()70cdf0e10cSrcweir const sal_Char* getPROPERTY_TABLENAME() { return "TableName"; } getPROPERTY_REALNAME()71cdf0e10cSrcweir const sal_Char* getPROPERTY_REALNAME() { return "RealName"; } getPROPERTY_DBASEPRECISIONCHANGED()72cdf0e10cSrcweir const sal_Char* getPROPERTY_DBASEPRECISIONCHANGED() { return "DbasePrecisionChanged"; } getPROPERTY_ISCURRENCY()73cdf0e10cSrcweir const sal_Char* getPROPERTY_ISCURRENCY() { return "IsCurrency"; } getPROPERTY_ISBOOKMARKABLE()74cdf0e10cSrcweir const sal_Char* getPROPERTY_ISBOOKMARKABLE() { return "IsBookmarkable"; } 75cdf0e10cSrcweir getPROPERTY_FORMATKEY()76cdf0e10cSrcweir const sal_Char* getPROPERTY_FORMATKEY() { return "FormatKey"; } getPROPERTY_LOCALE()77cdf0e10cSrcweir const sal_Char* getPROPERTY_LOCALE() { return "Locale"; } 78cdf0e10cSrcweir getPROPERTY_AUTOINCREMENTCREATION()79cdf0e10cSrcweir const sal_Char* getPROPERTY_AUTOINCREMENTCREATION() { return "AutoIncrementCreation"; } getPROPERTY_PRIVILEGES()80cdf0e10cSrcweir const sal_Char* getPROPERTY_PRIVILEGES() { return "Privileges"; } getPROPERTY_ID_HAVINGCLAUSE()81cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_HAVINGCLAUSE() { return "HavingClause"; } getPROPERTY_ID_ISSIGNED()82cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_ISSIGNED() { return "IsSigned"; } getPROPERTY_ID_ISSEARCHABLE()83cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_ISSEARCHABLE() { return "IsSearchable"; } 84cdf0e10cSrcweir getPROPERTY_ID_APPLYFILTER()85cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_APPLYFILTER() { return "ApplyFilter"; } getPROPERTY_ID_FILTER()86cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_FILTER() { return "Filter"; } getPROPERTY_ID_MASTERFIELDS()87cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_MASTERFIELDS() { return "MasterFields"; } getPROPERTY_ID_DETAILFIELDS()88cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_DETAILFIELDS() { return "DetailFields"; } getPROPERTY_ID_FIELDTYPE()89cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_FIELDTYPE() { return "FieldType"; } getPROPERTY_ID_VALUE()90cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_VALUE() { return "Value"; } getPROPERTY_ID_ACTIVE_CONNECTION()91cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_ACTIVE_CONNECTION() { return "ActiveConnection"; } getPROPERTY_ID_LABEL()92cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_LABEL() { return "Label"; } 93cdf0e10cSrcweir 94cdf0e10cSrcweir //============================================================ 95cdf0e10cSrcweir //= error messages 96cdf0e10cSrcweir //============================================================ getSQLSTATE_SEQUENCE()97cdf0e10cSrcweir const sal_Char* getSQLSTATE_SEQUENCE() { return "HY010"; } getSTR_DELIMITER()98cdf0e10cSrcweir const sal_Char* getSTR_DELIMITER() { return "/"; } 99cdf0e10cSrcweir 100cdf0e10cSrcweir 101cdf0e10cSrcweir ~OPropertyMap()102cdf0e10cSrcweir OPropertyMap::~OPropertyMap() 103cdf0e10cSrcweir { 104cdf0e10cSrcweir ::std::map<sal_Int32 , rtl_uString*>::iterator aIter = m_aPropertyMap.begin(); 105cdf0e10cSrcweir for(;aIter != m_aPropertyMap.end();++aIter) 106cdf0e10cSrcweir if(aIter->second) 107cdf0e10cSrcweir rtl_uString_release(aIter->second); 108cdf0e10cSrcweir } 109cdf0e10cSrcweir // ------------------------------------------------------------------------------ getNameByIndex(sal_Int32 _nIndex) const110cdf0e10cSrcweir ::rtl::OUString OPropertyMap::getNameByIndex(sal_Int32 _nIndex) const 111cdf0e10cSrcweir { 112cdf0e10cSrcweir ::rtl::OUString sRet; 113cdf0e10cSrcweir ::std::map<sal_Int32 , rtl_uString*>::const_iterator aIter = m_aPropertyMap.find(_nIndex); 114cdf0e10cSrcweir if(aIter == m_aPropertyMap.end()) 115cdf0e10cSrcweir sRet = const_cast<OPropertyMap*>(this)->fillValue(_nIndex); 116cdf0e10cSrcweir else 117cdf0e10cSrcweir sRet = aIter->second; 118cdf0e10cSrcweir return sRet; 119cdf0e10cSrcweir } 120cdf0e10cSrcweir // ------------------------------------------------------------------------------ fillValue(sal_Int32 _nIndex)121cdf0e10cSrcweir ::rtl::OUString OPropertyMap::fillValue(sal_Int32 _nIndex) 122cdf0e10cSrcweir { 123cdf0e10cSrcweir rtl_uString* pStr = NULL; 124cdf0e10cSrcweir switch(_nIndex) 125cdf0e10cSrcweir { 126cdf0e10cSrcweir case PROPERTY_ID_QUERYTIMEOUT: { rtl_uString_newFromAscii(&pStr,getPROPERTY_QUERYTIMEOUT() ); break; } 127cdf0e10cSrcweir case PROPERTY_ID_MAXFIELDSIZE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_MAXFIELDSIZE() ); break; } 128cdf0e10cSrcweir case PROPERTY_ID_MAXROWS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_MAXROWS() ); break; } 129cdf0e10cSrcweir case PROPERTY_ID_CURSORNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CURSORNAME() ); break; } 130cdf0e10cSrcweir case PROPERTY_ID_RESULTSETCONCURRENCY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RESULTSETCONCURRENCY() ); break; } 131cdf0e10cSrcweir case PROPERTY_ID_RESULTSETTYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RESULTSETTYPE() ); break; } 132cdf0e10cSrcweir case PROPERTY_ID_FETCHDIRECTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FETCHDIRECTION() ); break; } 133cdf0e10cSrcweir case PROPERTY_ID_FETCHSIZE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FETCHSIZE() ); break; } 134cdf0e10cSrcweir case PROPERTY_ID_ESCAPEPROCESSING: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ESCAPEPROCESSING() ); break; } 135cdf0e10cSrcweir case PROPERTY_ID_USEBOOKMARKS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_USEBOOKMARKS() ); break; } 136cdf0e10cSrcweir // Column 137cdf0e10cSrcweir case PROPERTY_ID_NAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_NAME() ); break; } 138cdf0e10cSrcweir case PROPERTY_ID_TYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TYPE() ); break; } 139cdf0e10cSrcweir case PROPERTY_ID_TYPENAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TYPENAME() ); break; } 140cdf0e10cSrcweir case PROPERTY_ID_PRECISION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PRECISION() ); break; } 141cdf0e10cSrcweir case PROPERTY_ID_SCALE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_SCALE() ); break; } 142cdf0e10cSrcweir case PROPERTY_ID_ISNULLABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISNULLABLE() ); break; } 143cdf0e10cSrcweir case PROPERTY_ID_ISAUTOINCREMENT: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISAUTOINCREMENT() ); break; } 144cdf0e10cSrcweir case PROPERTY_ID_ISROWVERSION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISROWVERSION() ); break; } 145cdf0e10cSrcweir case PROPERTY_ID_DESCRIPTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DESCRIPTION() ); break; } 146cdf0e10cSrcweir case PROPERTY_ID_DEFAULTVALUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DEFAULTVALUE() ); break; } 147cdf0e10cSrcweir 148cdf0e10cSrcweir case PROPERTY_ID_REFERENCEDTABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_REFERENCEDTABLE() ); break; } 149cdf0e10cSrcweir case PROPERTY_ID_UPDATERULE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_UPDATERULE() ); break; } 150cdf0e10cSrcweir case PROPERTY_ID_DELETERULE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DELETERULE() ); break; } 151cdf0e10cSrcweir case PROPERTY_ID_CATALOG: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CATALOG() ); break; } 152cdf0e10cSrcweir case PROPERTY_ID_ISUNIQUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISUNIQUE() ); break; } 153cdf0e10cSrcweir case PROPERTY_ID_ISPRIMARYKEYINDEX: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISPRIMARYKEYINDEX() ); break; } 154cdf0e10cSrcweir case PROPERTY_ID_ISCLUSTERED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISCLUSTERED() ); break; } 155cdf0e10cSrcweir case PROPERTY_ID_ISASCENDING: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISASCENDING() ); break; } 156cdf0e10cSrcweir case PROPERTY_ID_SCHEMANAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_SCHEMANAME() ); break; } 157cdf0e10cSrcweir case PROPERTY_ID_CATALOGNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CATALOGNAME() ); break; } 158cdf0e10cSrcweir 159cdf0e10cSrcweir case PROPERTY_ID_COMMAND: { rtl_uString_newFromAscii(&pStr,getPROPERTY_COMMAND() ); break; } 160cdf0e10cSrcweir case PROPERTY_ID_CHECKOPTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CHECKOPTION() ); break; } 161cdf0e10cSrcweir case PROPERTY_ID_PASSWORD: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PASSWORD() ); break; } 162cdf0e10cSrcweir case PROPERTY_ID_RELATEDCOLUMN: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RELATEDCOLUMN() ); break; } 163cdf0e10cSrcweir 164cdf0e10cSrcweir case PROPERTY_ID_FUNCTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FUNCTION() ); break; } 165cdf0e10cSrcweir case PROPERTY_ID_AGGREGATEFUNCTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_AGGREGATEFUNCTION() ); break; } 166cdf0e10cSrcweir case PROPERTY_ID_TABLENAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TABLENAME() ); break; } 167cdf0e10cSrcweir case PROPERTY_ID_REALNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_REALNAME() ); break; } 168cdf0e10cSrcweir case PROPERTY_ID_DBASEPRECISIONCHANGED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DBASEPRECISIONCHANGED()); break; } 169cdf0e10cSrcweir case PROPERTY_ID_ISCURRENCY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISCURRENCY() ); break; } 170cdf0e10cSrcweir case PROPERTY_ID_ISBOOKMARKABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISBOOKMARKABLE() ); break; } 171cdf0e10cSrcweir case PROPERTY_ID_HY010: { rtl_uString_newFromAscii(&pStr,getSQLSTATE_SEQUENCE() ); break; } 172cdf0e10cSrcweir case PROPERTY_ID_DELIMITER: { rtl_uString_newFromAscii(&pStr,getSTR_DELIMITER() ); break; } 173cdf0e10cSrcweir case PROPERTY_ID_FORMATKEY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FORMATKEY() ); break; } 174cdf0e10cSrcweir case PROPERTY_ID_LOCALE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_LOCALE() ); break; } 175cdf0e10cSrcweir case PROPERTY_ID_AUTOINCREMENTCREATION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_AUTOINCREMENTCREATION()); break; } 176cdf0e10cSrcweir case PROPERTY_ID_PRIVILEGES: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PRIVILEGES() ); break; } 177cdf0e10cSrcweir case PROPERTY_ID_HAVINGCLAUSE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_HAVINGCLAUSE() ); break; } 178cdf0e10cSrcweir case PROPERTY_ID_ISSIGNED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ISSIGNED() ); break; } 179cdf0e10cSrcweir case PROPERTY_ID_ISSEARCHABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ISSEARCHABLE() ); break; } 180cdf0e10cSrcweir case PROPERTY_ID_LABEL: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_LABEL() ); break; } 181cdf0e10cSrcweir case PROPERTY_ID_APPLYFILTER: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_APPLYFILTER() ); break; } 182cdf0e10cSrcweir case PROPERTY_ID_FILTER: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_FILTER() ); break; } 183cdf0e10cSrcweir case PROPERTY_ID_MASTERFIELDS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_MASTERFIELDS() ); break; } 184cdf0e10cSrcweir case PROPERTY_ID_DETAILFIELDS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_DETAILFIELDS() ); break; } 185cdf0e10cSrcweir case PROPERTY_ID_FIELDTYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_FIELDTYPE() ); break; } 186cdf0e10cSrcweir case PROPERTY_ID_VALUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_VALUE() ); break; } 187cdf0e10cSrcweir case PROPERTY_ID_ACTIVE_CONNECTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ACTIVE_CONNECTION() ); break; } 188cdf0e10cSrcweir } 189cdf0e10cSrcweir m_aPropertyMap[_nIndex] = pStr; 190cdf0e10cSrcweir return pStr; 191cdf0e10cSrcweir } 192cdf0e10cSrcweir } 193cdf0e10cSrcweir 194cdf0e10cSrcweir 195