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 
23 
24 #ifndef ADC_STMSTARR_HXX
25 #define ADC_STMSTARR_HXX
26 
27 // USED SERVICES
28 	// BASE CLASSES
29 #include <tokens/stmstate.hxx>
30 	// COMPONENTS
31 	// PARAMETERS
32 #include <tokens/token.hxx>
33 
34 
35 class StmArrayStatus : public StmStatus
36 {
37   public:
38 	typedef TextToken::F_CRTOK F_CRTOK;
39 
40 	// LIFECYCLE
41 						StmArrayStatus(
42 							intt				i_nStatusSize,
43 							const INT16 * 		in_aArrayModel,
44 							F_CRTOK				i_fTokenCreateFunction,
45 							bool				in_bIsDefault );
46 						~StmArrayStatus();
47 
48 	// INQUIRY
49 	StmStatus::Branch	NextBy(
50 							intt				in_nFollowersIndex) const;
TokenCreateFunction() const51 	F_CRTOK      		TokenCreateFunction() const
52 												{ return fTokenCreateFunction; }
53 	virtual bool		IsADefault() const;
54 
55 	// ACCESS
56 	virtual StmArrayStatus *
57 						AsArray();
58 	bool 				SetBranch(
59 							intt				in_nBranchIx,
60 							StmStatus::Branch	in_nBranch );
61 	void   				SetTokenCreateFunction(
62 							F_CRTOK				i_fTokenCreateFunction );
63   private:
64 	StmStatus::Branch *	dpBranches;
65 	intt				nNrOfBranches;
66 	F_CRTOK				fTokenCreateFunction;
67 	bool				bIsADefault;
68 };
69 
70 
71 // IMPLEMENTATION
72 
73 inline void
SetTokenCreateFunction(F_CRTOK i_fTokenCreateFunction)74 StmArrayStatus::SetTokenCreateFunction( F_CRTOK i_fTokenCreateFunction )
75 	{ fTokenCreateFunction = i_fTokenCreateFunction; }
76 
77 
78 
79 #endif
80 
81 
82