CONVERT_PROC

Top  Previous  Next

typedef struct CONVERT_PROC{

  int len;

  struct CONVERT_PROC *next;

  char *formatName;

  void *params;

  LONG ( DLLENTRY *cv_getReadParamsOnce)(int argc,

        char *argv[],

        struct CONVERT_PROC *dataBlock);

  LONG ( DLLENTRY *cv_getReadParamsRepeated)(

        int argc,

        char *argv[],

        struct CONVERT_PROC *dataBlock,

        char *name,

        char *pfad);

  PPLANS ( DLLENTRY *cv_readProject)(

        int argc,

        char *argv[],

        struct CONVERT_PROC *dataBlock,

        char *name,

        char *pfad,

        int write,

        PROOT root,

        char *source,

        PPLANS plan,

        int flags,

        OBJECT_GROUP_DESCRIPTION *objects,

        PLAN_SETTINGS *plSet,

        char *identity);

  LONG ( DLLENTRY *cv_unlockProject)(PPLANS plan,int flags);

  LONG ( DLLENTRY *cv_lockProject)(PPLANS plan,int flags);

  char *comment;

  LONG ( DLLENTRY *cv_getSaveParams)(

        int argc,

        char *argv[],

        struct CONVERT_PROC *dataBlock,

        PPLANS plan);

  LONG ( DLLENTRY *cv_saveProject)(

        int argc,

        char *argv[],

        struct CONVERT_PROC *dataBlock,

        PPLANS plan,

        PROOT root,

        char *newName,

        char *newPath,

        int flags);

  LONG ( DLLENTRY *cv_enumProjects)(

        char *pfad,

        struct CONVERT_PROC *dataBlock,

        PROOT root,

        int (DLLENTRY *actionProc)(

              PLAN_SETTINGS* pSet,

              void *params, PROOT root),

         void *params,

        char *muster,

        int flags,

        PSEGMENT segment);

  int flags;   // CONVERT_FLAGS_HAS_RIGHTS = 1

               // CONVERT_FLAGS_LOAD_SELECTIV =2

  LONG ( DLLENTRY *cv_updateProject)(

        int argc,

        char *argv[],

        struct CONVERT_PROC *dataBlock,

        PLAN_SETTINGS *plSet,

        int flags,

        struct CONVERTobjectList *objects);

  LONG ( DLLENTRY *cv_exportProject)(

        int argc,

        char *argv[],

        struct CONVERT_PROC *dataBlock,

        PPLANS plan,

        PROOT root,

        POBJECT *objListe,

        PLAN_SETTINGS *plSet,

        int flags);

  LONG ( DLLENTRY *cv_commitOrRollback)(

        struct CONVERT_PROC *dataBlock,

        PROOT root,

        int flags,

        int doCommitNotRollback);

} CONVERT_PROC;

 

len (int)

Größe der Struktur in Byte. Hierdurch wird identifiziert, welche Version der Struktur vorhanden ist.

next struct CONVERT_PROC*)

Zeiger auf das nächste Datenformat. Wenn eine DLL mehrere Datenformate bedient, dann werden diese als Liste exportiert. Moskito verkettet zusätzlich beim Laden alle Datenformate.

formatName (char*)

Name des Datenformats. Dieser String wird beim Laden und Speichern verwendet. Zusätzlich wird er als Dateiendung verwendet, wenn das Format keine enum-Funktion bereitstellt.

params (void *)

zur internen Verwendung durch den Konverter.

cv_getReadParamsOnce (Prozedurzeiger)

Dient dem Abfragen von Parameterwerten vor dem Lesen von Daten. Die Routine wird einmal für das gesamte Datenformat aufgerufen.

 

Parameter

argc (int)

Anzahl der Parameter beim Aufruf der Anwenderfunktion zu diesem Aufruf. Damit kann der Anwender spezielle Parameter für einen Datenkonverter eingeben.

arg (char **)

Textfeld mit den Parametern (siehe argc).

dataBlock (struct CONVERT_PROC *)

Zeiger auf den Block mit den Prozedurzeigern für dieses Format.

 

Ergebnis

(long int)

bisher ohne Bedeutung

cv_getReadParamsRepeated (Prozedurzeiger)

Dient dem Abfragen von Parameterwerten vor dem Lesen von Daten. Die Routine wird vor jedem Projekt/Plan aufgerufen.

 

Parameter

argc (int)

Anzahl der Parameter beim Aufruf der Anwenderfunktion zu diesem Aufruf. Damit kann der Anwender spezielle Parameter für einen Datenkonverter eingeben.

arg (char **)

Textfeld mit den Parametern (siehe argc).

dataBlock (struct CONVERT_PROC *)

Zeiger auf den Block mit den Prozedurzeigern für dieses Format.

name (char*)

Name der Datei, die gelesen werden soll.

pfad (char*)

Pfad der Datei, die gelesen werden soll. Pfad und Name zusammen ergeben den gesamten Dateinamen. Dieser kann aber auch vollständig in einer der beiden Variablen stehen.

 

Ergebnis

(long int)

bisher ohne Bedeutung

cv_readProject (Prozedurzeiger)

Die Funktion muss aufgerufen werden, um einen Plan oder ein Projekt in den Arbeitsbereich zu laden.

 

Parameter

argc (int)

Anzahl der Parameter beim Aufruf der Anwenderfunktion zu diesem Aufruf. Damit kann der Anwender spezielle Parameter für einen Datenkonverter eingeben.

arg (char **)

Textfeld mit den Parametern (siehe argc).

dataBlock (struct CONVERT_PROC *)

Zeiger auf den Block mit den Prozedurzeigern für dieses Format.

name (char*)

Name der Datei, die gelesen werden soll.

pfad (char*)

Pfad der Datei, die gelesen werden soll. Pfad und Name zusammen ergeben den gesamten Dateinamen. Dieser kann aber auch vollständig in einer der beiden Variablen stehen.

write (int)

TRUE:: Der Plan soll schreibend geladen werden.

FALSE: Der Plan soll nur mit Leseberechtigung geöffnet werden.

root (PROOT)

Handle der Datenbank.

source (char *)

Name der Datei, aus der der Plan gelesen werden soll. Wird nur verwendet, wenn der Plan importiert wird, also an einer anderen Stelle steht, als er hinterher wieder abgespeichert werden soll.

plan (PPLANS)

Handle eines Plans, zu dem die Daten zugefügt werden sollen, oder

Handle des Segments, in dem der Plan angelegt werden soll, oder

Handle der Datenbank.

flags (int)

Schalter, die das Verhalten beim Laden beeinflussen:

FLAG_PROJECTS_READ_NEED_WRITE Der Plan muss schreibend geladen werden. Wenn dies nicht möglich ist soll das Laden abgebrochen werden.

objects (OBJECT_GROUP_DESCRIPTION *)

Liste der Objektarten die geladen werden soll.

plSet (PLAN_SETTINGS *)

Die Eigenschaften des geladenen Plans werden hier abgelegt, auch wenn der Plan zu einem anderen hinzugeladen wurde.

identity (char)

Name des Projekts, das geladen werden soll. Unter diesem Namen ist das Projekt später in den LOK-Dateien gefunden werden kann.

 

Ergebnis

PPLANS

NULL, wenn kein Plan geladen werden konnte,

das Handle des Plans, wenn dieser korrekt geladen wurde.

cv_unlockProject (Prozedurzeiger)

Mit dieser Prozedur kann ein Plan, der auf Grund eines Fehlers gegen Schreibern gesperrt ist, wieder entsperrt werden.

 

Parameter

Plan (PPLANS)

Das Handle des Plans, der entsperrt werden soll.

Flags (int)

Reserviert. Immer 0.

 

Ergebnis

LONG

0 im Erfolgsfall,

sonst eine Fehlernummer.

cv_lockProject (Prozedurzeiger)

Mit dieser Prozedur kann ein Plan, der auf Grund eines Fehlers nicht gegen Schreibern gesperrt ist, gesperrt werden.

 

Parameter

Plan (PPLANS)

Das Handle des Plans, der gesperrt werden soll.

Flags (int)

Reserviert. Immer 0.

 

Ergebnis

LONG

0 im Erfolgsfall,

sonst eine Fehlernummer.

comment (char*)

Beschreibung fehlt.

cv_getSaveParams (Prozedurzeiger)

Beschreibung fehlt.

 

Parameter

argc (int)

Anzahl der Argumente in der Kommandozeile.

argv[] (char *)

Feld von Zeichenketten. Die Anzahl wird durch argc bestimmt.

dataBlock (struct CONVERT_PROC *)

Beschreibung fehlt.

plan (PPLANS)

Beschreibung fehlt.

 

Ergebnis

LONG

0 im Erfolgsfall,

sonst eine Fehlernummer.

cv_saveProject (Prozedurzeiger)

Beschreibung fehlt.

 

Parameter

argc (int)

Anzahl der Parameter in der Kommandozeile.

argv[] (char *)

Feld von Zeichenketten. Anzahl wird von argc bestimmt.

dataBlock (struct CONVERT_PROC *)

Beschreibung fehlt.

plan (PPLANS)

Beschreibung fehlt.

root (PROOT)

Zeiger auf die geöffnete Datenbank.

newName (char *)

Feld von Zeichenketten. Anzahl wird von argc bestimmt.

newPath (char *)

Feld von Zeichenketten. Anzahl wird von argc bestimmt.

flags (int)

Feld von Zeichenketten. Anzahl wird von argc bestimmt.

 

Ergebnis

LONG

0 im Erfolgsfall,

sonst eine Fehlernummer.

cv_enumProjects (Prozedurzeiger)

Beschreibung fehlt.

 

Parameter

pfad (char *)

Zeichenkette die den Pfad des Projekts angibt.

dataBlock (struct CONVERT_PROC *)

Beschreibung fehlt.

root (PROOT)

Handle auf die geöffnete Datenbank.

actionProc (Prozedurzeiger)

Parameter

                pSet (PLAN_SETTINGS *)

                params (void *)

                root (PROOT)

Ergebnis

                int

params (void *)

Beschreibung fehlt.

muster (char *)

Beschreibung fehlt.

flags (int)

Beschreibung fehlt.

                                     Segment (PSEGMENT)

Zeiger auf das Segment, in dem der plan später geladen werden soll. Wird hier NULL angegeben, so können einige Datenformate nicht geladen werden.

 

Ergebnis

LONG

0 im Erfolgsfall,

sonst eine Fehlernummer.

flags (int)   // CONVERT_FLAGS_HAS_RIGHTS          = 1

                           // CONVERT_FLAGS_LOAD_SELECTIV  =2

cv_updateProject (Prozedurzeiger)

Beschreibung fehlt.

 

Parameter

argc (int)

Anzahl der Argumente in der Kommandozeile.

argv[] (char *)

Feld von Zeichenketten. Anzahl wird durch argc bestimmt.

dataBlock (struct CONVERT_PROC *)

Param Beschreibung

plSet (PLAN_SETTINGS *)

Param Beschreibung

flags (int)

Param Beschreibung

objects (struct CONVERTobjectList *)

Param Beschreibung

 

Ergebnis

LONG

0 im Erfolgsfall,

sonst eine Fehlernummer.

cv_exportProject (Prozedurzeiger)

Beschreibung fehlt.

 

Parameter

argc (int)

Anzahl der Argumente in der Kommandozeile.

argv[] (char *)

Feld von Zeichenketten. Anzahl wird durch argc bestimmt.

dataBlock (struct CONVERT_PROC *)

Param Beschreibung

plan (PPLANS)

Param Beschreibung

root (PROOT)

Handle auf die geöffnete Datenbank.

objList (POBJECT *)

Handle auf ein Liste von Objekten.

plSet (PLAN_SETTINGS *)

Param Beschreibung

flags (int)

Param Beschreibung

 

Ergebnis

LONG

0 im Erfolgsfall,

sonst eine Fehlernummer.

// Aufruf erfolgt, wenn die Änderungen in allen Plänen gesichert sind und feststeht, ob Commit oder Rollback

 

cv_commitOrRollback (Prozedurzeiger)

Beschreibung fehlt.

 

Parameter

dataBlock (struct CONVERT_PROC *)

Param Beschreibung

root (PROOT)

Handle auf die geöffnete Datenbank.

flags (int)

Param Beschreibung

doCommitNotRollback (int)

Param Beschreibung

 

Ergebnis

LONG

0 im Erfolgsfall,

sonst eine Fehlernummer.