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
00025 #include <axis2_defines.h>
00026 #include <axis2_env.h>
00027 #include <axis2_const.h>
00028 #include <axis2_qname.h>
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00035 struct axis2_svc_name;
00036 struct axis2_svc_name_ops;
00037
00047 AXIS2_DECLARE_DATA typedef struct axis2_svc_name_ops
00048 {
00054 axis2_qname_t* (AXIS2_CALL *
00055 get_qname)(struct axis2_svc_name *svc_name,
00056 const axis2_env_t *env);
00062 axis2_status_t (AXIS2_CALL *
00063 set_qname)(struct axis2_svc_name *svc_name,
00064 const axis2_env_t *env,
00065 axis2_qname_t *qname);
00071 axis2_char_t* (AXIS2_CALL *
00072 get_endpoint_name)(struct axis2_svc_name *svc_name,
00073 const axis2_env_t *env);
00079 axis2_status_t (AXIS2_CALL *
00080 set_endpoint_name)(struct axis2_svc_name *svc_name,
00081 const axis2_env_t *env,
00082 axis2_char_t *endpoint_name);
00083
00084
00085 axis2_status_t (AXIS2_CALL *
00086 free)(struct axis2_svc_name *svc_name,
00087 const axis2_env_t *env);
00088
00089
00090 } axis2_svc_name_ops_t;
00091
00095 typedef struct axis2_svc_name
00096 {
00098 axis2_svc_name_ops_t *ops;
00099 } axis2_svc_name_t;
00100
00101
00108 AXIS2_EXTERN axis2_svc_name_t* AXIS2_CALL
00109 axis2_svc_name_create(const axis2_env_t *env,
00110 axis2_qname_t *qname,
00111 axis2_char_t *endpoint_name) ;
00112
00113 #define AXIS2_SVC_NAME_GET_QNAME(svc_name, env) \
00114 ((svc_name)->ops->get_qname(svc_name, env))
00115
00116 #define AXIS2_SVC_NAME_SET_QNAME(svc_name, env, qname) \
00117 ((svc_name)->ops->set_qname(svc_name, env, qname))
00118
00119 #define AXIS2_SVC_NAME_GET_ENDPOINT_NAME(svc_name, env) \
00120 ((svc_name)->ops->get_endpoint_name(svc_name, env))
00121
00122 #define AXIS2_SVC_NAME_SET_ENDPOINT_NAME(svc_name, env, endpoint_name) \
00123 ((svc_name)->ops->set_endpoint_name(svc_name, env, endpoint_name))
00124
00125 #define AXIS2_SVC_NAME_FREE(svc_name, env) \
00126 ((svc_name)->ops->free(svc_name, env))
00127
00130 #ifdef __cplusplus
00131 }
00132 #endif
00133
00134 #endif