bump product version to 4.1.6.2
[LibreOffice.git] / connectivity / source / sdbcx / VIndexColumn.cxx
blobb4952784e872c5570057cc9cfd1efe81dc4d149c
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #include "connectivity/sdbcx/VIndexColumn.hxx"
21 #include "TConnection.hxx"
23 using namespace connectivity;
24 using namespace connectivity::sdbcx;
25 using namespace ::com::sun::star::beans;
26 using namespace ::com::sun::star::uno;
27 // -----------------------------------------------------------------------------
28 OUString SAL_CALL OIndexColumn::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException)
30 if(isNew())
31 return OUString("com.sun.star.sdbcx.VIndexColumnDescription");
32 return OUString("com.sun.star.sdbcx.VIndex");
34 // -----------------------------------------------------------------------------
35 ::com::sun::star::uno::Sequence< OUString > SAL_CALL OIndexColumn::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException)
37 ::com::sun::star::uno::Sequence< OUString > aSupported(1);
38 if(isNew())
39 aSupported[0] = OUString("com.sun.star.sdbcx.IndexDescription");
40 else
41 aSupported[0] = OUString("com.sun.star.sdbcx.Index");
43 return aSupported;
45 // -----------------------------------------------------------------------------
46 sal_Bool SAL_CALL OIndexColumn::supportsService( const OUString& _rServiceName ) throw(::com::sun::star::uno::RuntimeException)
48 Sequence< OUString > aSupported(getSupportedServiceNames());
49 const OUString* pSupported = aSupported.getConstArray();
50 const OUString* pEnd = pSupported + aSupported.getLength();
51 for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported)
54 return pSupported != pEnd;
56 // -----------------------------------------------------------------------------
57 OIndexColumn::OIndexColumn(sal_Bool _bCase) : OColumn(_bCase), m_IsAscending(sal_True)
59 construct();
62 // -------------------------------------------------------------------------
63 OIndexColumn::OIndexColumn( sal_Bool _IsAscending,
64 const OUString& _Name,
65 const OUString& _TypeName,
66 const OUString& _DefaultValue,
67 sal_Int32 _IsNullable,
68 sal_Int32 _Precision,
69 sal_Int32 _Scale,
70 sal_Int32 _Type,
71 sal_Bool _IsAutoIncrement,
72 sal_Bool _IsRowVersion,
73 sal_Bool _IsCurrency,
74 sal_Bool _bCase,
75 const OUString& _CatalogName,
76 const OUString& _SchemaName,
77 const OUString& _TableName
78 ) : OColumn(_Name,
79 _TypeName,
80 _DefaultValue,
81 OUString(),
82 _IsNullable,
83 _Precision,
84 _Scale,
85 _Type,
86 _IsAutoIncrement,
87 _IsRowVersion,
88 _IsCurrency,
89 _bCase,
90 _CatalogName,
91 _SchemaName,
92 _TableName)
93 , m_IsAscending(_IsAscending)
95 construct();
97 // -----------------------------------------------------------------------------
98 ::cppu::IPropertyArrayHelper* OIndexColumn::createArrayHelper( sal_Int32 /*_nId*/ ) const
100 return doCreateArrayHelper();
102 // -----------------------------------------------------------------------------
103 ::cppu::IPropertyArrayHelper& SAL_CALL OIndexColumn::getInfoHelper()
105 return *OIndexColumn_PROP::getArrayHelper(isNew() ? 1 : 0);
107 // -------------------------------------------------------------------------
108 void OIndexColumn::construct()
110 sal_Int32 nAttrib = isNew() ? 0 : PropertyAttribute::READONLY;
111 registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISASCENDING), PROPERTY_ID_ISASCENDING, nAttrib,&m_IsAscending, ::getBooleanCppuType());
113 // -----------------------------------------------------------------------------
117 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */