00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_SVC_NAME_H
00018 #define AXIS2_SVC_NAME_H
00019
00035 #include <axis2_defines.h>
00036 #include <axis2_env.h>
00037 #include <axis2_const.h>
00038 #include <axis2_qname.h>
00039
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044
00046 typedef struct axis2_svc_name axis2_svc_name_t;
00048 typedef struct axis2_svc_name_ops axis2_svc_name_ops_t;
00049
00050
00054 struct axis2_svc_name_ops
00055 {
00064 const axis2_qname_t *(AXIS2_CALL *
00065 get_qname)(
00066 const axis2_svc_name_t *svc_name,
00067 const axis2_env_t *env);
00068
00077 axis2_status_t (AXIS2_CALL *
00078 set_qname)(
00079 struct axis2_svc_name *svc_name,
00080 const axis2_env_t *env,
00081 const axis2_qname_t *qname);
00082
00091 const axis2_char_t *(AXIS2_CALL *
00092 get_endpoint_name)(
00093 const axis2_svc_name_t *svc_name,
00094 const axis2_env_t *env);
00095
00105 axis2_status_t (AXIS2_CALL *
00106 set_endpoint_name)(
00107 struct axis2_svc_name *svc_name,
00108 const axis2_env_t *env,
00109 const axis2_char_t *endpoint_name);
00110
00117 axis2_status_t (AXIS2_CALL *
00118 free)(
00119 struct axis2_svc_name *svc_name,
00120 const axis2_env_t *env);
00121
00122 };
00123
00127 struct axis2_svc_name
00128 {
00130 axis2_svc_name_ops_t *ops;
00131 };
00132
00133
00141 AXIS2_EXTERN axis2_svc_name_t *AXIS2_CALL
00142 axis2_svc_name_create(
00143 const axis2_env_t *env,
00144 const axis2_qname_t *qname,
00145 const axis2_char_t *endpoint_name) ;
00146
00149 #define AXIS2_SVC_NAME_GET_QNAME(svc_name, env) \
00150 ((svc_name)->ops->get_qname(svc_name, env))
00151
00154 #define AXIS2_SVC_NAME_SET_QNAME(svc_name, env, qname) \
00155 ((svc_name)->ops->set_qname(svc_name, env, qname))
00156
00159 #define AXIS2_SVC_NAME_GET_ENDPOINT_NAME(svc_name, env) \
00160 ((svc_name)->ops->get_endpoint_name(svc_name, env))
00161
00164 #define AXIS2_SVC_NAME_SET_ENDPOINT_NAME(svc_name, env, endpoint_name) \
00165 ((svc_name)->ops->set_endpoint_name(svc_name, env, endpoint_name))
00166
00169 #define AXIS2_SVC_NAME_FREE(svc_name, env) \
00170 ((svc_name)->ops->free(svc_name, env))
00171
00174 #ifdef __cplusplus
00175 }
00176 #endif
00177
00178 #endif