axutil_duration.h

00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance
00007  * with the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
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 /* AXIS2_DURATION_H */
00142 
00143 
00144 

Generated on Wed Sep 26 09:49:21 2007 for Axis2/C by  doxygen 1.4.6