@@ -18,7 +18,7 @@ typedef void* HANDLE;
1818
1919#include " DynamsoftCore.h"
2020
21- #define DBR_VERSION " 11.2.50.6558 "
21+ #define DBR_VERSION " 11.4.10.6634 "
2222
2323/* *Enumeration section*/
2424
@@ -615,6 +615,36 @@ namespace dynamsoft
615615 int layerNumber;
616616 };
617617
618+ /* *
619+ * Represents the Extended Channel Interpretation (ECI) information within a barcode.
620+ *
621+ * Each ECI segment specifies the character encoding used for a portion of the decoded bytes.
622+ * The charset names follow the IANA character set registry (e.g. "UTF-8", "ISO-8859-1").
623+ */
624+ class DBR_API CECISegment
625+ {
626+ public:
627+ /* *
628+ * ECI assignment number as defined by ISO/IEC 15424.
629+ */
630+ int eciValue;
631+
632+ /* *
633+ * Charset encoding name defined by IANA (e.g. "UTF-8", "ISO-8859-1").
634+ */
635+ const char * charsetEncoding;
636+
637+ /* *
638+ * Start index of this ECI segment in the decoded barcode bytes.
639+ */
640+ int startIndex;
641+
642+ /* *
643+ * Length (in bytes) of this segment within the decoded barcode bytes.
644+ */
645+ int length;
646+ };
647+
618648 namespace intermediate_results
619649 {
620650 /* *
@@ -846,6 +876,21 @@ namespace dynamsoft
846876 * @return Returns 0 if success, otherwise an error code.
847877 */
848878 virtual int SetLocation (const CQuadrilateral& location) = 0;
879+
880+ /* *
881+ * Gets the number of ECI segments in the barcode.
882+ *
883+ * @return The count of ECI segments. Returns 0 if no ECI information is present.
884+ */
885+ virtual int GetECISegmentsCount () const = 0;
886+
887+ /* *
888+ * Gets the ECI segment at the specified index.
889+ *
890+ * @param index The zero-based index of the ECI segment to retrieve.
891+ * @return A pointer to the CECISegment object, or NULL if the index is out of range.
892+ */
893+ virtual const CECISegment* GetECISegment (int index) const = 0;
849894 };
850895
851896 /* *
@@ -1471,6 +1516,21 @@ namespace dynamsoft
14711516 */
14721517 virtual int SetLocation (const CQuadrilateral& location) = 0;
14731518
1519+ /* *
1520+ * Gets the number of ECI segments in the barcode.
1521+ *
1522+ * @return The count of ECI segments. Returns 0 if no ECI information is present.
1523+ */
1524+ virtual int GetECISegmentsCount () const = 0;
1525+
1526+ /* *
1527+ * Gets the ECI segment at the specified index.
1528+ *
1529+ * @param index The zero-based index of the ECI segment to retrieve.
1530+ * @return A pointer to the CECISegment object, or NULL if the index is out of range.
1531+ */
1532+ virtual const CECISegment* GetECISegment (int index) const = 0;
1533+
14741534 };
14751535
14761536 /* *
0 commit comments