00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_SVC_NAME_H
00019 #define AXIS2_SVC_NAME_H
00020
00036 #include <axis2_defines.h>
00037 #include <axis2_env.h>
00038 #include <axis2_const.h>
00039 #include <axis2_qname.h>
00040
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045
00047 typedef struct axis2_svc_name axis2_svc_name_t;
00049 typedef struct axis2_svc_name_ops axis2_svc_name_ops_t;
00050
00051
00055 struct axis2_svc_name_ops
00056 {
00065 const axis2_qname_t *(AXIS2_CALL *
00066 get_qname)(
00067 const axis2_svc_name_t *svc_name,
00068 const axis2_env_t *env);
00069
00078 axis2_status_t (AXIS2_CALL *
00079 set_qname)(
00080 struct axis2_svc_name *svc_name,
00081 const axis2_env_t *env,
00082 const axis2_qname_t *qname);
00083
00092 const axis2_char_t *(AXIS2_CALL *
00093 get_endpoint_name)(
00094 const axis2_svc_name_t *svc_name,
00095 const axis2_env_t *env);
00096
00106 axis2_status_t (AXIS2_CALL *
00107 set_endpoint_name)(
00108 struct axis2_svc_name *svc_name,
00109 const axis2_env_t *env,
00110 const axis2_char_t *endpoint_name);
00111
00118 axis2_status_t (AXIS2_CALL *
00119 free)(
00120 struct axis2_svc_name *svc_name,
00121 const axis2_env_t *env);
00122
00123 };
00124
00128 struct axis2_svc_name
00129 {
00131 axis2_svc_name_ops_t *ops;
00132 };
00133
00134
00142 AXIS2_EXTERN axis2_svc_name_t *AXIS2_CALL
00143 axis2_svc_name_create(
00144 const axis2_env_t *env,
00145 const axis2_qname_t *qname,
00146 const axis2_char_t *endpoint_name) ;
00147
00150 #define AXIS2_SVC_NAME_GET_QNAME(svc_name, env) \
00151 ((svc_name)->ops->get_qname(svc_name, env))
00152
00155 #define AXIS2_SVC_NAME_SET_QNAME(svc_name, env, qname) \
00156 ((svc_name)->ops->set_qname(svc_name, env, qname))
00157
00160 #define AXIS2_SVC_NAME_GET_ENDPOINT_NAME(svc_name, env) \
00161 ((svc_name)->ops->get_endpoint_name(svc_name, env))
00162
00165 #define AXIS2_SVC_NAME_SET_ENDPOINT_NAME(svc_name, env, endpoint_name) \
00166 ((svc_name)->ops->set_endpoint_name(svc_name, env, endpoint_name))
00167
00170 #define AXIS2_SVC_NAME_FREE(svc_name, env) \
00171 ((svc_name)->ops->free(svc_name, env))
00172
00175 #ifdef __cplusplus
00176 }
00177 #endif
00178
00179 #endif