1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef ADABASUI_NEWDB_HXX 25 #include "ANewDb.hxx" 26 #endif 27 #ifndef _CPPUHELPER_TYPEPROVIDER_HXX_ 28 #include <cppuhelper/typeprovider.hxx> 29 #endif 30 #ifndef _DBHELPER_DBEXCEPTION_HXX_ 31 #include <connectivity/dbexception.hxx> 32 #endif 33 #ifndef adabasui_ADABAS_CREATEDB_HXX 34 #include "AdabasNewDb.hxx" 35 #endif 36 #ifndef adabasui_SHARED_DBUSTRINGS_HRC 37 #include "adabasuistrings.hrc" 38 #endif 39 #ifndef _SV_MSGBOX_HXX 40 #include <vcl/msgbox.hxx> 41 #endif 42 43 using namespace adabasui; 44 using namespace dbtools; 45 46 using namespace ::com::sun::star::sdbc; 47 using namespace ::com::sun::star::sdbcx; 48 using namespace ::com::sun::star::sdb; 49 50 extern "C" void SAL_CALL createRegistryInfo_OAdabasCreateDialog() 51 { 52 static OMultiInstanceAutoRegistration< OAdabasCreateDialog > aAutoRegistration; 53 } 54 55 56 using namespace ::com::sun::star::uno; 57 using namespace ::com::sun::star::lang; 58 using namespace ::com::sun::star::beans; 59 60 //========================================================================= 61 //------------------------------------------------------------------------- 62 OAdabasCreateDialog::OAdabasCreateDialog(const Reference< XMultiServiceFactory >& _rxORB) 63 :OAdabasCreateDialogBase(_rxORB) 64 ,m_pDialog(NULL) 65 { 66 registerProperty(PROPERTY_CREATECATALOG, PROPERTY_ID_CREATECATALOG, PropertyAttribute::TRANSIENT,&m_xCreateCatalog, ::getCppuType(&m_xCreateCatalog)); 67 registerProperty(PROPERTY_DATABASENAME, PROPERTY_ID_DATABASENAME, PropertyAttribute::TRANSIENT,&m_sDatabaseName, ::getCppuType(&m_sDatabaseName)); 68 registerProperty(PROPERTY_CONTROL_USER, PROPERTY_ID_CONTROL_USER, PropertyAttribute::TRANSIENT,&m_sControlUser, ::getCppuType(&m_sControlUser)); 69 registerProperty(PROPERTY_CONTROL_PASSWORD, PROPERTY_ID_CONTROL_PASSWORD, PropertyAttribute::TRANSIENT,&m_sControlPassword, ::getCppuType(&m_sControlPassword)); 70 registerProperty(PROPERTY_USER, PROPERTY_ID_USER, PropertyAttribute::TRANSIENT,&m_sUser, ::getCppuType(&m_sUser)); 71 registerProperty(PROPERTY_PASSWORD, PROPERTY_ID_PASSWORD, PropertyAttribute::TRANSIENT,&m_sUserPassword, ::getCppuType(&m_sUserPassword)); 72 registerProperty(PROPERTY_CACHESIZE, PROPERTY_ID_CACHESIZE, PropertyAttribute::TRANSIENT,&m_nCacheSize, ::getCppuType(&m_nCacheSize)); 73 } 74 75 //------------------------------------------------------------------------- 76 Sequence<sal_Int8> SAL_CALL OAdabasCreateDialog::getImplementationId( ) throw(RuntimeException) 77 { 78 static ::cppu::OImplementationId aId; 79 return aId.getImplementationId(); 80 } 81 82 //------------------------------------------------------------------------- 83 Reference< XInterface > SAL_CALL OAdabasCreateDialog::Create(const Reference< XMultiServiceFactory >& _rxFactory) 84 { 85 return *(new OAdabasCreateDialog(_rxFactory)); 86 } 87 88 //------------------------------------------------------------------------- 89 ::rtl::OUString SAL_CALL OAdabasCreateDialog::getImplementationName() throw(RuntimeException) 90 { 91 return getImplementationName_Static(); 92 } 93 94 //------------------------------------------------------------------------- 95 ::rtl::OUString OAdabasCreateDialog::getImplementationName_Static() throw(RuntimeException) 96 { 97 return ::rtl::OUString::createFromAscii("org.openoffice.comp.adabasui.AdabasCreateDialog"); 98 } 99 100 //------------------------------------------------------------------------- 101 ::comphelper::StringSequence SAL_CALL OAdabasCreateDialog::getSupportedServiceNames() throw(RuntimeException) 102 { 103 return getSupportedServiceNames_Static(); 104 } 105 106 //------------------------------------------------------------------------- 107 ::comphelper::StringSequence OAdabasCreateDialog::getSupportedServiceNames_Static() throw(RuntimeException) 108 { 109 ::comphelper::StringSequence aSupported(1); 110 aSupported.getArray()[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdb.AdabasCreationDialog"); 111 return aSupported; 112 } 113 114 //------------------------------------------------------------------------- 115 Reference<XPropertySetInfo> SAL_CALL OAdabasCreateDialog::getPropertySetInfo() throw(RuntimeException) 116 { 117 Reference<XPropertySetInfo> xInfo( createPropertySetInfo( getInfoHelper() ) ); 118 return xInfo; 119 } 120 121 //------------------------------------------------------------------------- 122 ::cppu::IPropertyArrayHelper& OAdabasCreateDialog::getInfoHelper() 123 { 124 return *const_cast<OAdabasCreateDialog*>(this)->getArrayHelper(); 125 } 126 127 //------------------------------------------------------------------------------ 128 ::cppu::IPropertyArrayHelper* OAdabasCreateDialog::createArrayHelper( ) const 129 { 130 Sequence< Property > aProps; 131 describeProperties(aProps); 132 return new ::cppu::OPropertyArrayHelper(aProps); 133 } 134 135 //------------------------------------------------------------------------------ 136 Dialog* OAdabasCreateDialog::createDialog(Window* _pParent) 137 { 138 if(!m_xCreateCatalog.is()) 139 throw SQLException(); 140 m_pDialog = new OAdabasNewDbDlg(_pParent,m_xCreateCatalog,m_aContext.getLegacyServiceFactory()); 141 return m_pDialog; 142 } 143 // ----------------------------------------------------------------------------- 144 void OAdabasCreateDialog::executedDialog(sal_Int16 _nExecutionResult) 145 { 146 if(m_pDialog && _nExecutionResult == RET_OK) 147 { // fill the variables 148 m_sDatabaseName = m_pDialog->GetDatabaseName(); 149 m_sControlUser = m_pDialog->GetControlUser(); 150 m_sControlPassword = m_pDialog->GetControlPassword(); 151 m_sUser = m_pDialog->GetUser(); 152 m_sUserPassword = m_pDialog->GetUserPassword(); 153 m_nCacheSize = m_pDialog->GetCacheSize(); 154 } 155 } 156 // ----------------------------------------------------------------------------- 157 158