1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright IBM Corporation 2010.
6  * Copyright 2000, 2010 Oracle and/or its affiliates.
7  *
8  * OpenOffice.org - a multi-platform office productivity suite
9  *
10  * This file is part of OpenOffice.org.
11  *
12  * OpenOffice.org is free software: you can redistribute it and/or modify
13  * it under the terms of the GNU Lesser General Public License version 3
14  * only, as published by the Free Software Foundation.
15  *
16  * OpenOffice.org is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU Lesser General Public License version 3 for more details
20  * (a copy is included in the LICENSE file that accompanied this code).
21  *
22  * You should have received a copy of the GNU Lesser General Public License
23  * version 3 along with OpenOffice.org.  If not, see
24  * <http://www.openoffice.org/license.html>
25  * for a copy of the LGPLv3 License.
26  *
27  ************************************************************************/
28 
29 #include "ResIDGenerator.hxx"
30 
31 /**
32    * Destructor
33    *
34    * @param
35    * @return
36    */
37 ResIDGenerator::~ResIDGenerator()
38 {
39 }
40 
41 /**
42    * SubList stores those IDs that were ever generated and deleted, the method
43    * return the ID from subList first if subList is not empty,else return ++max.
44    * Add the obsolete IDs by calling SetSub method
45    *
46    * @param
47    * @return  new resource ID.
48    */
49 long ResIDGenerator::GenerateNewResID()
50 {
51     if (max == LONG_MAX)
52     {
53         if (!subList.empty())
54         {
55             long nRes = *(subList.begin());
56             subList.pop_front();
57             return nRes;
58         }
59     }
60     return -(++max);
61 }
62