1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 #ifndef __RESIDGENERATOR_HXX
23 #define __RESIDGENERATOR_HXX
24 
25 #define PRIMARY_RESID 0x00000001
26 #include <deque>
27 
28 //ResID i.e. MSAA child ID,
29 //this class is responsible for generating a child ID
30 class ResIDGenerator
31 {
32 private:
33 
34     long min;
35     long max;
36     std::deque<long> subList;
37 
38 public:
39 
40     ResIDGenerator( long minNum = PRIMARY_RESID,long maxNum = PRIMARY_RESID);
41     long GenerateNewResID();
SetSub(long number)42     void SetSub(long number)
43     {
44         subList.push_back(number);
45     };
46     virtual ~ResIDGenerator();
47 
48 };
49 
ResIDGenerator(long minNum,long maxNum)50 inline ResIDGenerator::ResIDGenerator( long minNum ,long maxNum )
51 {
52     min = minNum;
53     max = maxNum;
54 }
55 
56 #endif
57