00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXUTIL_DURATION_H
00019 #define AXUTIL_DURATION_H
00020
00021 #include <axutil_utils_defines.h>
00022 #include <axutil_env.h>
00023
00024 #ifdef __cplusplus
00025 extern "C"
00026 {
00027 #endif
00028
00035 typedef struct axutil_duration axutil_duration_t;
00036
00037
00043 AXIS2_EXTERN axutil_duration_t * AXIS2_CALL
00044 axutil_duration_create(axutil_env_t *env);
00045
00046 AXIS2_EXTERN axutil_duration_t * AXIS2_CALL
00047 axutil_duration_create_from_values(const axutil_env_t *env,
00048 axis2_bool_t negative,
00049 int years, int months, int days, int hours,
00050 int minutes, double seconds);
00051
00052 AXIS2_EXTERN axutil_duration_t * AXIS2_CALL
00053 axutil_duration_create_from_string(const axutil_env_t *env,
00054 axis2_char_t *duration_str);
00055
00056 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00057 axutil_duration_free(axutil_duration_t *duration,
00058 const axutil_env_t *env);
00059
00060 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061 axutil_duration_deserialize_duration(axutil_duration_t *duration,
00062 const axutil_env_t *env,
00063 const char* duration_str);
00064
00065 AXIS2_EXTERN char* AXIS2_CALL
00066 axutil_duration_serialize_duration(axutil_duration_t *duration,
00067 const axutil_env_t *env );
00068
00069 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00070 axutil_duration_set_duration(axutil_duration_t* duration,
00071 const axutil_env_t *env,
00072 axis2_bool_t negative,
00073 int years, int months, int days,
00074 int hours, int mins, double seconds);
00075
00076 AXIS2_EXTERN int AXIS2_CALL
00077 axutil_duration_get_years(axutil_duration_t *duration,
00078 const axutil_env_t *env );
00079
00080 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00081 axutil_duration_set_years(axutil_duration_t *duration,
00082 const axutil_env_t *env,
00083 int years);
00084
00085
00086 AXIS2_EXTERN int AXIS2_CALL
00087 axutil_duration_get_months(axutil_duration_t *duration,
00088 const axutil_env_t *env );
00089
00090 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091 axutil_duration_set_months(axutil_duration_t *duration,
00092 const axutil_env_t *env,
00093 int months);
00094
00095 AXIS2_EXTERN int AXIS2_CALL
00096 axutil_duration_get_days(axutil_duration_t *duration,
00097 const axutil_env_t *env );
00098
00099 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100 axutil_duration_set_days(axutil_duration_t *duration,
00101 const axutil_env_t *env,
00102 int days);
00103
00104 AXIS2_EXTERN int AXIS2_CALL
00105 axutil_duration_get_hours(axutil_duration_t *duration,
00106 const axutil_env_t *env );
00107
00108 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109 axutil_duration_set_hours(axutil_duration_t *duration,
00110 const axutil_env_t *env,
00111 int hours);
00112
00113 AXIS2_EXTERN int AXIS2_CALL
00114 axutil_duration_get_mins(axutil_duration_t *duration,
00115 const axutil_env_t *env );
00116
00117
00118 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119 axutil_duration_set_mins(axutil_duration_t *duration,
00120 const axutil_env_t *env,
00121 int mins);
00122
00123 AXIS2_EXTERN double AXIS2_CALL
00124 axutil_duration_get_seconds(axutil_duration_t *duration,
00125 const axutil_env_t *env );
00126
00127 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00128 axutil_duration_set_seconds(axutil_duration_t *duration,
00129 const axutil_env_t *env,
00130 double seconds);
00131
00132 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00133 axutil_duration_compare(axutil_duration_t *duration_one,
00134 axutil_duration_t *duration_two,
00135 axutil_env_t *env);
00136
00137 #ifdef __cplusplus
00138 }
00139 #endif
00140
00141 #endif
00142
00143
00144