xref: /aoo42x/main/sc/inc/servuno.hxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef SC_SERVUNO_HXX
29 #define SC_SERVUNO_HXX
30 
31 #include <com/sun/star/uno/XInterface.hpp>
32 #include <com/sun/star/uno/Sequence.hxx>
33 
34 class String;
35 class ScDocShell;
36 
37 
38 //!	AutoFormat wirklich hier oder besser global??????
39 
40 #define SC_SERVICE_SHEET		0
41 #define SC_SERVICE_URLFIELD		1
42 #define SC_SERVICE_PAGEFIELD	2
43 #define SC_SERVICE_PAGESFIELD	3
44 #define SC_SERVICE_DATEFIELD	4
45 #define SC_SERVICE_TIMEFIELD	5
46 #define SC_SERVICE_TITLEFIELD	6
47 #define SC_SERVICE_FILEFIELD	7
48 #define SC_SERVICE_SHEETFIELD	8
49 #define SC_SERVICE_CELLSTYLE	9
50 #define SC_SERVICE_PAGESTYLE	10
51 #define SC_SERVICE_AUTOFORMAT	11
52 #define SC_SERVICE_CELLRANGES	12
53 
54 //	drawing layer tables
55 #define SC_SERVICE_GRADTAB		13
56 #define SC_SERVICE_HATCHTAB		14
57 #define SC_SERVICE_BITMAPTAB	15
58 #define SC_SERVICE_TRGRADTAB	16
59 #define SC_SERVICE_MARKERTAB	17
60 #define SC_SERVICE_DASHTAB		18
61 #define SC_SERVICE_NUMRULES		19
62 
63 #define SC_SERVICE_DOCDEFLTS	20
64 #define SC_SERVICE_DRAWDEFLTS	21
65 
66 #define SC_SERVICE_DOCSPRSETT	22
67 #define SC_SERVICE_DOCCONF		23
68 
69 #define SC_SERVICE_IMAP_RECT	24
70 #define SC_SERVICE_IMAP_CIRC	25
71 #define SC_SERVICE_IMAP_POLY	26
72 
73 // #100263# Support creation of GraphicObjectResolver and EmbeddedObjectResolver
74 #define SC_SERVICE_EXPORT_GOR	27
75 #define SC_SERVICE_IMPORT_GOR	28
76 #define SC_SERVICE_EXPORT_EOR	29
77 #define SC_SERVICE_IMPORT_EOR	30
78 
79 #define SC_SERVICE_VALBIND		31
80 #define SC_SERVICE_LISTCELLBIND	32
81 #define SC_SERVICE_LISTSOURCE	33
82 
83 #define SC_SERVICE_CELLADDRESS  34
84 #define SC_SERVICE_RANGEADDRESS 35
85 
86 #define SC_SERVICE_SHEETDOCSET  36
87 
88 // BM
89 #define SC_SERVICE_CHDATAPROV   37
90 
91 // formula parser
92 #define SC_SERVICE_FORMULAPARS  38
93 #define SC_SERVICE_OPCODEMAPPER 39
94 
95 // VBA specific
96 #define SC_SERVICE_VBAOBJECTPROVIDER   40
97 #define SC_SERVICE_VBACODENAMEPROVIDER   41
98 #define SC_SERVICE_VBAGLOBALS	42
99 
100 #define SC_SERVICE_COUNT        43
101 #define SC_SERVICE_INVALID		USHRT_MAX
102 
103 
104 class ScServiceProvider
105 {
106 public:
107 							// pDocShell wird nicht fuer alle Services benoetigt
108 	static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
109 							MakeInstance( sal_uInt16 nType, ScDocShell* pDocShell );
110 	static ::com::sun::star::uno::Sequence<rtl::OUString> GetAllServiceNames();
111 //UNUSED2008-05  static String           GetProviderName(sal_uInt16 nObjectType);
112 	static sal_uInt16		GetProviderType(const String& rServiceName);
113 };
114 
115 
116 
117 #endif
118 
119