|
ERiC API-Referenz 43.3.2.0
|
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 } |
Definition von Datenstrukturen und Datentypen.
Definiert in Datei eric_types.h.
| 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.
| 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.
| id | Aktueller Verarbeitungsschritt |
| pos | Aktueller Fortschritt bezogen auf max |
| max | Maximalwert des aktuellen Fortschritts pos |
| benutzerdaten | Der 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 istmax ist immer größer als 0 Definiert in Zeile 534 der Datei eric_types.h.
| 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.
Definiert in Zeile 45 der Datei eric_types.h.
| 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.
| kategorie | Kategorie 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. |
| loglevel | Log-Level des Logeintrags. Kann zum Filtern verwendet werden. |
| nachricht | Enthält die Log-Nachricht als Zeichenkette. Der Zeiger ist nur innerhalb dieser Funktion gültig. |
| benutzerdaten | Der Zeiger, der bei der Registrierung mit EricRegistriereLogCallback() übergeben worden ist, wird in diesem Parameter vom ERiC unverändert übergeben. |
Definiert in Zeile 472 der Datei eric_types.h.
| 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.
| [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] | pdfDaten | Der Inhalt des PDFs. Zu beachten: es handelt sich um binäre Daten, die Nullbytes enthalten können. |
| [in] | pdfGroesse | Die Größe der pdfDaten in Bytes. |
| [in] | benutzerDaten | Der Datenzeiger, der dem ERiC von der Anwendung im eric_druck_parameter_t übergeben wurde. |
Definiert in Zeile 214 der Datei eric_types.h.
| 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:
Definiert in Zeile 175 der Datei eric_types.h.
| typedef uint32_t 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.
| typedef uint32_t EricZertifikatHandle |
Integer-Typ für Zertifikat-Handles.
Definiert in Zeile 59 der Datei eric_types.h.
| anonymous enum |
Definiert in Zeile 478 der Datei eric_types.h.
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.
Definiert in Zeile 93 der Datei eric_types.h.
| enum 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".
Definiert in Zeile 432 der Datei eric_types.h.