tcpmon_entry.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016   
00017 #ifndef TCPMON_ENTRY_H
00018 #define TCPMON_ENTRY_H
00019 
00020 #include <axis2_env.h>
00021 #include <axis2_string.h>
00022  
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032    
00039 typedef struct tcpmon_entry_ops tcpmon_entry_ops_t;   
00040 typedef struct tcpmon_entry tcpmon_entry_t;
00041 
00042  struct tcpmon_entry_ops
00043 {
00050     axis2_status_t (AXIS2_CALL * 
00051     free)(tcpmon_entry_t *entry,
00052             const axis2_env_t *env);
00053    
00059     axis2_char_t* (AXIS2_CALL *
00060     arrived_time) (tcpmon_entry_t *entry,
00061                         const axis2_env_t *env);
00062 
00068     axis2_char_t* (AXIS2_CALL *
00069     sent_time) (tcpmon_entry_t *entry,
00070                         const axis2_env_t *env);
00071 
00077     axis2_char_t* (AXIS2_CALL *
00078     time_diff) (tcpmon_entry_t *entry,
00079                         const axis2_env_t *env);
00080 
00086     axis2_char_t* (AXIS2_CALL *
00087     sent_data) (tcpmon_entry_t *entry,
00088                         const axis2_env_t *env);
00089  
00095     axis2_char_t* (AXIS2_CALL *
00096     arrived_data) (tcpmon_entry_t *entry,
00097                         const axis2_env_t *env);
00098 
00104     axis2_char_t* (AXIS2_CALL *
00105     sent_headers) (tcpmon_entry_t *entry,
00106                         const axis2_env_t *env);
00107  
00113     axis2_char_t* (AXIS2_CALL *
00114     arrived_headers) (tcpmon_entry_t *entry,
00115                         const axis2_env_t *env);
00116 
00122     axis2_bool_t (AXIS2_CALL *
00123     is_success) (tcpmon_entry_t *entry,
00124                         const axis2_env_t *env);
00125     
00126 };
00127 
00128  struct tcpmon_entry 
00129 {
00130     tcpmon_entry_ops_t *ops;
00131 };
00132 
00138 AXIS2_EXTERN tcpmon_entry_t * AXIS2_CALL
00139 tcpmon_entry_create(const axis2_env_t *env );
00140 
00141 /*************************** Function macros **********************************/
00142 
00143 #define TCPMON_ENTRY_FREE(entry, env) \
00144         ((entry)->ops->free (entry, env))
00145 
00146 #define TCPMON_ENTRY_ARRIVED_TIME(entry, env) \
00147         ((entry)->ops->arrived_time(entry, env))
00148 
00149 #define TCPMON_ENTRY_SENT_TIME(entry, env) \
00150         ((entry)->ops->sent_time(entry, env))
00151 
00152 #define TCPMON_ENTRY_TIME_DIFF(entry, env) \
00153         ((entry)->ops->time_diff(entry, env))
00154 
00155 #define TCPMON_ENTRY_SENT_DATA(entry, env) \
00156         ((entry)->ops->sent_data(entry, env))
00157 
00158 #define TCPMON_ENTRY_ARRIVED_DATA(entry, env) \
00159         ((entry)->ops->arrived_data(entry, env))
00160 
00161 #define TCPMON_ENTRY_SENT_HEADERS(entry, env) \
00162         ((entry)->ops->sent_headers(entry, env))
00163 
00164 #define TCPMON_ENTRY_ARRIVED_HEADERS(entry, env) \
00165         ((entry)->ops->arrived_headers(entry, env))
00166 
00167 #define TCPMON_ENTRY_IS_SUCCESS(entry, env) \
00168         ((entry)->ops->is_success(entry, env))
00169 
00172 #ifdef __cplusplus
00173 }
00174 #endif
00175 
00176 #endif /* TCPMON_ENTRY_H */

Generated on Tue Oct 3 22:35:48 2006 for Axis2/C by  doxygen 1.4.7