/**************************************************************
 * 
 * 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.
 * 
 *************************************************************/



// no include "precompiled_dbaccess.hxx" because this file is meant to
// be included itself

//============================================================
//= property names
//============================================================
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_URL, "URL");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_INFO, "Info");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SETTINGS, "Settings");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISPASSWORDREQUIRED, "IsPasswordRequired");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TABLEFILTER, "TableFilter");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TABLETYPEFILTER, "TableTypeFilter");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_NAME, "Name");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SCHEMANAME, "SchemaName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CATALOGNAME, "CatalogName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PRIVILEGES, "Privileges");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ESCAPE_PROCESSING, "EscapeProcessing");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_COMMAND, "Command");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TYPE, "Type");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TYPENAME, "TypeName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PRECISION, "Precision");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SCALE, "Scale");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISNULLABLE, "IsNullable");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISAUTOINCREMENT, "IsAutoIncrement");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISROWVERSION, "IsRowVersion");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DESCRIPTION, "Description");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DEFAULTVALUE, "DefaultValue");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_NUMBERFORMAT, "FormatKey");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_QUERYTIMEOUT, "QueryTimeOut");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_MAXFIELDSIZE, "MaxFieldSize");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_MAXROWS, "MaxRows");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CURSORNAME, "CursorName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RESULTSETCONCURRENCY, "ResultSetConcurrency");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RESULTSETTYPE, "ResultSetType");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FETCHDIRECTION, "FetchDirection");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FETCHSIZE, "FetchSize");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_USEBOOKMARKS, "UseBookmarks");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISSEARCHABLE, "IsSearchable");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISCURRENCY, "IsCurrency");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISSIGNED, "IsSigned");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DISPLAYSIZE, "DisplaySize");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_LABEL, "Label");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISREADONLY, "IsReadOnly");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISWRITABLE, "IsWritable");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISDEFINITELYWRITABLE, "IsDefinitelyWritable");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_VALUE, "Value");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TABLENAME, "TableName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISCASESENSITIVE, "IsCaseSensitive");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SERVICENAME, "ServiceName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISBOOKMARKABLE, "IsBookmarkable");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CANUPDATEINSERTEDROWS, "CanUpdateInsertedRows");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISSET, "IsSet");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISOUTPARAMETER, "IsOutParameter");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_NUMBERFORMATSSUPPLIER, "NumberFormatsSupplier");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISCALCULATED, "IsCalculated");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DATASOURCENAME, "DataSourceName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DATABASE_LOCATION, "DatabaseLocation");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONNECTION_RESOURCE, "ConnectionResource");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONNECTION_INFO, "ConnectionInfo");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RESULT_SET, "ResultSet");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SELECTION, "Selection");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_BOOKMARK_SELECTION, "BookmarkSelection");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_COLUMN_NAME, "ColumnName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_COLUMN, "Column");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DATASOURCE, "DataSource");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TRANSACTIONISOLATION, "TransactionIsolation");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TYPEMAP, "TypeMap");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_USER, "User");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PASSWORD, "Password");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_COMMAND_TYPE, "CommandType");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ACTIVECOMMAND, "ActiveCommand");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ACTIVE_CONNECTION, "ActiveConnection");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FILTER, "Filter");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_APPLYFILTER, "ApplyFilter");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ORDER, "Order");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_APPLYORDER, "ApplyOrder"); 
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISMODIFIED, "IsModified");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISNEW, "IsNew");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ROWCOUNT, "RowCount");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISROWCOUNTFINAL, "IsRowCountFinal");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_HELPFILENAME, "HelpFileName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_WIDTH, "Width");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ROW_HEIGHT, "RowHeight");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FORMATKEY, "FormatKey");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ALIGN, "Align");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONT, "FontDescriptor");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TEXTCOLOR, "TextColor");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_BOUNDFIELD, "BoundField");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLSOURCE, "DataField");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_REALNAME, "RealName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISHIDDEN, "IsHidden");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_UPDATE_TABLENAME, "UpdateTableName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_UPDATE_SCHEMANAME, "UpdateSchemaName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_UPDATE_CATALOGNAME, "UpdateCatalogName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RELATIVEPOSITION, "RelativePosition");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLMODEL, "ControlModel");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISASCENDING, "IsAscending");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_RELATEDCOLUMN, "RelatedColumn");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISUNIQUE, "IsUnique");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ISPRIMARYKEYINDEX, "IsPrimaryKeyIndex");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_IGNORERESULT, "IgnoreResult");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_UPDATERULE, "UpdateRule");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DELETERULE, "DeleteRule");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_REFERENCEDTABLE, "ReferencedTable");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_REFERENCEDCOLUMN, "ReferencedColumn");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PARENTWINDOW, "ParentWindow");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SQLEXCEPTION, "SQLException");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_BORDER, "Border");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_THREADSAFE, "ThreadSafe");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_HELPTEXT	,"HelpText");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLDEFAULT	,"ControlDefault");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_HIDDEN	,"Hidden");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DEFAULTSTATE	,"DefaultState");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SUPPRESSVERSIONCL, "SuppressVersionColumns");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SHOW_BROWSER, "ShowBrowser");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ENABLE_BROWSER, "EnableBrowser");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SHOWMENU, "ShowMenu");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_LAYOUTINFORMATION, "LayoutInformation");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CURRENTTABLE, "CurrentTable");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DATABASENAME, "DatabaseName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLUSER, "ControlUser");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CONTROLPASSWORD, "ControlPassword");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_CACHESIZE, "CacheSize");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TEXTLINECOLOR, "TextLineColor");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TEXTEMPHASIS, "FontEmphasisMark");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_TEXTRELIEF, "FontRelief");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_DEFAULTTEXT, "DefaultText");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_EFFECTIVEDEFAULT, "EffectiveDefault");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_AUTOINCREMENTCREATION, "AutoIncrementCreation");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_BOOLEANCOMPARISONMODE, "BooleanComparisonMode");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ENABLESQL92CHECK,	"EnableSQL92Check");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTCHARWIDTH,	"FontCharWidth");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTCHARSET,		"FontCharset");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTFAMILY,		"FontFamily");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTHEIGHT,		"FontHeight");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTKERNING,		"FontKerning");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTNAME,			"FontName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTORIENTATION,	"FontOrientation");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTPITCH,		"FontPitch");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTSLANT,		"FontSlant");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTSTRIKEOUT,	"FontStrikeout");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTSTYLENAME,	"FontStyleName");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTUNDERLINE,	"FontUnderline");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTWEIGHT,		"FontWeight");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTWIDTH,		"FontWidth");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTWORDLINEMODE,	"FontWordLineMode");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_FONTTYPE,			"FontType"); 
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_PERSISTENT_NAME,	"PersistentName"); 
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_EMBEDDEDOBJECT,	"EmbeddedObject"); 
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_ORIGINAL,			"Original");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_USECATALOGINSELECT,"UseCatalogInSelect");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_USESCHEMAINSELECT, "UseSchemaInSelect");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_OUTERJOINESCAPE,	"EnableOuterJoinEscape");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_AS_TEMPLATE,		"AsTemplate");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_HAVING_CLAUSE,	"HavingClause");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_GROUP_BY,			"GroupBy");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_EDIT_WIDTH, "EditWidth");
IMPLEMENT_CONSTASCII_USTRING(PROPERTY_SINGLESELECTQUERYCOMPOSER,"SingleSelectQueryComposer");

//============================================================
//= service names
//============================================================
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_RESULTSET, "com.sun.star.sdbc.ResultSet");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_ROWSET, "com.sun.star.sdbc.RowSet");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_STATEMENT, "com.sun.star.sdbc.Statement");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_PREPAREDSTATEMENT, "com.sun.star.sdbc.PreparedStatement");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_CALLABLESTATEMENT, "com.sun.star.sdbc.CallableStatement");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_CONNECTION, "com.sun.star.sdbc.Connection");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_CONTAINER, "com.sun.star.sdbcx.Container");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_TABLE, "com.sun.star.sdbcx.Table");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_RESULTSET, "com.sun.star.sdbcx.ResultSet");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_CONNECTION, "com.sun.star.sdb.Connection");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMN, "com.sun.star.sdbcx.Column");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMNDESCRIPTOR, "com.sun.star.sdbcx.ColumnDescriptor");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_COLUMNSETTINGS, "com.sun.star.sdb.ColumnSettings");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_RESULTCOLUMN, "com.sun.star.sdb.ResultColumn");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DATACOLUMN, "com.sun.star.sdb.DataColumn");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DATABASECONTEXT, "com.sun.star.sdb.DatabaseContext");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DATASOURCE, "com.sun.star.sdb.DataSource");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_RESULTSET, "com.sun.star.sdb.ResultSet");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_ROWSET, "com.sun.star.sdb.RowSet");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_PREPAREDSTATMENT, "com.sun.star.sdb.PreparedStatement");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_CALLABLESTATEMENT, "com.sun.star.sdbc.CallableStatement");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_SQLQUERYCOMPOSER, "com.sun.star.sdb.SQLQueryComposer");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DATASETTINGS, "com.sun.star.sdb.DefinitionSettings");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERYDESCRIPTOR, "com.sun.star.sdb.QueryDescriptor");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERY, "com.sun.star.sdb.Query");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERYDEFINITION, "com.sun.star.sdb.QueryDefinition");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_COLUMNS, "com.sun.star.sdbcx.Columns");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_TABLES, "com.sun.star.sdbcx.Tables");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERIES, "com.sun.star.sdb.Queries");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_DRIVERMANAGER, "com.sun.star.sdbc.DriverManager");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBC_CONNECTIONPOOL, "com.sun.star.sdbc.ConnectionPool");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_INDEXCOLUMN, "com.sun.star.sdbcx.IndexColumn");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_KEYCOLUMN, "com.sun.star.sdbcx.KeyColumn");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_TASK_INTERACTION_HANDLER, "com.sun.star.task.InteractionHandler");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_FRAME_DESKTOP, "com.sun.star.frame.Desktop");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_ADABASCREATIONDIALOG, "com.sun.star.sdb.AdabasCreationDialog");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_UI_FOLDERPICKER, "com.sun.star.ui.dialogs.FolderPicker");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_I18N_COLLATOR, "com.sun.star.i18n.Collator");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_EXTENDED_ADABAS_DRIVER, "com.sun.star.comp.sdbcx.adabas.ODriver");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_TABLEDEFINITION, "com.sun.star.sdb.TableDefinition");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION,	"com.sun.star.sdb.CommandDefinition");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_DOCUMENTDEFINITION,	"com.sun.star.sdb.DocumentDefinition");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_FORM,					"com.sun.star.sdb.Form");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_FORM_COLLECTION,		"com.sun.star.sdb.Forms");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_REPORT,				"com.sun.star.sdb.Report");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_REPORT_COLLECTION,	"com.sun.star.sdb.Reports");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_QUERY_COLLECTION,		"com.sun.star.sdb.Queries");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_TABLE_COLLECTION,		"com.sun.star.sdb.Tables");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_NAME_SINGLESELECTQUERYCOMPOSER, "com.sun.star.sdb.SingleSelectQueryComposer");
IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_APPLICATIONCONTROLLER, "org.openoffice.comp.dbu.OApplicationController");

// info properties
IMPLEMENT_CONSTASCII_USTRING(INFO_JDBCDRIVERCLASS,"JavaDriverClass");
IMPLEMENT_CONSTASCII_USTRING(INFO_TEXTFILEEXTENSION,"Extension");
IMPLEMENT_CONSTASCII_USTRING(INFO_CHARSET,"CharSet");
IMPLEMENT_CONSTASCII_USTRING(INFO_TEXTFILEHEADER,"HeaderLine");
IMPLEMENT_CONSTASCII_USTRING(INFO_FIELDDELIMITER,"FieldDelimiter");
IMPLEMENT_CONSTASCII_USTRING(INFO_TEXTDELIMITER,"StringDelimiter");
IMPLEMENT_CONSTASCII_USTRING(INFO_DECIMALDELIMITER,"DecimalDelimiter");
IMPLEMENT_CONSTASCII_USTRING(INFO_THOUSANDSDELIMITER,"ThousandDelimiter");
IMPLEMENT_CONSTASCII_USTRING(INFO_SHOWDELETEDROWS,"ShowDeleted");
IMPLEMENT_CONSTASCII_USTRING(INFO_ALLOWLONGTABLENAMES,"NoNameLengthLimit");
IMPLEMENT_CONSTASCII_USTRING(INFO_ADDITIONALOPTIONS,"SystemDriverSettings");
IMPLEMENT_CONSTASCII_USTRING(INFO_AUTORETRIEVEVALUE,"AutoRetrievingStatement");
IMPLEMENT_CONSTASCII_USTRING(INFO_AUTORETRIEVEENABLED,"IsAutoRetrievingEnabled");
IMPLEMENT_CONSTASCII_USTRING(INFO_APPEND_TABLE_ALIAS,"AppendTableAliasName");
IMPLEMENT_CONSTASCII_USTRING(INFO_AS_BEFORE_CORRELATION_NAME, "GenerateASBeforeCorrelationName" );
IMPLEMENT_CONSTASCII_USTRING(INFO_FORMS_CHECK_REQUIRED_FIELDS, "FormsCheckRequiredFields" );
IMPLEMENT_CONSTASCII_USTRING(INFO_PARAMETERNAMESUBST,"ParameterNameSubstitution");
IMPLEMENT_CONSTASCII_USTRING(INFO_IGNOREDRIVER_PRIV,"IgnoreDriverPrivileges");
IMPLEMENT_CONSTASCII_USTRING(INFO_USECATALOG,"UseCatalog");
IMPLEMENT_CONSTASCII_USTRING(INFO_CONN_LDAP_BASEDN,"BaseDN");
IMPLEMENT_CONSTASCII_USTRING(INFO_CONN_LDAP_ROWCOUNT,"MaxRowCount");
IMPLEMENT_CONSTASCII_USTRING(INFO_PREVIEW,"Preview");
IMPLEMENT_CONSTASCII_USTRING(INFO_MEDIATYPE,"MediaType");
IMPLEMENT_CONSTASCII_USTRING(INFO_ESCAPE_DATETIME,"EscapeDateTime");

// other
IMPLEMENT_CONSTASCII_USTRING(INFO_POOLURL,"PoolURL");
IMPLEMENT_CONSTASCII_USTRING(URL_INTERACTIVE,"Interactive");
