00001 #ifndef _VAPI_IO_
00002 #define _VAPI_IO_
00003 #include "vapiLists.h"
00004 #include "vapiOptions.h"
00005 #define NumberOfIOTypeNames 12
00006
00007
00008
00009
00010
00011 enum IOtype
00012 { vInput, vInputN, vOutput, vOutputN, vIOBoth, vIOBothN };
00013
00014 enum IOData
00015 { vStr, vInt, vDouble, vBool , vPointer, vNULL};
00016
00017 typedef void *vIOFunction (vOptions *, vpointer *);
00018
00019 typedef struct _vIO
00020 {
00021 char *IOname;
00022 char *IOdescription;
00023 char *Group;
00024 vOptionsSettings *OptionsSettings;
00025 int IOtype;
00026 int InData;
00027 int OutData;
00028 vIOFunction *IOFunc;
00029 } vIO;
00030
00031 vIO *vapiCreateIO (const char *IOname, const char *GroupName,
00032 const char *IOdescription, int IOtype, int InData,
00033 int OutData, vIOFunction IOFunc);
00034
00035 void vapiFreeIO (vIO * vFree);
00036
00037 void vapiIOPropertySetChar (int IOPosition, const char *name,
00038 const char *description);
00039
00040 char *vapiIOTypeToString (int IOType);
00041
00042 void vapiIOPropertySetInt (int IOPosition, const char *name,
00043 const char *description, int min, int max,
00044 int default_value, int scale);
00045
00046 vBoolean vapiIOCheckIO (vIO * IO, int InData, int OutData);
00047
00048 #endif