From 034ecc7803559acdda5dd6c54ecc081665b19f61 Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 16 Nov 2009 06:35:50 +0000 Subject: Cleaning up SVN structure, moving tag under sca-cpp/tags. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@880618 13f79535-47bb-0310-9956-ffa450edef68 --- .../axis2_Calculator_stub.cpp | 178 +++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/samples/Calculator/sample.calculator.wsclient/axis2_Calculator_stub.cpp (limited to 'sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/samples/Calculator/sample.calculator.wsclient/axis2_Calculator_stub.cpp') diff --git a/sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/samples/Calculator/sample.calculator.wsclient/axis2_Calculator_stub.cpp b/sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/samples/Calculator/sample.calculator.wsclient/axis2_Calculator_stub.cpp new file mode 100644 index 0000000000..a24a3c9ed6 --- /dev/null +++ b/sca-cpp/tags/cpp-1.0-incubating-M2-final/sca/samples/Calculator/sample.calculator.wsclient/axis2_Calculator_stub.cpp @@ -0,0 +1,178 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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. + */ + +/* $Rev$ $Date$ */ + +#include "axis2_Calculator_stub.h" + + +axis2_stub_t * +axis2_Calculator_stub_create_with_endpoint_ref_and_client_home(const axis2_env_t *env, + axis2_endpoint_ref_t *endpoint_ref, + axis2_char_t *client_home) +{ + axis2_stub_t *stub = NULL; + + AXIS2_ENV_CHECK(env, NULL); + + stub = (axis2_stub_t *) + axis2_stub_create_with_endpoint_ref_and_client_home(env, endpoint_ref, + client_home); + if(NULL == stub) + { + AXIS2_ERROR_SET(env->error, + AXIS2_ERROR_NO_MEMORY, (axis2_status_codes)AXIS2_FAILURE); + return NULL; + } + axis2_populate_axis_service( stub, env); + return stub; +} + +void axis2_populate_axis_service( axis2_stub_t* stub, const axis2_env_t *env) +{ + axis2_svc_client_t* svc_client = NULL; + axis2_qname_t *op_qname = NULL; + axis2_svc_t* svc = NULL; + axis2_op_t* op = NULL; + + /*Modifying the Service*/ + svc_client = AXIS2_STUB_GET_SVC_CLIENT (stub, env ); + svc = (axis2_svc_t*)AXIS2_SVC_CLIENT_GET_AXIS_SERVICE ( svc_client, env ); + + /*creating the operations*/ + + op_qname = axis2_qname_create(env,"add" , "", NULL); + op = axis2_op_create_with_qname(env, op_qname); + AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op, env, AXIS2_MEP_URI_OUT_IN); + AXIS2_SVC_ADD_OP(svc, env, op); + + op_qname = axis2_qname_create(env,"sub" , "", NULL); + op = axis2_op_create_with_qname(env, op_qname); + AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op, env, AXIS2_MEP_URI_OUT_IN); + AXIS2_SVC_ADD_OP(svc, env, op); + + op_qname = axis2_qname_create(env,"mul" , "", NULL); + op = axis2_op_create_with_qname(env, op_qname); + AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op, env, AXIS2_MEP_URI_OUT_IN); + AXIS2_SVC_ADD_OP(svc, env, op); + + op_qname = axis2_qname_create(env,"div" , "", NULL); + op = axis2_op_create_with_qname(env, op_qname); + AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op, env, AXIS2_MEP_URI_OUT_IN); + AXIS2_SVC_ADD_OP(svc, env, op); +} + +axis2_stub_t * +axis2_Calculator_stub_create_with_endpoint_uri_and_client_home(const axis2_env_t *env, + const axis2_char_t *endpoint_uri, + const axis2_char_t *client_home) +{ + axis2_stub_t *stub = NULL; + + AXIS2_ENV_CHECK(env, NULL); + + stub = (axis2_stub_t *) + axis2_stub_create_with_endpoint_uri_and_client_home(env, endpoint_uri, + client_home); + if(NULL == stub) + { + AXIS2_ERROR_SET(env->error, + AXIS2_ERROR_NO_MEMORY, (axis2_status_codes)AXIS2_FAILURE); + return NULL; + } + + axis2_populate_axis_service( stub, env); + + return stub; +} + +/***************************Function implementation****************************/ + +axiom_node_t * +axis2_Calculator_stub_add(axis2_stub_t *stub, + const axis2_env_t *env, + axiom_node_t *node) +{ + axis2_svc_client_t *svc_client = NULL; + axiom_node_t *ret_node = NULL; + axis2_qname_t *op_qname = NULL; + + AXIS2_ENV_CHECK(env, AXIS2_FAILURE); + + svc_client = AXIS2_STUB_GET_SVC_CLIENT(stub, env); + op_qname = axis2_qname_create(env, "add" , "", NULL); + ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE_WITH_OP_QNAME( svc_client, env, op_qname, node); + + return ret_node; +} + +axiom_node_t * +axis2_Calculator_stub_sub(axis2_stub_t *stub, + const axis2_env_t *env, + axiom_node_t *node) +{ + axis2_svc_client_t *svc_client = NULL; + axiom_node_t *ret_node = NULL; + axis2_qname_t *op_qname = NULL; + + AXIS2_ENV_CHECK(env, AXIS2_FAILURE); + + svc_client = AXIS2_STUB_GET_SVC_CLIENT(stub, env); + op_qname = axis2_qname_create(env, "sub" , "", NULL); + ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE_WITH_OP_QNAME( svc_client, env, op_qname, node); + + return ret_node; +} + +axiom_node_t * +axis2_Calculator_stub_mul(axis2_stub_t *stub, + const axis2_env_t *env, + axiom_node_t *node) +{ + axis2_svc_client_t *svc_client = NULL; + axiom_node_t *ret_node = NULL; + axis2_qname_t *op_qname = NULL; + + AXIS2_ENV_CHECK(env, AXIS2_FAILURE); + + svc_client = AXIS2_STUB_GET_SVC_CLIENT(stub, env); + op_qname = axis2_qname_create(env, "mul" , "", NULL); + ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE_WITH_OP_QNAME( svc_client, env, op_qname, node); + + return ret_node; +} + +axiom_node_t * +axis2_Calculator_stub_div(axis2_stub_t *stub, + const axis2_env_t *env, + axiom_node_t *node) +{ + axis2_svc_client_t *svc_client = NULL; + axiom_node_t *ret_node = NULL; + axis2_qname_t *op_qname = NULL; + + AXIS2_ENV_CHECK(env, AXIS2_FAILURE); + + svc_client = AXIS2_STUB_GET_SVC_CLIENT(stub, env); + op_qname = axis2_qname_create(env, "div" , "", NULL); + ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE_WITH_OP_QNAME( svc_client, env, op_qname, node); + + return ret_node; +} + -- cgit v1.2.3