diff options
Diffstat (limited to 'mysqlc/source/mysqlc_propertyids.hxx')
-rw-r--r-- | mysqlc/source/mysqlc_propertyids.hxx | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/mysqlc/source/mysqlc_propertyids.hxx b/mysqlc/source/mysqlc_propertyids.hxx new file mode 100644 index 0000000..7d73114 --- /dev/null +++ b/mysqlc/source/mysqlc_propertyids.hxx @@ -0,0 +1,136 @@ + +#ifndef _CONNECTIVITY_PROPERTYIDS_HXX_ +#define _CONNECTIVITY_PROPERTYIDS_HXX_ + +// this define has to be set to split the names into different dll's or so's +// every dll has his own set of property names +#ifndef _RTL_USTRING_ +#include <rtl/ustring.hxx> +#endif +#ifndef _MAP_ +#include <map> +#endif + +namespace connectivity +{ +namespace mysqlc +{ + class OPropertyMap + { + ::std::map<sal_Int32 , rtl_uString*> m_aPropertyMap; + + ::rtl::OUString fillValue(sal_Int32 _nIndex); + public: + OPropertyMap() + { + } + ~OPropertyMap(); + ::rtl::OUString getNameByIndex(sal_Int32 _nIndex) const; + + static OPropertyMap& getPropMap() + { + static OPropertyMap s_aPropMap; + return s_aPropMap; + } + }; + + + typedef const sal_Char* (*PVFN)(); + + struct UStringDescription + { + const sal_Char* pZeroTerminatedName; + sal_Int32 nLength; + + UStringDescription(PVFN _fCharFkt); + operator ::rtl::OUString() const { return ::rtl::OUString(pZeroTerminatedName,nLength,RTL_TEXTENCODING_ASCII_US); } + ~UStringDescription(); + private: + UStringDescription(); + }; + + +enum +{ + PROPERTY_ID_FIRST = 0, + PROPERTY_ID_QUERYTIMEOUT, + PROPERTY_ID_MAXFIELDSIZE, + PROPERTY_ID_MAXROWS, + PROPERTY_ID_CURSORNAME, + PROPERTY_ID_RESULTSETCONCURRENCY, + PROPERTY_ID_RESULTSETTYPE, + PROPERTY_ID_FETCHDIRECTION, + PROPERTY_ID_FETCHSIZE, + PROPERTY_ID_ESCAPEPROCESSING, + PROPERTY_ID_USEBOOKMARKS, +// Column + PROPERTY_ID_NAME, + PROPERTY_ID_TYPE, + PROPERTY_ID_TYPENAME, + PROPERTY_ID_PRECISION, + PROPERTY_ID_SCALE, + PROPERTY_ID_ISNULLABLE, + PROPERTY_ID_ISAUTOINCREMENT, + PROPERTY_ID_ISROWVERSION, + PROPERTY_ID_DESCRIPTION, + PROPERTY_ID_DEFAULTVALUE, + + PROPERTY_ID_REFERENCEDTABLE, + PROPERTY_ID_UPDATERULE, + PROPERTY_ID_DELETERULE, + PROPERTY_ID_CATALOG, + PROPERTY_ID_ISUNIQUE, + PROPERTY_ID_ISPRIMARYKEYINDEX, + PROPERTY_ID_ISCLUSTERED, + PROPERTY_ID_ISASCENDING, + PROPERTY_ID_SCHEMANAME, + PROPERTY_ID_CATALOGNAME, + + PROPERTY_ID_COMMAND, + PROPERTY_ID_CHECKOPTION, + PROPERTY_ID_PASSWORD, + PROPERTY_ID_RELATEDCOLUMN, + + PROPERTY_ID_FUNCTION, + PROPERTY_ID_TABLENAME, + PROPERTY_ID_REALNAME, + PROPERTY_ID_DBASEPRECISIONCHANGED, + PROPERTY_ID_ISCURRENCY, + PROPERTY_ID_ISBOOKMARKABLE, + + PROPERTY_ID_INVALID_INDEX, + PROPERTY_ID_ERRORMSG_SEQUENCE, + PROPERTY_ID_HY010, + PROPERTY_ID_HY0000, + PROPERTY_ID_DELIMITER, + PROPERTY_ID_FORMATKEY, + PROPERTY_ID_LOCALE, + PROPERTY_ID_IM001, + + PROPERTY_ID_AUTOINCREMENTCREATION, + + PROPERTY_ID_PRIVILEGES, + + PROPERTY_ID_LAST +}; +}/* mysqlc */ +}/* connectivity */ + +//------------------------------------------------------------------------------ +#define DECL_PROP1IMPL(varname, type) \ +pProperties[nPos++] = Property(OPropertyMap::getPropMap().getNameByIndex(PROPERTY_ID_##varname), PROPERTY_ID_##varname, ::getCppuType(reinterpret_cast< type*>(NULL)), +//------------------------------------------------------------------------------ +#define DECL_PROP0(varname, type) \ + DECL_PROP1IMPL(varname, type) 0) +//------------------------------------------------------------------------------ +#define DECL_BOOL_PROP1IMPL(varname) \ + pProperties[nPos++] = Property(OPropertyMap::getPropMap().getNameByIndex(PROPERTY_ID_##varname), PROPERTY_ID_##varname, ::getBooleanCppuType(), +//------------------------------------------------------------------------------ +#define DECL_BOOL_PROP0(varname) \ + DECL_BOOL_PROP1IMPL(varname) 0) + + + +#endif // _CONNECTIVITY_PROPERTYIDS_HXX_ + + |