00001 /*************************************************************************** 00002 $RCSfile: value.h,v $ 00003 ------------------- 00004 cvs : $Id: value.h,v 1.6 2005/02/22 10:25:15 cstim Exp $ 00005 begin : Mon Apr 05 2004 00006 copyright : (C) 2004 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * Please see toplevel file COPYING for license details * 00011 ***************************************************************************/ 00012 00013 00014 #ifndef AQBANKING_VALUE_H 00015 #define AQBANKING_VALUE_H 00016 00017 #include <gwenhywfar/db.h> 00018 #include <aqbanking/error.h> /* for AQBANKING_API */ 00019 00020 #ifdef __cplusplus 00021 extern "C" { 00022 #endif 00023 00032 typedef struct AB_VALUE AB_VALUE; 00033 00044 AQBANKING_API 00045 AB_VALUE *AB_Value_new(double value, const char *currency); 00046 00048 AQBANKING_API 00049 AB_VALUE *AB_Value_dup(const AB_VALUE *v); 00050 00053 AQBANKING_API 00054 AB_VALUE *AB_Value_fromString(const char *s); 00055 00057 AQBANKING_API 00058 AB_VALUE *AB_Value_fromDb(GWEN_DB_NODE *db); 00059 00061 AQBANKING_API 00062 int AB_Value_toDb(const AB_VALUE *v, GWEN_DB_NODE *db); 00063 00065 AQBANKING_API 00066 void AB_Value_free(AB_VALUE *v); 00073 AQBANKING_API 00074 double AB_Value_GetValue(const AB_VALUE *v); 00075 00077 AQBANKING_API 00078 void AB_Value_SetValue(AB_VALUE *v, double d); 00079 00083 AQBANKING_API 00084 const char *AB_Value_GetCurrency(const AB_VALUE *v); 00085 00088 AQBANKING_API 00089 void AB_Value_SetCurrency(AB_VALUE *v, const char *s); 00097 AQBANKING_API 00098 int AB_Value_IsValid(const AB_VALUE *v); 00099 00102 AQBANKING_API 00103 int AB_Value_IsNegative(const AB_VALUE *v); 00104 00107 AQBANKING_API 00108 int AB_Value_IsPositive(const AB_VALUE *v); 00109 00112 AQBANKING_API 00113 int AB_Value_IsZero(const AB_VALUE *v); 00114 00118 AQBANKING_API 00119 int AB_Value_IsEqual(const AB_VALUE *v1, const AB_VALUE *v2); 00120 00124 AQBANKING_API 00125 int AB_Value_Compare(const AB_VALUE *v1, const AB_VALUE *v2); 00135 AQBANKING_API 00136 int AB_Value_AddValue(AB_VALUE *v, const AB_VALUE *vToAdd); 00137 00142 AQBANKING_API 00143 int AB_Value_SubValue(AB_VALUE *v, const AB_VALUE *vToSub); 00144 00147 AQBANKING_API 00148 int AB_Value_Negate(AB_VALUE *v); 00151 #ifdef __cplusplus 00152 } 00153 #endif 00154 00155 #endif /* AQBANKING_VALUE_H */ 00156 00157