1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
#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_
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|