merge the formfield patch from ooo-build
[ooovba.git] / soldep / inc / prodmap.hxx
blob1a4cf82eaeef4a7a388b6495e8257c325bca546e
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: prodmap.hxx,v $
10 * $Revision: 1.3 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef PRODUCT_MAPPER_HXX
32 #define PRODUCT_MAPPER_HXX
34 #ifndef _SSTRING_HXX
35 #include <bootstrp/sstring.hxx>
36 #endif
38 class GenericInformation;
39 class GenericInformationList;
41 DECLARE_LIST( BaseProductList, ByteString * )
44 // class ProductMapper
47 #define PRODUCT_MAPPER_OK 0x0000
48 #define PRODUCT_MAPPER_NO_PRODUCT 0x0001
49 #define PRODUCT_MAPPER_NO_VERSION_INFORMATION 0x0002
51 class ProductMapper
53 private:
54 GenericInformationList *pVersionList;
55 GenericInformationList *pProductList;
57 SByteStringList aBaseList;
58 SByteStringList aPrintedList;
60 USHORT PrintDependentTargets( const ByteString &rProduct, USHORT nLevel = 0 );
61 USHORT PrintAndDeleteBaseList();
63 SByteStringList *GetMinorList( const ByteString &rVersion, const ByteString &rEnvironment );
64 BaseProductList *GetBases( GenericInformation *pProductInfo, USHORT nLevel = 0, BaseProductList *pBases = NULL );
66 USHORT PrintSingleMinorList( GenericInformation *pProductInfo, BaseProductList *pBases, const ByteString rEnvironment );
68 public:
69 ProductMapper();
70 ProductMapper( GenericInformationList *pVerList );
72 ~ProductMapper();
74 void CreateProductList( GenericInformationList *pVerList );
76 USHORT GetProductInformation( const ByteString &rProduct, GenericInformation *& pProductInfo );
77 USHORT PrintDependencies( const ByteString &rProduct );
78 USHORT PrintProductList();
80 USHORT PrintMinorList( const ByteString rProduct, const ByteString rEnvironment );
82 static String GetVersionRoot( GenericInformationList *pList, const ByteString &rVersion );
84 GenericInformationList *GetProductList() { return pProductList; }
88 #endif // PRODUCT_MAPPER_HXX