bump product version to 4.1.6.2
[LibreOffice.git] / connectivity / source / sdbcx / VKeyColumn.cxx
blobf2475fa7bf024219056a2d6eefcfea498a3c8dca
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/VKeyColumn.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 using namespace cppu;
28 // -----------------------------------------------------------------------------
29 OUString SAL_CALL OKeyColumn::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException)
31 if(isNew())
32 return OUString("com.sun.star.sdbcx.VKeyColumnDescription");
33 return OUString("com.sun.star.sdbcx.VKeyColumn");
35 // -----------------------------------------------------------------------------
36 ::com::sun::star::uno::Sequence< OUString > SAL_CALL OKeyColumn::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException)
38 ::com::sun::star::uno::Sequence< OUString > aSupported(1);
39 if(isNew())
40 aSupported[0] = OUString("com.sun.star.sdbcx.KeyColumnDescription");
41 else
42 aSupported[0] = OUString("com.sun.star.sdbcx.KeyColumn");
44 return aSupported;
46 // -----------------------------------------------------------------------------
47 sal_Bool SAL_CALL OKeyColumn::supportsService( const OUString& _rServiceName ) throw(::com::sun::star::uno::RuntimeException)
49 Sequence< OUString > aSupported(getSupportedServiceNames());
50 const OUString* pSupported = aSupported.getConstArray();
51 const OUString* pEnd = pSupported + aSupported.getLength();
52 for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported)
55 return pSupported != pEnd;
57 // -------------------------------------------------------------------------
58 OKeyColumn::OKeyColumn(sal_Bool _bCase) : OColumn(_bCase)
60 construct();
62 // -------------------------------------------------------------------------
63 OKeyColumn::OKeyColumn( const OUString& _ReferencedColumn,
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_ReferencedColumn(_ReferencedColumn)
95 construct();
97 // -------------------------------------------------------------------------
98 OKeyColumn::~OKeyColumn()
101 // -----------------------------------------------------------------------------
102 ::cppu::IPropertyArrayHelper* OKeyColumn::createArrayHelper( sal_Int32 /*_nId*/ ) const
104 return doCreateArrayHelper();
106 // -----------------------------------------------------------------------------
107 ::cppu::IPropertyArrayHelper& SAL_CALL OKeyColumn::getInfoHelper()
109 return *OKeyColumn_PROP::getArrayHelper(isNew() ? 1 : 0);
111 // -------------------------------------------------------------------------
112 void OKeyColumn::construct()
114 sal_Int32 nAttrib = isNew() ? 0 : PropertyAttribute::READONLY;
115 registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_RELATEDCOLUMN), PROPERTY_ID_RELATEDCOLUMN, nAttrib,&m_ReferencedColumn, ::getCppuType(static_cast< OUString*>(0)));
117 // -----------------------------------------------------------------------------
122 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */