X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=csharp%2Fcommon%2FECI.cs;fp=csharp%2Fcommon%2FECI.cs;h=05f8dc67201639be0392064379041dfeec6215d6;hb=e35d358134873c3f640672da7cd0c01f02253151;hp=0000000000000000000000000000000000000000;hpb=dac5abcb8f2d3d3e61977924dc01e5749d75dc00;p=zxing.git
diff --git a/csharp/common/ECI.cs b/csharp/common/ECI.cs
new file mode 100755
index 00000000..05f8dc67
--- /dev/null
+++ b/csharp/common/ECI.cs
@@ -0,0 +1,56 @@
+/*
+* Copyright 2008 ZXing authors
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+namespace com.google.zxing.common
+{
+ using System;
+ using System.Text;
+
+ /// A class which wraps a 2D array of bytes. The default usage is signed. If you want to use it as a
+ /// unsigned container, it's up to you to do byteValue & 0xff at each location.
+ /// *
+ /// JAVAPORT: I'm not happy about the argument ordering throughout the file, as I always like to have
+ /// the horizontal component first, but this is for compatibility with the C++ code. The original
+ /// code was a 2D array of ints, but since it only ever gets assigned -1, 0, and 1, I'm going to use
+ /// less memory and go with bytes.
+ /// *
+ ///
+ /// dswitkin@google.com (Daniel Switkin)
+ ///
+ ///
+ public abstract class ECI
+ {
+ private int value;
+
+ public ECI(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+
+ public static ECI getECIByValue(int value) {
+ if (value < 0 || value > 999999) {
+ throw new Exception("Bad ECI value: " + value);
+ }
+ if (value < 900) { // Character set ECIs use 000000 - 000899
+ return CharacterSetECI.getCharacterSetECIByValue(value);
+ }
+ throw new Exception("Unsupported ECI value: " + value);
+ }
+
+ }
+}
\ No newline at end of file