00001 #ifndef _VAPI_RESULT_H
00002 #define _VAPI_RESULT_H
00003 #include "vapiTypes.h"
00004
00005
00006
00007
00008
00009
00010 typedef struct _vMacroResult
00011 {
00012 vBoolean Decision;
00013 vBoolean End;
00014 int JumpTo;
00015 int *ints;
00016 int intsNumber;
00017 double *floats;
00018 int floatsNumber;
00019 vPoint *points;
00020 int pointsNumber;
00021 vChar *chars;
00022 int charsNumber;
00023 char *macroTag;
00024 } vMacroResult;
00025
00026 vMacroResult *vapiMacroResultInit ();
00027
00028 void vapiResultAddInt (vMacroResult * PreviousResult, int value);
00029
00030 void vapiResultAddPoint (vMacroResult * PreviousResult, int x, int y);
00031
00032 void vapiResultAddFloat (vMacroResult * PreviousResult, double value);
00033
00034 void vapiResultAddChar (vMacroResult * PreviousResult, const char *string);
00035
00036 char *vapiResultGetChar (vMacroResult * PreviousResult, int position);
00037
00038 int vapiResultGetInt (vMacroResult * PreviousResult, int position);
00039
00040 double vapiResultGetFloat (vMacroResult * PreviousResult, int position);
00041
00042 vPoint vapiResultGetPoint (vMacroResult * PreviousResult, int position);
00043
00044 int vapiResultGetIntsNumber (vMacroResult * PreviousResult);
00045
00046 int vapiResultGetFloatsNumber (vMacroResult * PreviousResult);
00047
00048 int vapiResultGetCharsNumber (vMacroResult * PreviousResult);
00049
00050 int vapiResultGetPointsNumber (vMacroResult * PreviousResult);
00051
00052 void vapiResultSetEnd (vMacroResult * PreviousResult);
00053
00054 void vapiResultSetJumpTo (vMacroResult * PreviousResult, int OperationOrder);
00055
00056 int vapiResultGetJumpTo (vMacroResult * PreviousResult);
00057
00058 void vapiResultSetDecision (vMacroResult * PreviousResult, vBoolean Decision);
00059
00060 vBoolean vapiResultGetDecision (vMacroResult * PreviousResult);
00061
00062 void vResultResetInts (vMacroResult * PreviousResult);
00063
00064 void vResultResetChars (vMacroResult * PreviousResult);
00065
00066 void vResultResetPoints (vMacroResult * PreviousResult);
00067
00068 void vResultReset (vMacroResult * PreviousResult);
00069
00070 void vResultFree (vMacroResult * PreviousResult);
00071
00072 char *vapiResultPrintf (const char *inString, vMacroResult * PreviousResult);
00073
00074 char *vapiResultCheckMacroTag (vMacroResult * PreviousResult);
00075
00076 void vapiResultSetCurrentMacroTag (vMacroResult * PreviousResult,
00077 const char *previousMacroTag,
00078 int Operation);
00079 #endif