xref: /aoo41x/main/rsc/inc/rscdb.hxx (revision cdf0e10c)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir #ifndef _RSCDB_HXX
29*cdf0e10cSrcweir #define _RSCDB_HXX
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir #include <rscall.h>
32*cdf0e10cSrcweir #include <rsckey.hxx>
33*cdf0e10cSrcweir #include <rscconst.hxx>
34*cdf0e10cSrcweir #include <rscflag.hxx>
35*cdf0e10cSrcweir #include <rscrange.hxx>
36*cdf0e10cSrcweir #include <rscstr.hxx>
37*cdf0e10cSrcweir #include <rscarray.hxx>
38*cdf0e10cSrcweir #include <rscdef.hxx>
39*cdf0e10cSrcweir 
40*cdf0e10cSrcweir #include <vector>
41*cdf0e10cSrcweir #include <map>
42*cdf0e10cSrcweir 
43*cdf0e10cSrcweir class RscError;
44*cdf0e10cSrcweir class REResourceList;
45*cdf0e10cSrcweir class RscTupel;
46*cdf0e10cSrcweir class RscCont;
47*cdf0e10cSrcweir class RscCmdLine;
48*cdf0e10cSrcweir 
49*cdf0e10cSrcweir struct WriteRcContext
50*cdf0e10cSrcweir {
51*cdf0e10cSrcweir     FILE *				fOutput;
52*cdf0e10cSrcweir     rtl::OString		aOutputRc;
53*cdf0e10cSrcweir     rtl::OString		aOutputSysList;
54*cdf0e10cSrcweir     RscCmdLine*         pCmdLine;
55*cdf0e10cSrcweir };
56*cdf0e10cSrcweir 
57*cdf0e10cSrcweir /****************** R s c T y p C o n ************************************/
58*cdf0e10cSrcweir // Liste die alle Basistypen enthaelt
59*cdf0e10cSrcweir DECLARE_LIST( RscBaseList, RscTop * )
60*cdf0e10cSrcweir 
61*cdf0e10cSrcweir // Tabelle fuer Systemabhaengige Resourcen
62*cdf0e10cSrcweir struct RscSysEntry
63*cdf0e10cSrcweir {
64*cdf0e10cSrcweir 	sal_uInt32		nKey;
65*cdf0e10cSrcweir 	sal_uInt32		nRscTyp;
66*cdf0e10cSrcweir 	ByteString	aFileName;
67*cdf0e10cSrcweir 	sal_uInt32		nTyp;
68*cdf0e10cSrcweir 	sal_uInt32		nRefId;
69*cdf0e10cSrcweir };
70*cdf0e10cSrcweir DECLARE_LIST( RscSysList, RscSysEntry * )
71*cdf0e10cSrcweir 
72*cdf0e10cSrcweir class RscTypCont
73*cdf0e10cSrcweir {
74*cdf0e10cSrcweir 	CharSet 			nSourceCharSet;
75*cdf0e10cSrcweir 	sal_uInt32				nMachineId; 		// Globaler Maschinentyp
76*cdf0e10cSrcweir 	RSCBYTEORDER_TYPE	nByteOrder; 		// Intel oder
77*cdf0e10cSrcweir     ByteString			aLanguage;			// output language
78*cdf0e10cSrcweir     std::vector< sal_uInt32 > aLangFallbacks;	// language fallback list (entry 0 is language itself)
79*cdf0e10cSrcweir 	ByteString			aSearchPath;		// Suchen der Bitmap, Icon, Pointer
80*cdf0e10cSrcweir     ByteString			aSysSearchPath;		// aSearchPath plus language specific paths
81*cdf0e10cSrcweir 	sal_uInt32				nUniqueId;			// eindeutiger Id fuer Systemresourcen
82*cdf0e10cSrcweir 	sal_uLong				nFilePos;			// Position in der Datei ( MTF )
83*cdf0e10cSrcweir 	sal_uInt32				nPMId;				// eindeutiger Id fuer PM-Rseourcefile
84*cdf0e10cSrcweir 											// muss groesser als RSC_VERSIONCONTROL_ID sein
85*cdf0e10cSrcweir 	RscTop	*			pRoot;				// Zeiger auf die Wurzel vom Typenbaum
86*cdf0e10cSrcweir 	RSCINST 			aVersion;			// Versionskontrollinstanz
87*cdf0e10cSrcweir 
88*cdf0e10cSrcweir 	RscBaseList 		aBaseLst;			// Liste der einfachen Resourceklasse
89*cdf0e10cSrcweir 	RscSysList			aSysLst;			// Liste der Systemresourcen
90*cdf0e10cSrcweir 
91*cdf0e10cSrcweir 	Atom				nWinBitVarId;		// Name der Winbitvariablen
92*cdf0e10cSrcweir 	Atom				nBorderId;
93*cdf0e10cSrcweir 	Atom				nHideId;
94*cdf0e10cSrcweir 	Atom				nClipChildrenId;
95*cdf0e10cSrcweir 	Atom				nSizeableId;
96*cdf0e10cSrcweir 	Atom				nMoveableId;
97*cdf0e10cSrcweir 	Atom				nMinimizeId;
98*cdf0e10cSrcweir 	Atom				nMaximizeId;
99*cdf0e10cSrcweir 	Atom				nCloseableId;
100*cdf0e10cSrcweir 	Atom				nAppId;
101*cdf0e10cSrcweir 	Atom				nTabstopId;
102*cdf0e10cSrcweir 	Atom				nGroupId;
103*cdf0e10cSrcweir 	Atom				nSysmodalId;
104*cdf0e10cSrcweir 	Atom				nLeftId;
105*cdf0e10cSrcweir 	Atom				nCenterId;
106*cdf0e10cSrcweir 	Atom				nRightId;
107*cdf0e10cSrcweir 	Atom				nTopId;
108*cdf0e10cSrcweir 	Atom				nVCenterId;
109*cdf0e10cSrcweir 	Atom				nBottomId;
110*cdf0e10cSrcweir 	Atom				nHScrollId;
111*cdf0e10cSrcweir 	Atom				nVScrollId;
112*cdf0e10cSrcweir 	Atom				nSortId;
113*cdf0e10cSrcweir 	Atom				nDefaultId;
114*cdf0e10cSrcweir 	Atom				nSVLookId;
115*cdf0e10cSrcweir 	Atom				nRepeatId;
116*cdf0e10cSrcweir 	Atom				nDropDownId;
117*cdf0e10cSrcweir 	Atom				nPassWordId;
118*cdf0e10cSrcweir 	Atom				nReadOnlyId;
119*cdf0e10cSrcweir 	Atom				nAutoSizeId;
120*cdf0e10cSrcweir 	Atom				nSpinId;
121*cdf0e10cSrcweir 	Atom				nTabControlId;
122*cdf0e10cSrcweir 	Atom				nSimpleModeId;
123*cdf0e10cSrcweir 	Atom				nDragId;
124*cdf0e10cSrcweir 	Atom				nScrollId;
125*cdf0e10cSrcweir 	Atom				nZoomableId;
126*cdf0e10cSrcweir 	Atom				nHideWhenDeactivateId;
127*cdf0e10cSrcweir 	Atom				nAutoHScrollId;
128*cdf0e10cSrcweir 	Atom				nAutoVScrollId;
129*cdf0e10cSrcweir 	Atom				nDDExtraWidthId;
130*cdf0e10cSrcweir 	Atom				nWordBreakId;
131*cdf0e10cSrcweir 	Atom				nLeftLabelId;
132*cdf0e10cSrcweir 	Atom				nHasLinesId;
133*cdf0e10cSrcweir 	Atom				nHasButtonsId;
134*cdf0e10cSrcweir 	Atom				nRectStyleId;
135*cdf0e10cSrcweir 	Atom				nLineSpacingId;
136*cdf0e10cSrcweir 	Atom				nSmallStyleId;
137*cdf0e10cSrcweir 	Atom				nEnableResizingId;
138*cdf0e10cSrcweir 	Atom				nDockableId;
139*cdf0e10cSrcweir 	Atom				nScaleId;
140*cdf0e10cSrcweir 	Atom				nIgnoreTabId;
141*cdf0e10cSrcweir 	Atom				nNoSplitDrawId;
142*cdf0e10cSrcweir 	Atom				nTopImageId;
143*cdf0e10cSrcweir 	Atom				nNoLabelId;
144*cdf0e10cSrcweir 	Atom				nVertId;
145*cdf0e10cSrcweir     Atom				nSysWinId;
146*cdf0e10cSrcweir 
147*cdf0e10cSrcweir 	void		Init(); 		// Initialisiert Klassen und Tabelle
148*cdf0e10cSrcweir 	void		SETCONST( RscConst *, const char *, sal_uInt32 );
149*cdf0e10cSrcweir 	void		SETCONST( RscConst *, Atom, sal_uInt32 );
150*cdf0e10cSrcweir 	RscEnum *	InitLangType();
151*cdf0e10cSrcweir 	RscEnum *	InitFieldUnitsType();
152*cdf0e10cSrcweir 	RscEnum *	InitTimeFieldFormat();
153*cdf0e10cSrcweir 	RscEnum *	InitColor();
154*cdf0e10cSrcweir 	RscEnum *	InitMapUnit();
155*cdf0e10cSrcweir 	RscEnum *	InitKey();
156*cdf0e10cSrcweir 	RscEnum *	InitTriState();
157*cdf0e10cSrcweir 	RscEnum *	InitMessButtons();
158*cdf0e10cSrcweir 	RscEnum *	InitMessDefButton();
159*cdf0e10cSrcweir 	RscTupel *	InitGeometry();
160*cdf0e10cSrcweir 	RscArray *	InitLangGeometry( RscTupel * pGeo );
161*cdf0e10cSrcweir 	RscArray *	InitSystemGeometry( RscTupel * pGeo );
162*cdf0e10cSrcweir 	RscCont  *	InitStringList();
163*cdf0e10cSrcweir 	RscArray *	InitLangStringList( RscCont * pStrLst );
164*cdf0e10cSrcweir 	RscTupel *	InitStringTupel();
165*cdf0e10cSrcweir 	RscTupel *	InitStringLongTupel();
166*cdf0e10cSrcweir 	RscCont  *	InitStringTupelList( RscTupel * pStringTupel );
167*cdf0e10cSrcweir 	RscCont  *	InitStringLongTupelList( RscTupel * pStringLongTupel );
168*cdf0e10cSrcweir 	RscArray *	InitLangStringTupelList( RscCont * pStrTupelLst );
169*cdf0e10cSrcweir 	RscArray *	InitLangStringLongTupelList( RscCont * pStrLongTupelLst );
170*cdf0e10cSrcweir 
171*cdf0e10cSrcweir 	RscTop *	InitClassMgr();
172*cdf0e10cSrcweir 	RscTop *	InitClassString( RscTop * pSuper );
173*cdf0e10cSrcweir 	RscTop *	InitClassBitmap( RscTop * pSuper );
174*cdf0e10cSrcweir 	RscTop *	InitClassColor( RscTop * pSuper, RscEnum * pColor );
175*cdf0e10cSrcweir 	RscTop *	InitClassImage( RscTop * pSuper, RscTop *pClassBitmap,
176*cdf0e10cSrcweir 								RscTop * pClassColor );
177*cdf0e10cSrcweir 	RscTop *	InitClassImageList( RscTop * pSuper, RscTop *pClassBitmap,
178*cdf0e10cSrcweir 									RscTop * pClassColor, RscCont * pStrLst );
179*cdf0e10cSrcweir 	RscTop *	InitClassWindow( RscTop * pSuper, RscEnum * pMapUnit,
180*cdf0e10cSrcweir 								 RscArray * pLangGeo );
181*cdf0e10cSrcweir 	RscTop *	InitClassSystemWindow( RscTop * pSuper );
182*cdf0e10cSrcweir 	RscTop *	InitClassWorkWindow( RscTop * pSuper );
183*cdf0e10cSrcweir 	RscTop *	InitClassModalDialog( RscTop * pSuper );
184*cdf0e10cSrcweir 	RscTop *	InitClassModelessDialog( RscTop * pSuper );
185*cdf0e10cSrcweir 	RscTop *	InitClassControl( RscTop * pSuper );
186*cdf0e10cSrcweir 	RscTop *	InitClassCheckBox( RscTop * pSuper );
187*cdf0e10cSrcweir 	RscTop *	InitClassPushButton( RscTop * pSuper );
188*cdf0e10cSrcweir 	RscTop *	InitClassTriStateBox( RscTop * pSuper, RscEnum * pTriState );
189*cdf0e10cSrcweir 	RscTop *	InitClassMenuButton( RscTop * pSuper, RscTop * pClasMenu );
190*cdf0e10cSrcweir 	RscTop *	InitClassImageButton( RscTop * pSuper, RscTop * pClassImage,
191*cdf0e10cSrcweir 									RscEnum * pTriState );
192*cdf0e10cSrcweir 	RscTop *	InitClassEdit( RscTop * pSuper );
193*cdf0e10cSrcweir 	RscTop *	InitClassMultiLineEdit( RscTop * pSuper );
194*cdf0e10cSrcweir 	RscTop *	InitClassScrollBar( RscTop * pSuper );
195*cdf0e10cSrcweir 	RscTop *	InitClassListBox( RscTop * pSuper, RscArray * pStrLst );
196*cdf0e10cSrcweir 	RscTop *	InitClassMultiListBox( RscTop * pSuper );
197*cdf0e10cSrcweir 	RscTop *	InitClassComboBox( RscTop * pSuper, RscArray * pStrLst );
198*cdf0e10cSrcweir 	RscTop *	InitClassFixedText( RscTop * pSuper );
199*cdf0e10cSrcweir 	RscTop *	InitClassFixedBitmap( RscTop * pSuper, RscTop * pClassBitmap );
200*cdf0e10cSrcweir 	RscTop *	InitClassFixedImage( RscTop * pSuper, RscTop * pClassImage );
201*cdf0e10cSrcweir 	RscTop *	InitClassRadioButton( RscTop * pSuper );
202*cdf0e10cSrcweir 	RscTop *	InitClassImageRadioButton( RscTop * pSuper, RscTop * pClassImage );
203*cdf0e10cSrcweir 	RscTop *	InitClassKeyCode( RscTop * pSuper, RscEnum * pKey );
204*cdf0e10cSrcweir 	RscTop *	InitClassAccelItem( RscTop * pSuper, RscTop * pKeyCode );
205*cdf0e10cSrcweir 	RscTop *	InitClassAccel( RscTop * pSuper, RscTop * pClassAccelItem );
206*cdf0e10cSrcweir 	RscTop *	InitClassMenuItem( RscTop * pSuper, RscTop * pClassBitmap,
207*cdf0e10cSrcweir 								   RscTop * pClassKeyCode );
208*cdf0e10cSrcweir 	RscTop *	InitClassMenu( RscTop * pSuper, RscTop * pMenuItem );
209*cdf0e10cSrcweir 	RscTop *	InitClassMessBox( RscTop * pSuper,
210*cdf0e10cSrcweir 								  RscEnum * pMessButtons,
211*cdf0e10cSrcweir 								  RscEnum * pMessDefButton );
212*cdf0e10cSrcweir 	RscTop *	InitClassSplitter( RscTop * pSuper );
213*cdf0e10cSrcweir 	RscTop *	InitClassSplitWindow( RscTop * pSuper );
214*cdf0e10cSrcweir 	RscTop *	InitClassTime( RscTop * pSuper );
215*cdf0e10cSrcweir 	RscTop *	InitClassDate( RscTop * pSuper );
216*cdf0e10cSrcweir 
217*cdf0e10cSrcweir 	RscTop *	InitClassPatternFormatter( RscTop * pSuper );
218*cdf0e10cSrcweir 	RscTop *	InitClassNumericFormatter( RscTop * pSuper );
219*cdf0e10cSrcweir 	RscTop *	InitClassMetricFormatter( RscTop * pSuper,
220*cdf0e10cSrcweir 										  RscEnum * pFieldUnits );
221*cdf0e10cSrcweir 	RscTop *	InitClassCurrencyFormatter( RscTop * pSuper,
222*cdf0e10cSrcweir 											RscEnum * pFieldUnits );
223*cdf0e10cSrcweir 	RscTop *	InitClassDateFormatter( RscTop * pSuper, RscTop * pClassDate );
224*cdf0e10cSrcweir 	RscTop *	InitClassTimeFormatter( RscTop * pSuper, RscTop * pClassTime,
225*cdf0e10cSrcweir 										RscEnum * pTimeFieldFormat );
226*cdf0e10cSrcweir 
227*cdf0e10cSrcweir 	RscTop *	InitClassSpinField( RscTop * pSuper );
228*cdf0e10cSrcweir 	RscTop *	InitClassPatternField( RscTop * pSuper );
229*cdf0e10cSrcweir 	RscTop *	InitClassNumericField( RscTop * pSuper );
230*cdf0e10cSrcweir 	RscTop *	InitClassMetricField( RscTop * pSuper );
231*cdf0e10cSrcweir 	RscTop *	InitClassCurrencyField( const char * pClassName, sal_uInt32 nRT,
232*cdf0e10cSrcweir 										RscTop * pSuper );
233*cdf0e10cSrcweir 	RscTop *	InitClassDateField( RscTop * pSuper, RscTop * pClassDate );
234*cdf0e10cSrcweir 	RscTop *	InitClassTimeField( RscTop * pSuper, RscTop * pClassTime );
235*cdf0e10cSrcweir 	RscTop *	InitClassPatternBox( RscTop * pSuper );
236*cdf0e10cSrcweir 	RscTop *	InitClassNumericBox( RscTop * pSuper );
237*cdf0e10cSrcweir 	RscTop *	InitClassMetricBox( RscTop * pSuper );
238*cdf0e10cSrcweir 	RscTop *	InitClassCurrencyBox( const char * pClassName, sal_uInt32 nRT,
239*cdf0e10cSrcweir 										RscTop * pSuper );
240*cdf0e10cSrcweir 	RscTop *	InitClassDateBox( RscTop * pSuper, RscTop * pClassDate );
241*cdf0e10cSrcweir 	RscTop *	InitClassTimeBox( RscTop * pSuper, RscTop * pClassTime );
242*cdf0e10cSrcweir 
243*cdf0e10cSrcweir 	RscTop *	InitClassDockingWindow( RscTop * pSuper,
244*cdf0e10cSrcweir 										RscEnum * pMapUnit );
245*cdf0e10cSrcweir 	RscTop *	InitClassToolBoxItem( RscTop * pSuper, RscTop * pClassBitmap,
246*cdf0e10cSrcweir 									  RscTop * pClassImage,
247*cdf0e10cSrcweir 									  RscEnum * pTriState );
248*cdf0e10cSrcweir 	RscTop *	InitClassToolBox( RscTop * pSuper, RscTop * pClassToolBoxItem,
249*cdf0e10cSrcweir 								  RscTop * pClassImageList );
250*cdf0e10cSrcweir 	RscTop *	InitClassStatusBar( RscTop * pSuper );
251*cdf0e10cSrcweir 	RscTop *	InitClassMoreButton( RscTop * pSuper, RscEnum * pMapUnit );
252*cdf0e10cSrcweir 	RscTop *	InitClassFloatingWindow( RscTop * pSuper,
253*cdf0e10cSrcweir 										 RscEnum * pMapUnit );
254*cdf0e10cSrcweir 	RscTop *	InitClassTabControlItem( RscTop * pSuper,
255*cdf0e10cSrcweir 										 RscTop * pClassTabPage );
256*cdf0e10cSrcweir 	RscTop *	InitClassTabControl(  RscTop * pSuper,
257*cdf0e10cSrcweir 									 RscTop * pClassTabControlItem );
258*cdf0e10cSrcweir 	RscTop *	InitClassSfxStyleFamilyItem( RscTop * pSuper,
259*cdf0e10cSrcweir 											 RscTop * pClassBitmap,
260*cdf0e10cSrcweir 											 RscTop * pClassImage,
261*cdf0e10cSrcweir 											 RscArray * pStrLst );
262*cdf0e10cSrcweir 	RscTop *	InitClassSfxTemplateDialog(  RscTop * pSuper,
263*cdf0e10cSrcweir 											 RscTop * pStyleFamily );
264*cdf0e10cSrcweir 	RscTop *	InitClassSfxSlotInfo( RscTop * pSuper );
265*cdf0e10cSrcweir 
266*cdf0e10cSrcweir 	void		InsWinBit( RscTop * pClass, const ByteString & rName,
267*cdf0e10cSrcweir 						   Atom nVal );
268*cdf0e10cSrcweir 	void		WriteInc( FILE * fOutput, sal_uLong lKey );
269*cdf0e10cSrcweir 
270*cdf0e10cSrcweir public:
271*cdf0e10cSrcweir 	RscBool 			aBool;
272*cdf0e10cSrcweir 	RscRange			aShort;
273*cdf0e10cSrcweir 	RscRange			aUShort;
274*cdf0e10cSrcweir 	RscLongRange		aLong;
275*cdf0e10cSrcweir 	RscLongEnumRange	aEnumLong;
276*cdf0e10cSrcweir 	RscIdRange			aIdUShort;
277*cdf0e10cSrcweir 	RscIdRange			aIdNoZeroUShort;
278*cdf0e10cSrcweir 	RscBreakRange		aNoZeroShort;
279*cdf0e10cSrcweir 	RscRange			a1to12Short;
280*cdf0e10cSrcweir 	RscRange			a0to23Short;
281*cdf0e10cSrcweir 	RscRange			a1to31Short;
282*cdf0e10cSrcweir 	RscRange			a0to59Short;
283*cdf0e10cSrcweir 	RscRange			a0to99Short;
284*cdf0e10cSrcweir 	RscRange			a0to9999Short;
285*cdf0e10cSrcweir 	RscIdRange			aIdLong;
286*cdf0e10cSrcweir 	RscString			aString;
287*cdf0e10cSrcweir 	RscString           aStringLiteral;
288*cdf0e10cSrcweir 	RscFlag 			aWinBits;
289*cdf0e10cSrcweir 	RscLangEnum 		aLangType;
290*cdf0e10cSrcweir 	RscLangArray		aLangString;
291*cdf0e10cSrcweir 	RscLangArray		aLangShort;
292*cdf0e10cSrcweir 
293*cdf0e10cSrcweir     Atom				nAcceleratorType;
294*cdf0e10cSrcweir 
295*cdf0e10cSrcweir 	RscError*			pEH;		// Fehlerhandler
296*cdf0e10cSrcweir 	RscNameTable		aNmTb;		// Tabelle fuer Namen
297*cdf0e10cSrcweir 	RscFileTab			aFileTab;	// Tabelle der Dateinamen
298*cdf0e10cSrcweir 	sal_uInt32				nFlags;
299*cdf0e10cSrcweir 	std::map<sal_uInt64, sal_uLong>	aIdTranslator; //Ordnet Resourcetypen und Id's einen Id zu
300*cdf0e10cSrcweir 									   //(unter PM), oder eine Dateiposition (MTF)
301*cdf0e10cSrcweir 
302*cdf0e10cSrcweir     RscTypCont( RscError *, RSCBYTEORDER_TYPE, const ByteString & rSearchPath, sal_uInt32 nFlags );
303*cdf0e10cSrcweir     ~RscTypCont();
304*cdf0e10cSrcweir 
305*cdf0e10cSrcweir     Atom AddLanguage( const char* );
306*cdf0e10cSrcweir 
307*cdf0e10cSrcweir 	sal_Bool			IsPreload() const
308*cdf0e10cSrcweir 					{ return (nFlags & PRELOAD_FLAG) ? sal_True : sal_False; }
309*cdf0e10cSrcweir 	sal_Bool			IsSmart() const
310*cdf0e10cSrcweir 					{ return (nFlags & SMART_FLAG) ? sal_True : sal_False; }
311*cdf0e10cSrcweir 	sal_Bool			IsSysResTest() const
312*cdf0e10cSrcweir 					{ return (nFlags & NOSYSRESTEST_FLAG) ? sal_False : sal_True; }
313*cdf0e10cSrcweir 	sal_Bool			IsSrsDefault() const
314*cdf0e10cSrcweir 					{ return (nFlags & SRSDEFAULT_FLAG) ? sal_True : sal_False; }
315*cdf0e10cSrcweir 	ByteString		ChangeLanguage( const ByteString& rNewLang );
316*cdf0e10cSrcweir     const std::vector< sal_uInt32 >& GetFallbacks() const
317*cdf0e10cSrcweir     { return aLangFallbacks; }
318*cdf0e10cSrcweir 
319*cdf0e10cSrcweir 	RSCBYTEORDER_TYPE GetByteOrder() const { return nByteOrder; }
320*cdf0e10cSrcweir 	CharSet 		GetSourceCharSet() const { return nSourceCharSet; }
321*cdf0e10cSrcweir     CharSet			SetSourceCharSet( CharSet aCharSet )
322*cdf0e10cSrcweir     {
323*cdf0e10cSrcweir         CharSet aOld = nSourceCharSet;
324*cdf0e10cSrcweir         nSourceCharSet = aCharSet;
325*cdf0e10cSrcweir         return aOld;
326*cdf0e10cSrcweir     }
327*cdf0e10cSrcweir 	void			SetSearchPath( const ByteString & rStr) { aSearchPath = rStr; }
328*cdf0e10cSrcweir 	ByteString		GetSearchPath() const { return aSearchPath; }
329*cdf0e10cSrcweir     void			SetSysSearchPath( const ByteString& rStr ) { aSysSearchPath = rStr; }
330*cdf0e10cSrcweir 	ByteString		GetSysSearchPath() const { return aSysSearchPath; }
331*cdf0e10cSrcweir 	void		InsertType( RscTop * pType )
332*cdf0e10cSrcweir 				{
333*cdf0e10cSrcweir 					aBaseLst.Insert( pType, LIST_APPEND );
334*cdf0e10cSrcweir 				}
335*cdf0e10cSrcweir 	RscTop	*	SearchType( Atom nTypId );
336*cdf0e10cSrcweir 	RscTop	*	Search( Atom typ );
337*cdf0e10cSrcweir 	CLASS_DATA	Search( Atom typ, const RscId & rId );
338*cdf0e10cSrcweir 	void		Delete( Atom typ, const RscId & rId );
339*cdf0e10cSrcweir 				// loescht alle Resourceobjekte diese Datei
340*cdf0e10cSrcweir 	void		Delete( sal_uLong lFileKey );
341*cdf0e10cSrcweir 	RscTop	*	GetRoot()		  { return( pRoot ); };
342*cdf0e10cSrcweir 	sal_uInt32		PutSysName( sal_uInt32 nRscTyp, char * pName, sal_uInt32 nConst,
343*cdf0e10cSrcweir 							sal_uInt32 nId, sal_Bool bFirst );
344*cdf0e10cSrcweir     void		ClearSysNames();
345*cdf0e10cSrcweir 	ERRTYPE 	WriteRc( WriteRcContext& rContext );
346*cdf0e10cSrcweir 	void		WriteSrc( FILE * fOutput, sal_uLong nFileIndex,
347*cdf0e10cSrcweir 						  CharSet nCharSet, sal_Bool bName = sal_True );
348*cdf0e10cSrcweir 	ERRTYPE 	WriteHxx( FILE * fOutput, sal_uLong nFileKey);
349*cdf0e10cSrcweir 	ERRTYPE 	WriteCxx( FILE * fOutput, sal_uLong nFileKey,
350*cdf0e10cSrcweir 						  const ByteString & rHxxName );
351*cdf0e10cSrcweir 	void		WriteSyntax( FILE * fOutput );
352*cdf0e10cSrcweir 	void		WriteRcCtor( FILE * fOutput );
353*cdf0e10cSrcweir 	void		FillNameIdList( REResourceList * pList, sal_uLong lFileKey );
354*cdf0e10cSrcweir 	sal_Bool		MakeConsistent( RscInconsList * pList );
355*cdf0e10cSrcweir 	sal_uInt32		PutTranslatorKey( sal_uInt64 nKey );
356*cdf0e10cSrcweir 	void		IncFilePos( sal_uLong nOffset ){ nFilePos += nOffset; }
357*cdf0e10cSrcweir };
358*cdf0e10cSrcweir 
359*cdf0e10cSrcweir #endif
360