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 #ifndef DBAUI_DRIVERSETTINGS_HXX
24 #define DBAUI_DRIVERSETTINGS_HXX
25 
26 #ifndef _DBAUI_DSNTYPES_HXX_
27 #include "dsntypes.hxx"
28 #endif
29 #include <svl/poolitem.hxx>
30 #include <vector>
31 
32 class SfxTabPage;
33 class Window;
34 namespace dbaui
35 {
36 	/// a collection class for all details a driver needs
37 	class ODriversSettings
38 	{
39 	public:
40 
41 		/** filles the IDs of the settings which are reflected in indirect data source properties
42             (aka properties in the css.sdb.DataSource.Info sequence)
43 
44             @param	_eType
45 				The Type of the data source.
46 			@param	_out_rDetailsIds
47 				Will be filled.
48 		*/
49 		static void getSupportedIndirectSettings( const ::rtl::OUString& _sURLPrefix,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xFactory,::std::vector< sal_Int32>& _out_rDetailsIds );
50 
51 		/** Creates the detail page for Dbase
52 		*/
53 		static	SfxTabPage*	CreateDbase2( Window* _pParent, const SfxItemSet& _rAttrSet );
54 
55 		/** Creates the detail page for ado
56 		*/
57         static	SfxTabPage*	CreateDbase( Window* _pParent, const SfxItemSet& _rAttrSet );
58 
59 		/** Creates the detail page for ado
60 		*/
61 		static	SfxTabPage*	CreateAdo( Window* _pParent, const SfxItemSet& _rAttrSet );
62 
63 		/** Creates the detail page for ODBC
64 		*/
65 		static	SfxTabPage*	CreateODBC( Window* _pParent, const SfxItemSet& _rAttrSet );
66 
67 		/** Creates the detail page for user
68 		*/
69 		static	SfxTabPage*	CreateUser( Window* _pParent, const SfxItemSet& _rAttrSet );
70 
71 		/** Creates the detail page for MySQLODBC
72 		*/
73 		static	SfxTabPage*	CreateMySQLODBC( Window* _pParent, const SfxItemSet& _rAttrSet );
74 
75 		/** Creates the detail page for MySQLJDBC
76 		*/
77 		static	SfxTabPage*	CreateMySQLJDBC( Window* _pParent, const SfxItemSet& _rAttrSet );
78 
79         /** Creates the detail page for MySQLNATIVE
80 		*/
81 		static	SfxTabPage*	CreateMySQLNATIVE( Window* _pParent, const SfxItemSet& _rAttrSet );
82 
83 		/** Creates the detail page for Oracle JDBC
84 		*/
85 		static SfxTabPage*	CreateOracleJDBC( Window* pParent, const SfxItemSet& _rAttrSet );
86 
87 		/** Creates the detail page for Adabas
88 		*/
89 		static	SfxTabPage*	CreateAdabas( Window* _pParent, const SfxItemSet& _rAttrSet );
90 
91 		/** Creates the detail page for LDAP
92 		*/
93 		static	SfxTabPage*	CreateLDAP( Window* _pParent, const SfxItemSet& _rAttrSet );
94 
95 		/// Creates the detail page for Text
96 		static	SfxTabPage*	CreateText( Window* _pParent, const SfxItemSet& _rAttrSet );
97 
98 
99 		/// creates the GeneratedValues page
100 		static	SfxTabPage*	CreateGeneratedValuesPage( Window* _pParent, const SfxItemSet& _rAttrSet );
101 
102 		/// creates the "Special Settings" page of the "Advanced Settings" dialog
103 		static	SfxTabPage*	CreateSpecialSettingsPage( Window* _pParent, const SfxItemSet& _rAttrSet );
104 	};
105 }
106 
107 #endif // DBAUI_DRIVERSETTINGS_HXX
108 
109