• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

value.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id$
00005     begin       : Mon Apr 05 2004
00006     copyright   : (C) 2004 by Martin Preuss
00007     email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  * This file is part of the project "AqBanking".                           *
00011  * Please see toplevel file COPYING of that project for license details.   *
00012  ***************************************************************************/
00013 
00014 
00015 #ifndef AB_VALUE_H
00016 #define AB_VALUE_H
00017 
00018 #include <gwenhywfar/buffer.h>
00019 #include <gwenhywfar/db.h>
00020 #include <gwenhywfar/list.h>
00021 #include <gwenhywfar/types.h>
00022 
00023 #include <aqbanking/error.h>
00024 
00025 #include <stdio.h>
00026 
00027 
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031 
00032 typedef struct AB_VALUE AB_VALUE;
00033 GWEN_LIST_FUNCTION_LIB_DEFS(AB_VALUE, AB_Value, AQBANKING_API)
00034 
00035 
00038 AQBANKING_API AB_VALUE_LIST *AB_Value_List_dup(const AB_VALUE_LIST *vl);
00039 
00040 
00041 AQBANKING_API AB_VALUE *AB_Value_new(void);
00042 AQBANKING_API AB_VALUE *AB_Value_dup(const AB_VALUE *ov);
00043 AQBANKING_API void AB_Value_free(AB_VALUE *v);
00044 
00050 AQBANKING_API AB_VALUE *AB_Value_fromString(const char *s);
00051 
00057 AQBANKING_API void AB_Value_toString(const AB_VALUE *v, GWEN_BUFFER *buf);
00058 
00059 AQBANKING_API void AB_Value_toHumanReadableString(const AB_VALUE *v,
00060                                                   GWEN_BUFFER *buf,
00061                                                   int prec);
00062 
00063 AQBANKING_API void AB_Value_toHumanReadableString2(const AB_VALUE *v,
00064                                                    GWEN_BUFFER *buf,
00065                                                    int prec,
00066                                                    int withCurrency);
00067 
00068 AQBANKING_API AB_VALUE *AB_Value_fromDouble(double i);
00069 
00070 
00072 AQBANKING_API AB_VALUE *AB_Value_fromDb(GWEN_DB_NODE *db);
00073 
00075 AQBANKING_API int AB_Value_toDb(const AB_VALUE *v, GWEN_DB_NODE *db);
00076 
00078 AQBANKING_API int AB_Value_toDbFloat(const AB_VALUE *v, GWEN_DB_NODE *db);
00079 
00085 AQBANKING_API double AB_Value_GetValueAsDouble(const AB_VALUE *v);
00086 
00087 
00094 AQBANKING_API void AB_Value_SetValueFromDouble(AB_VALUE *v, double i);
00095 
00101 AQBANKING_API int AB_Value_GetNumDenomString(const AB_VALUE *v,
00102                                              char *buffer,
00103                                              uint32_t buflen);
00104 
00105 AQBANKING_API void AB_Value_SetZero(AB_VALUE *v);
00106 
00107 AQBANKING_API int AB_Value_IsZero(const AB_VALUE *v);
00108 AQBANKING_API int AB_Value_IsNegative(const AB_VALUE *v);
00109 AQBANKING_API int AB_Value_IsPositive(const AB_VALUE *v);
00110 AQBANKING_API int AB_Value_Compare(const AB_VALUE *v1, const AB_VALUE *v2);
00111 
00112 AQBANKING_API int AB_Value_AddValue(AB_VALUE *v1, const AB_VALUE *v2);
00113 AQBANKING_API int AB_Value_SubValue(AB_VALUE *v1, const AB_VALUE *v2);
00114 AQBANKING_API int AB_Value_MultValue(AB_VALUE *v1, const AB_VALUE *v2);
00115 AQBANKING_API int AB_Value_DivValue(AB_VALUE *v1, const AB_VALUE *v2);
00116 
00117 AQBANKING_API int AB_Value_Negate(AB_VALUE *v);
00118 
00119 
00120 AQBANKING_API const char *AB_Value_GetCurrency(const AB_VALUE *v);
00121 AQBANKING_API void AB_Value_SetCurrency(AB_VALUE *v, const char *s);
00122 
00123 
00124 AQBANKING_API void AB_Value_Dump(const AB_VALUE *v, FILE *f, unsigned int indent);
00125 
00126 #ifdef __cplusplus
00127 }
00128 #endif
00129 
00130 
00131 #endif /* AB_VALUE_H */
00132 
00133 
00134 
00135 
00136 
00137 
00138 
00139 

Generated on Tue Aug 3 2010 17:34:15 for aqbanking by  doxygen 1.7.1