|  | /************************************************************** | 
|  | * | 
|  | * Licensed to the Apache Software Foundation (ASF) under one | 
|  | * or more contributor license agreements.  See the NOTICE file | 
|  | * distributed with this work for additional information | 
|  | * regarding copyright ownership.  The ASF licenses this file | 
|  | * to you under the Apache License, Version 2.0 (the | 
|  | * "License"); you may not use this file except in compliance | 
|  | * with the License.  You may obtain a copy of the License at | 
|  | * | 
|  | *   http://www.apache.org/licenses/LICENSE-2.0 | 
|  | * | 
|  | * Unless required by applicable law or agreed to in writing, | 
|  | * software distributed under the License is distributed on an | 
|  | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | * KIND, either express or implied.  See the License for the | 
|  | * specific language governing permissions and limitations | 
|  | * under the License. | 
|  | * | 
|  | *************************************************************/ | 
|  |  | 
|  | #ifndef _OSL_DIAGNOSE_H_ | 
|  | #include <osl/diagnose.h> | 
|  | #endif | 
|  | #include "mysqlc_propertyids.hxx" | 
|  |  | 
|  | using ::rtl::OUString; | 
|  |  | 
|  | namespace connectivity | 
|  | { | 
|  | namespace mysqlc | 
|  | { | 
|  | const sal_Char* getPROPERTY_QUERYTIMEOUT()			{ return "QueryTimeOut"; } | 
|  | const sal_Char* getPROPERTY_MAXFIELDSIZE()			{ return "MaxFieldSize"; } | 
|  | const sal_Char* getPROPERTY_MAXROWS()				{ return "MaxRows"; } | 
|  | const sal_Char* getPROPERTY_CURSORNAME()			{ return "CursorName"; } | 
|  | const sal_Char* getPROPERTY_RESULTSETCONCURRENCY()	{ return "ResultSetConcurrency"; } | 
|  | const sal_Char* getPROPERTY_RESULTSETTYPE()			{ return "ResultSetType"; } | 
|  | const sal_Char* getPROPERTY_FETCHDIRECTION()		{ return "FetchDirection"; } | 
|  | const sal_Char* getPROPERTY_FETCHSIZE()				{ return "FetchSize"; } | 
|  | const sal_Char* getPROPERTY_ESCAPEPROCESSING()		{ return "EscapeProcessing"; } | 
|  | const sal_Char* getPROPERTY_USEBOOKMARKS()			{ return "UseBookmarks"; } | 
|  |  | 
|  | const sal_Char* getPROPERTY_NAME()					{ return "Name"; } | 
|  | const sal_Char* getPROPERTY_TYPE()					{ return "Type"; } | 
|  | const sal_Char* getPROPERTY_TYPENAME()				{ return "TypeName"; } | 
|  | const sal_Char* getPROPERTY_PRECISION()				{ return "Precision"; } | 
|  | const sal_Char* getPROPERTY_SCALE()					{ return "Scale"; } | 
|  | const sal_Char* getPROPERTY_ISNULLABLE()			{ return "IsNullable"; } | 
|  | const sal_Char* getPROPERTY_ISAUTOINCREMENT()		{ return "IsAutoIncrement"; } | 
|  | const sal_Char* getPROPERTY_ISROWVERSION()			{ return "IsRowVersion"; } | 
|  | const sal_Char* getPROPERTY_DESCRIPTION()			{ return "Description"; } | 
|  | const sal_Char* getPROPERTY_DEFAULTVALUE()			{ return "DefaultValue"; } | 
|  |  | 
|  | const sal_Char* getPROPERTY_REFERENCEDTABLE()		{ return "ReferencedTable"; } | 
|  | const sal_Char* getPROPERTY_UPDATERULE()			{ return "UpdateRule"; } | 
|  | const sal_Char* getPROPERTY_DELETERULE()			{ return "DeleteRule"; } | 
|  | const sal_Char* getPROPERTY_CATALOG()				{ return "Catalog"; } | 
|  | const sal_Char* getPROPERTY_ISUNIQUE()				{ return "IsUnique"; } | 
|  | const sal_Char* getPROPERTY_ISPRIMARYKEYINDEX()		{ return "IsPrimaryKeyIndex"; } | 
|  | const sal_Char* getPROPERTY_ISCLUSTERED()			{ return "IsClustered"; } | 
|  | const sal_Char* getPROPERTY_ISASCENDING()			{ return "IsAscending"; } | 
|  | const sal_Char* getPROPERTY_SCHEMANAME()			{ return "SchemaName"; } | 
|  | const sal_Char* getPROPERTY_CATALOGNAME()			{ return "CatalogName"; } | 
|  | const sal_Char* getPROPERTY_COMMAND()				{ return "Command"; } | 
|  | const sal_Char* getPROPERTY_CHECKOPTION()			{ return "CheckOption"; } | 
|  | const sal_Char* getPROPERTY_PASSWORD()				{ return "Password"; } | 
|  | const sal_Char* getPROPERTY_RELATEDCOLUMN()			{ return "RelatedColumn"; } | 
|  |  | 
|  | const sal_Char* getSTAT_INVALID_INDEX()				{ return "Invalid descriptor index"; } | 
|  |  | 
|  | const sal_Char* getPROPERTY_FUNCTION()				{ return "Function"; } | 
|  | const sal_Char* getPROPERTY_TABLENAME()				{ return "TableName"; } | 
|  | const sal_Char* getPROPERTY_REALNAME()				{ return "RealName"; } | 
|  | const sal_Char* getPROPERTY_DBASEPRECISIONCHANGED()	{ return "DbasePrecisionChanged"; } | 
|  | const sal_Char* getPROPERTY_ISCURRENCY()			{ return "IsCurrency"; } | 
|  | const sal_Char* getPROPERTY_ISBOOKMARKABLE()		{ return "IsBookmarkable"; } | 
|  |  | 
|  | const sal_Char* getPROPERTY_FORMATKEY()				{ return "FormatKey"; } | 
|  | const sal_Char* getPROPERTY_LOCALE()				{ return "Locale"; } | 
|  |  | 
|  | const sal_Char* getPROPERTY_AUTOINCREMENTCREATION()	{ return "AutoIncrementCreation"; } | 
|  | const sal_Char* getPROPERTY_PRIVILEGES()			{ return "Privileges"; } | 
|  | //============================================================ | 
|  | //= error messages | 
|  | //============================================================ | 
|  | const sal_Char* getERRORMSG_SEQUENCE()				{ return "Function sequence error"; } | 
|  | const sal_Char* getSQLSTATE_SEQUENCE()				{ return "HY010"; } | 
|  | const sal_Char* getSQLSTATE_GENERAL()				{ return "HY0000"; } | 
|  | const sal_Char* getSTR_DELIMITER()					{ return "/"; } | 
|  |  | 
|  |  | 
|  |  | 
|  | /* {{{ OPropertyMap::~OPropertyMap() -I- */ | 
|  | OPropertyMap::~OPropertyMap() | 
|  | { | 
|  | ::std::map<sal_Int32 , rtl_uString*>::iterator aIter = m_aPropertyMap.begin(); | 
|  | for(; aIter != m_aPropertyMap.end(); ++aIter) { | 
|  | if (aIter->second) { | 
|  | rtl_uString_release(aIter->second); | 
|  | } | 
|  | } | 
|  | } | 
|  | /* }}} */ | 
|  |  | 
|  |  | 
|  | /* {{{ OPropertyMap::getNameByIndex() -I- */ | 
|  | OUString OPropertyMap::getNameByIndex(sal_Int32 idx) const | 
|  | { | 
|  | OUString sRet; | 
|  | ::std::map<sal_Int32 , rtl_uString*>::const_iterator aIter = m_aPropertyMap.find(idx); | 
|  | if (aIter == m_aPropertyMap.end()) { | 
|  | sRet = const_cast<OPropertyMap*>(this)->fillValue(idx); | 
|  | } else { | 
|  | sRet = aIter->second; | 
|  | } | 
|  | return sRet; | 
|  | } | 
|  | /* }}} */ | 
|  |  | 
|  | typedef const sal_Char * (*property_callback)(); | 
|  |  | 
|  | static const property_callback property_callbacks[PROPERTY_ID_LAST] = | 
|  | { | 
|  | NULL, /* PROPERTY_ID_FIRST */ | 
|  | getPROPERTY_QUERYTIMEOUT, | 
|  | getPROPERTY_MAXFIELDSIZE, | 
|  | getPROPERTY_MAXROWS, | 
|  | getPROPERTY_CURSORNAME, | 
|  | getPROPERTY_RESULTSETCONCURRENCY, | 
|  | getPROPERTY_RESULTSETTYPE, | 
|  | getPROPERTY_FETCHDIRECTION, | 
|  | getPROPERTY_FETCHSIZE, | 
|  | getPROPERTY_ESCAPEPROCESSING, | 
|  | getPROPERTY_USEBOOKMARKS, | 
|  | // Column | 
|  | getPROPERTY_NAME, | 
|  | getPROPERTY_TYPE, | 
|  | getPROPERTY_TYPENAME, | 
|  | getPROPERTY_PRECISION, | 
|  | getPROPERTY_SCALE, | 
|  | getPROPERTY_ISNULLABLE, | 
|  | getPROPERTY_ISAUTOINCREMENT, | 
|  | getPROPERTY_ISROWVERSION, | 
|  | getPROPERTY_DESCRIPTION, | 
|  | getPROPERTY_DEFAULTVALUE, | 
|  |  | 
|  | getPROPERTY_REFERENCEDTABLE, | 
|  | getPROPERTY_UPDATERULE, | 
|  | getPROPERTY_DELETERULE, | 
|  | getPROPERTY_CATALOG, | 
|  | getPROPERTY_ISUNIQUE, | 
|  | getPROPERTY_ISPRIMARYKEYINDEX, | 
|  | getPROPERTY_ISCLUSTERED, | 
|  | getPROPERTY_ISASCENDING, | 
|  | getPROPERTY_SCHEMANAME, | 
|  | getPROPERTY_CATALOGNAME, | 
|  |  | 
|  | getPROPERTY_COMMAND, | 
|  | getPROPERTY_CHECKOPTION, | 
|  | getPROPERTY_PASSWORD, | 
|  | getPROPERTY_RELATEDCOLUMN, | 
|  |  | 
|  | getPROPERTY_FUNCTION, | 
|  | getPROPERTY_TABLENAME, | 
|  | getPROPERTY_REALNAME, | 
|  | getPROPERTY_DBASEPRECISIONCHANGED, | 
|  | getPROPERTY_ISCURRENCY, | 
|  | getPROPERTY_ISBOOKMARKABLE, | 
|  | getSTAT_INVALID_INDEX, | 
|  | getERRORMSG_SEQUENCE, | 
|  | getSQLSTATE_SEQUENCE, | 
|  | getSQLSTATE_GENERAL, | 
|  | getSTR_DELIMITER, | 
|  | getPROPERTY_FORMATKEY, | 
|  | getPROPERTY_LOCALE, | 
|  | getPROPERTY_AUTOINCREMENTCREATION, | 
|  | getPROPERTY_PRIVILEGES, | 
|  | }; | 
|  |  | 
|  |  | 
|  | /* {{{ OPropertyMap::fillValue() -I- */ | 
|  | OUString OPropertyMap::fillValue(sal_Int32 idx) | 
|  | { | 
|  | rtl_uString* pStr = NULL; | 
|  | rtl_uString_newFromAscii(&pStr, property_callbacks[idx]()); | 
|  | m_aPropertyMap[idx] = pStr; | 
|  | return pStr; | 
|  | } | 
|  | /* }}} */ | 
|  |  | 
|  | } /* mysqlc */ | 
|  | } /* connectivity */ | 
|  |  | 
|  | /* | 
|  | * Local variables: | 
|  | * tab-width: 4 | 
|  | * c-basic-offset: 4 | 
|  | * End: | 
|  | * vim600: noet sw=4 ts=4 fdm=marker | 
|  | * vim<600: noet sw=4 ts=4 | 
|  | */ |