/**************************************************************
 * 
 * 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_PREPAREDSTATEMENT, "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");
