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