/* Copyright (C) 2015-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk4wxstt.cpt */ #ifndef DK4WXSTT_H_INCLUDED /** Avoid multiple inclusions. */ #define DK4WXSTT_H_INCLUDED 1 #line 10 "dk4wxstt.cpt" /** @file dk4wxstt.h String tables for wxChars. */ #ifndef DK4CONF_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4conf.h" #else #include #endif #endif #ifndef DK4TYPES_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4types.h" #else #include #endif #endif #ifndef DK4STRM_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4strm.h" #else #include #endif #endif #ifndef DK4ERROR_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4error.h" #else #include #endif #endif #ifndef DK4WXCS_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4wxcs.h" #else #include #endif #endif #ifndef WX_WXPREC_H_INCLUDED #include #define WX_WXPREC_H_INCLUDED 1 #endif #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #if DK4_HAVE_WX_CHARTYPE_H #ifndef WX_CHARTYPE_H_INCLUDED #include #define WX_CHARTYPE_H_INCLUDED 1 #endif #else #if DK4_HAVE_WX_WXCHAR_H #ifndef WX_WXCHAR_H_INCLUDED #include #define WX_WXCHAR_H_INCLUDED 1 #endif #else #ifndef WX_WX_H_INCLUDED #include #define WX_WX_H_INCLUDED #endif #endif #endif #endif /** String table for wxChar strings. */ typedef struct { dkChar *shrtfn; /**< Short file name. */ wxChar **strings; /**< Strings read from file. */ size_t nstrings; /**< Number of strings. */ } dk4_wx_string_table_t; extern "C" { /** Create string table from file. @param fn Short file name to store in structure. @param sz Number of lines required. @param erp Error report, may be NULL. @return Pointer to new string table structure on success, NULL on error. Error codes: - DK4_E_INVALID_ARGUMENTS
if fn is NULL or sz is 0, - DK4_E_MATH_OVERFLOW
if there was a numeric overflow in size calculations for dynamic memory allocations, - DK4_E_MEMORY_ALLOCATION_FAILED
if there is not enough memory available. */ dk4_wx_string_table_t * dk4wxstt_open(const dkChar *fn, size_t sz, dk4_er_t *erp); /** Apply a text stream to a string table. @param tptr String table to configure. @param strm Text stream, opened for reading. @param pre Processing encoding. @param erp1 Error report for decoding/encoding, may be NULL. @param erp2 Error report for processing, may be NULL. @return True on success, false on error. Error codes erp1: Error codes erp2: - DK4_E_INVALID_ARGUMENTS
if tptr or strm is NULL */ bool dk4wxstt_apply_stream( dk4_wx_string_table_t *tptr, dk4_stream_t *strm, int pre, dk4_er_t *erp1, dk4_er_t *erp2 ); /** Destroy a string table, free allocated memory. @param ptr String table to destroy. */ void dk4wxstt_close(dk4_wx_string_table_t *ptr); /** Mark string table as empty. Release memory for the strings. @param ptr String table to shut down. */ void dk4wxstt_shutdown(dk4_wx_string_table_t *ptr); /** Compare two string tables by short name. @param l Left pointer (always string table). @param r Right pointer (string table or short name). @param cr Comparison criteria (0=string table/string table, 1=string table/short name). @return Comparison result. */ int dk4wxstt_compare(const void *l, const void *r, int cr); } #endif