1 #ifndef __ERROR_CORRECTION_LEVEL_H__
2 #define __ERROR_CORRECTION_LEVEL_H__
5 * ErrorCorrectionLevel.h
8 * Created by Christian Brunschen on 15/05/2008.
9 * Copyright 2008 ZXing authors All rights reserved.
11 * Licensed under the Apache License, Version 2.0 (the "License");
12 * you may not use this file except in compliance with the License.
13 * You may obtain a copy of the License at
15 * http://www.apache.org/licenses/LICENSE-2.0
17 * Unless required by applicable law or agreed to in writing, software
18 * distributed under the License is distributed on an "AS IS" BASIS,
19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 * See the License for the specific language governing permissions and
21 * limitations under the License.
24 #include "../../ReaderException.h"
30 class ErrorCorrectionLevel {
33 ErrorCorrectionLevel(int ordinal) : ordinal_(ordinal) { }
34 static ErrorCorrectionLevel *FOR_BITS[];
37 static ErrorCorrectionLevel L;
38 static ErrorCorrectionLevel M;
39 static ErrorCorrectionLevel Q;
40 static ErrorCorrectionLevel H;
41 int ordinal() { return ordinal_; }
42 static ErrorCorrectionLevel& forBits(int bits) {
43 if (bits < 0 || bits >= N_LEVELS) {
44 throw new ReaderException("Ellegal error correction level bits");
46 return *FOR_BITS[bits];
52 #endif // __ERROR_CORRECTION_LEVEL_H__