You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2005/12/02 06:05:33 UTC

svn commit: r351587 - /webservices/axis2/trunk/c/include/axis2_svc_name.h

Author: samisa
Date: Thu Dec  1 21:05:27 2005
New Revision: 351587

URL: http://svn.apache.org/viewcvs?rev=351587&view=rev
Log:
Header for WS addressing service name

Added:
    webservices/axis2/trunk/c/include/axis2_svc_name.h

Added: webservices/axis2/trunk/c/include/axis2_svc_name.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_svc_name.h?rev=351587&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_svc_name.h (added)
+++ webservices/axis2/trunk/c/include/axis2_svc_name.h Thu Dec  1 21:05:27 2005
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef AXIS2_SVC_NAME_H
+#define AXIS2_SVC_NAME_H
+
+/**
+ * @file axis2_svc_name.h
+ * @brief Axis2 core addressing interface
+ */
+
+#include <axis2_defines.h>
+#include <axis2_env.h>
+#include <axis2.h>
+#include <axis2_qname.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    struct axis2_svc_name;
+    struct axis2_svc_name_ops;
+    
+/**
+ * @defgroup axis2_svc_name Addressing service name
+ * @ingroup axis2_addr
+ * @{
+ */
+
+/**
+ *   \brief Dispatcher operations struct
+ */
+ AXIS2_DECLARE_DATA typedef struct axis2_svc_name_ops
+    { 
+        /**
+         * Method getName
+         *
+         * @return
+         */
+        axis2_qname_t* (AXIS2_CALL *get_qname)(struct axis2_svc_name *svc_name, 
+                                                       axis2_env_t **env);
+        /**
+         * Method setName
+         *
+         * @param qname
+         */
+        axis2_status_t (AXIS2_CALL *set_qname)(struct axis2_svc_name *svc_name, 
+                                                       axis2_env_t **env, axis2_qname_t *qname);
+        /**
+         * Method getEndpointName
+         *
+         * @return
+         */
+        axis2_char_t* (AXIS2_CALL *get_endpoint_name)(struct axis2_svc_name *svc_name, 
+                                                       axis2_env_t **env);
+        /**
+         * Method setEndpointName
+         *
+         * @param endpoint_name
+         */
+        axis2_status_t (AXIS2_CALL *set_endpoint_name)(struct axis2_svc_name *svc_name, 
+                                                       axis2_env_t **env, axis2_char_t *endpoint_name);
+        axis2_status_t (AXIS2_CALL *free)(struct axis2_svc_name *svc_name, 
+                                                       axis2_env_t **env);
+    } axis2_svc_name_ops_t;
+	
+   /** 
+    * \brief Dispatcher struct
+    */
+    typedef struct axis2_svc_name
+    {
+        /** Dispatcher related operations */
+        axis2_svc_name_ops_t *ops;
+    } axis2_svc_name_t;
+
+
+/**
+ * creates svc_name struct
+ *
+ * @param value
+ * @param relationship_type
+ */
+AXIS2_DECLARE(axis2_svc_name_t*) axis2_svc_name_create(axis2_env_t **env, axis2_qname_t *qname, axis2_char_t *endpoint_name) ;
+    
+#define AXIS2_SVC_NAME_GET_QNAME(svc_name, env) ((svc_name)->ops->get_qname(svc_name, env))
+#define AXIS2_SVC_NAME_SET_QNAME(svc_name, env, qname) ((svc_name)->ops->set_qname(svc_name, env, qname))
+#define AXIS2_SVC_NAME_GET_ENDPOINT_NAME(svc_name, env) ((svc_name)->ops->get_endpoint_name(svc_name, env))
+#define AXIS2_SVC_NAME_SET_ENDPOINT_NAME(svc_name, env, endpoint_name) ((svc_name)->ops->set_endpoint_name(svc_name, env, endpoint_name))
+#define AXIS2_SVC_NAME_FREE(svc_name, env) ((svc_name)->ops->free(svc_name, env))
+
+/** @} */
+    
+#ifdef __cplusplus
+}
+#endif
+
+#endif    /* AXIS2_SVC_NAME_H */