ERiC API-Referenz 43.3.2.0
Lade ...
Suche ...
Keine Treffer
eric_types.h-Dateireferenz

Definition von Datenstrukturen und Datentypen. Mehr ...

#include "platform.h"
+ Include-Abhängigkeitsdiagramm für eric_types.h:
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  eric_druck_parameter_t
 Diese Struktur enthält alle für den Druck notwendigen Informationen. Mehr ...
 
struct  eric_verschluesselungs_parameter_t
 Für die Signatur oder Authentifizierung benötigte Informationen. Mehr ...
 
struct  eric_zertifikat_parameter_t
 Struktur mit Informationen zur Erzeugung von Zertifikaten mit EricCreateKey(). Mehr ...
 

Typdefinitionen

typedef struct EricInstanz * EricInstanzHandle
 Handle auf eine ERiC-Instanz.
 
typedef char byteChar
 Der Datentyp byteChar wird immer dann verwendet, wenn an diesem Parameter keine UTF-8 codierte Daten erwartet werden. Diese Daten werden ungeprüft verwendet. Zum Beispiel: Pfade.
 
typedef uint32_t EricZertifikatHandle
 Integer-Typ für Zertifikat-Handles.
 
typedef uint32_t EricTransferHandle
 Das EricTransferHandle wird beim Anwendungsfall "Datenabholung" der API-Funktion EricBearbeiteVorgang() übergeben.
 
typedef struct EricReturnBufferApi * EricRueckgabepufferHandle
 Handle zur Verwaltung und Verwendung von Rückgabepuffern.
 
typedef int(* EricPdfCallback) (const char *pdfBezeichner, const BYTE *pdfDaten, uint32_t pdfGroesse, void *benutzerDaten)
 Typ der Callback-Funktion zur Übergabe eines PDFs an die Anwendung.
 
typedef void(* EricLogCallback) (const char *kategorie, eric_log_level_t loglevel, const char *nachricht, void *benutzerdaten)
 Typ der Callback-Funktion zum Logging.
 
typedef void(* EricFortschrittCallback) (uint32_t id, uint32_t pos, uint32_t max, void *benutzerdaten)
 Typ der Callback-Funktionen, die am ERiC für Fortschrittanzeigen registriert werden können.
 

Aufzählungen

enum  eric_bearbeitung_flag_t {
  ERIC_VALIDIERE = 1L << 1 ,
  ERIC_SENDE = 1L << 2 ,
  ERIC_DRUCKE = 1L << 5 ,
  ERIC_PRUEFE_HINWEISE = 1L << 7 ,
  ERIC_VALIDIERE_OHNE_FREIGABEDATUM = 1L << 8
}
 Bearbeitungsflags für die Anwendungsfälle von EricBearbeiteVorgang(). Mehr ...
 
enum  eric_log_level_t {
  ERIC_LOG_ERROR = 4 ,
  ERIC_LOG_WARN = 3 ,
  ERIC_LOG_INFO = 2 ,
  ERIC_LOG_DEBUG = 1 ,
  ERIC_LOG_TRACE = 0
}
 
enum  {
  ERIC_FORTSCHRITTCALLBACK_ID_EINLESEN = 10 ,
  ERIC_FORTSCHRITTCALLBACK_ID_VORBEREITEN = 20 ,
  ERIC_FORTSCHRITTCALLBACK_ID_VALIDIEREN = 30 ,
  ERIC_FORTSCHRITTCALLBACK_ID_SENDEN = 40 ,
  ERIC_FORTSCHRITTCALLBACK_ID_DRUCKEN = 50
}
 

Ausführliche Beschreibung

Definition von Datenstrukturen und Datentypen.

Definiert in Datei eric_types.h.

Dokumentation der benutzerdefinierten Typen

◆ byteChar

typedef char byteChar

Der Datentyp byteChar wird immer dann verwendet, wenn an diesem Parameter keine UTF-8 codierte Daten erwartet werden. Diese Daten werden ungeprüft verwendet. Zum Beispiel: Pfade.

Der Datentyp byteChar wird immer dann verwendet, wenn an diesem Parameter keine UTF-8 codierte Daten erwartet werden. Diese Daten werden ungeprüft verwendet.

Definiert in Zeile 53 der Datei eric_types.h.

◆ EricFortschrittCallback

typedef void(* EricFortschrittCallback) (uint32_t id, uint32_t pos, uint32_t max, void *benutzerdaten)

Typ der Callback-Funktionen, die am ERiC für Fortschrittanzeigen registriert werden können.

Parameter
idAktueller Verarbeitungsschritt
posAktueller Fortschritt bezogen auf max
maxMaximalwert des aktuellen Fortschritts pos
benutzerdatenDer Zeiger, der bei der Registrierung mit EricRegistriereGlobalenFortschrittCallback() oder EricRegistriereFortschrittCallback() übergeben worden ist, wird in diesem Parameter vom ERiC unverändert übergeben.

Es gilt stets, dass:

  • pos größer oder gleich 0 und kleiner oder gleich max ist
  • max ist immer größer als 0

Definiert in Zeile 534 der Datei eric_types.h.

◆ EricInstanzHandle

typedef struct EricInstanz* EricInstanzHandle

Handle auf eine ERiC-Instanz.

ERiC-Instanzen werden von der Multithreading-API angelegt, verwendet und wieder freigegeben, siehe ericmtapi.h.

Alle API-Funktionen der Multithreading-API nehmen einen Zeiger auf eine ERiC-Instanz entgegen und verrichten ihre Aufgaben auf dieser ERiC-Instanz. Die EricInstanz enthält sämtliche veränderlichen Zustände des ERiC. Dies sind ERiC-Einstellungen, Plugin- und Log-Verzeichnis, Proxyeinstellungen, Zertifikatshandle, Rückgabepuffer, etc.

Es können mehrere ERiC-Instanzen parallel angelegt werden. Jede dieser ERiC-Instanzen ist unabhängig von allen anderen ERiC-Instanzen. Verfügen mehrere Threads jeweils über ihre eigene ERiC-Instanz, können sie diese parallel verwenden. Dazu müssen die Threads den API-Funktionen der Multithreading-API ihre jeweils eigene ERiC-Instanz übergeben.

ERiC-Instanzen sollten nicht für jede Verarbeitung eines Steuerfalls neu erstellt und konfiguriert werden. Siehe hierzu ERiC-Entwicklerhandbuch.pdf, Kap. "Hinweise zum optimierten Einsatz von ERiC-Instanzen und Plugins"

ERiC-Instanzen können zwischen Threads ausgetauscht werden. Eine ERiC-Instanz darf aber nicht in zwei Threads gleichzeitig verwendet werden.

Siehe auch

Definiert in Zeile 45 der Datei eric_types.h.

◆ EricLogCallback

typedef void(* EricLogCallback) (const char *kategorie, eric_log_level_t loglevel, const char *nachricht, void *benutzerdaten)

Typ der Callback-Funktion zum Logging.

Wenn registriert, wird diese Callback-Funktion für jeden Log-Eintrag mit folgenden Parametern aufgerufen.

Parameter
kategorieKategorie des Logeintrags. Beinhaltet das Modul, welches den Log-Eintrag ausgibt. Zum Beispiel "eric.ctrl2". Kann zum Filtern verwendet werden. Alle Log-Nachrichten besitzen eine Kategorie. Der Zeiger ist nur innerhalb dieser Funktion gültig.
loglevelLog-Level des Logeintrags. Kann zum Filtern verwendet werden.
nachrichtEnthält die Log-Nachricht als Zeichenkette. Der Zeiger ist nur innerhalb dieser Funktion gültig.
benutzerdatenDer Zeiger, der bei der Registrierung mit EricRegistriereLogCallback() übergeben worden ist, wird in diesem Parameter vom ERiC unverändert übergeben.
Siehe auch

Definiert in Zeile 472 der Datei eric_types.h.

◆ EricPdfCallback

typedef int(* EricPdfCallback) (const char *pdfBezeichner, const BYTE *pdfDaten, uint32_t pdfGroesse, void *benutzerDaten)

Typ der Callback-Funktion zur Übergabe eines PDFs an die Anwendung.

Wenn diese Callback-Funktion im eric_druck_parameter_t angegeben wird werden PDFs vom ERiC nicht in eine Datei geschrieben, sondern an diese Callback-Funktion übergeben.

Parameter
[in]pdfBezeichner

Bezeichner für das PDF. Für ein PDF, das Inhalte aus einem Nutzdatenblock enthält, wird hier das Nutzdatenticket aus dem Nutzdatenblock übergeben, für sonstige PDFs das Wort "Uebertragungsprotokoll".

Bei der Erstellung mehrerer PDFs ermöglicht das Nutzdatenticket die Zuordnung eines PDFs zu einem bestimmten Nutzdatenblock.

[in]pdfDatenDer Inhalt des PDFs. Zu beachten: es handelt sich um binäre Daten, die Nullbytes enthalten können.
[in]pdfGroesseDie Größe der pdfDaten in Bytes.
[in]benutzerDatenDer Datenzeiger, der dem ERiC von der Anwendung im eric_druck_parameter_t übergeben wurde.
Rückgabe
  • 0, wenn kein Fehler aufgetreten ist. Ein beliebiger Wert ungleich 0, wenn ein Fehler aufgetreten ist. Der zurückgegebene Wert wird im Fehlerfall in die Datei eric.log protokolliert.
Siehe auch

Definiert in Zeile 214 der Datei eric_types.h.

◆ EricRueckgabepufferHandle

typedef struct EricReturnBufferApi* EricRueckgabepufferHandle

Handle zur Verwaltung und Verwendung von Rückgabepuffern.

Viele ERiC API-Funktionen geben Informationen an ihren Aufrufer zurück, indem sie Daten in sogenannte Rückgabepuffer schreiben. Solche Rückgabepuffer müssen mit EricRueckgabepufferErzeugen() angelegt werden. Das bei dieser Erzeugung generierte Puffer-Handle wird vom Aufrufer an die API-Funktion übergeben, die den Puffer leert bevor sie dann in den Puffer schreibt. Ein einmal generiertes Puffer-Handle kann damit auch für mehrere aufeinanderfolgende Aufrufe von ERiC API-Funktionen wiederverwendet werden. Mittels EricRueckgabepufferLaenge() kann danach die Anzahl der in den Puffer geschriebenen Bytes ermittelt werden. Mit EricRueckgabepufferInhalt() kann der Pufferinhalt abgefragt werden. Jeder Rückgabepuffer muss nach seiner Verwendung mit EricRueckgabepufferFreigeben() wieder freigegeben werden.

Die Struktur EricReturnBufferApi kapselt die Rückgabepuffer-Implementierung. Anwender der ERiC API verwenden ausschließlich Zeiger auf Instanzen dieser Struktur und müssen daher deren Felder nicht kennen.

Rückgabepuffer sind der Singlethreading-API bzw. einer ERiC-Instanz der Multithreading-API fest zugeordnet. Die Funktionen der ERiC API, die einen Rückgabepuffer entgegennehmen, geben den Fehlercode ERIC_GLOBAL_PUFFER_UNGLEICHER_INSTANZ zurück, wenn der übergebene Rückgabepuffer:

  • mit der Singlethreading-API erzeugt worden ist und dann mit der Multithreading-API verwendet wird
  • mit der Multithreading-API erzeugt worden ist und dann mit der Singlethreading-API verwendet wird
  • mit einer ERiC-Instanz erzeugt worden ist und dann mit einer anderen Instanz verwendet wird.
Siehe auch

Definiert in Zeile 175 der Datei eric_types.h.

◆ EricTransferHandle

Das EricTransferHandle wird beim Anwendungsfall "Datenabholung" der API-Funktion EricBearbeiteVorgang() übergeben.

Es ist vom Aufrufer zu initialisieren und wird EricBearbeiteVorgang() als Zeiger übergeben. Es wird verwendet, um bei der Datenabholung mehrere Versandvorgänge zu bündeln. Dabei ist das Handle für den ersten Vorgang "Anfrage" mit dem Wert 0 zu initialisieren, bevor EricBearbeiteVorgang() aufgerufen wird. Das von EricBearbeiteVorgang() zurückgegebene Handle ist dann bei allen Folgevorgängen derselben Datenabholung unverändert wieder zu übergeben.

Wird bei einer Datenabholung NULL oder ein ungültiger Zeiger als Handle übergeben, gibt EricBearbeiteVorgang() den Fehlercode ERIC_GLOBAL_TRANSFERHANDLE zurück.

Bei allen Verfahren außer der Datenabholung sollte das Transferhandle beim Aufruf der EricBearbeiteVorgang() NULL sein. Wird bei solchen Verfahren ein Handle übergeben, so wird dieses ignoriert.

Definiert in Zeile 84 der Datei eric_types.h.

◆ EricZertifikatHandle

Integer-Typ für Zertifikat-Handles.

Definiert in Zeile 59 der Datei eric_types.h.

Dokumentation der Aufzählungstypen

◆ anonymous enum

anonymous enum
Aufzählungswerte
ERIC_FORTSCHRITTCALLBACK_ID_EINLESEN 

id, die beim Einlesen des XMLs von Fortschrittcallbacks ausgegeben wird.

ERIC_FORTSCHRITTCALLBACK_ID_VORBEREITEN 

id, die gemeldet wird, wenn die Daten zum Versand noch vorbereitet werden müssen.

ERIC_FORTSCHRITTCALLBACK_ID_VALIDIEREN 

id, die beim Validieren der Eingangsdaten von Fortschrittcallbacks ausgegeben wird.

ERIC_FORTSCHRITTCALLBACK_ID_SENDEN 

id, die beim Versand der Ausgangsdaten von Fortschrittcallbacks ausgegeben wird.

ERIC_FORTSCHRITTCALLBACK_ID_DRUCKEN 

id, die beim Druck der Eingangsdaten von Fortschrittcallbacks ausgegeben wird.

Definiert in Zeile 478 der Datei eric_types.h.

◆ eric_bearbeitung_flag_t

Bearbeitungsflags für die Anwendungsfälle von EricBearbeiteVorgang().

Welche Anwendungsfälle von der jeweiligen Datenart unterstützt werden, ist dem ERiC-Entwicklerhandbuch.pdf zu entnehmen.

Aufzählungswerte
ERIC_VALIDIERE 

Der Datensatz soll validiert werden.

ERIC_SENDE 

Der Datensatz soll an den ELSTER Annahmeserver versendet werden.

ERIC_DRUCKE 

Der Datensatz soll gedruckt werden.

ERIC_PRUEFE_HINWEISE 

Der Datensatz soll auf Hinweise hin geprüft werden.

ERIC_VALIDIERE_OHNE_FREIGABEDATUM 

Der Datensatz soll validiert werden, ohne dabei die Prüfbedingung "ERiC_DV_Freigabedatum_pruefen" auszuführen. Dies ist nur möglich, wenn kein Versand stattfindet.

Das Flag kann nicht zusammen mit ERIC_SENDE oder ERIC_VALIDIERE angegeben werden.

Zu beachten
Zur Prüfbedingung "ERiC_DV_Freigabedatum_pruefen" siehe das Dokument "Zusatzinformationen_zur_Plausibilitaetspruefung.pdf" im ERiC-Dokumentationspaket.

Definiert in Zeile 93 der Datei eric_types.h.

◆ eric_log_level_t

eric_log_level_t ist ein Parameter für Funktionen vom Typ EricLogCallback. Der Loglevel kann zum Filtern für das ERiC Protokoll verwendet werden, siehe ERiC-Entwicklerhandbuch.pdf, Kap. "Das ERiC Protokoll eric.log".

Aufzählungswerte
ERIC_LOG_ERROR 

Fehler, der zum Programmabbruch führt.

ERIC_LOG_WARN 

Hinweise auf Zustände, die zu Fehlern führen können.

ERIC_LOG_INFO 

Grobe Informationen über den Programmablauf und Werte.

ERIC_LOG_DEBUG 

Feingranulare Informationen über den Programmablauf und Werte.

ERIC_LOG_TRACE 

Sehr feingranulare Informationen über den Programmablauf und Werte.

Definiert in Zeile 432 der Datei eric_types.h.