From d36c8e323a6f8df998edd185de8972dc5e6f87f0 Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 16 Nov 2009 06:37:38 +0000 Subject: Cleaning up SVN structure, moving tag under sca-cpp/tags. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@880619 13f79535-47bb-0310-9956-ffa450edef68 --- .../core/src/tuscany/sca/core/ServiceProxy.cpp | 121 --------------------- 1 file changed, 121 deletions(-) delete mode 100644 tags/cpp-sca-20060405/runtime/core/src/tuscany/sca/core/ServiceProxy.cpp (limited to 'tags/cpp-sca-20060405/runtime/core/src/tuscany/sca/core/ServiceProxy.cpp') diff --git a/tags/cpp-sca-20060405/runtime/core/src/tuscany/sca/core/ServiceProxy.cpp b/tags/cpp-sca-20060405/runtime/core/src/tuscany/sca/core/ServiceProxy.cpp deleted file mode 100644 index ef2f2744eb..0000000000 --- a/tags/cpp-sca-20060405/runtime/core/src/tuscany/sca/core/ServiceProxy.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/* - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * 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. - */ - -/* $Rev$ $Date: 2005/12/22 11:33:21 $ */ - -#include "tuscany/sca/core/ServiceProxy.h" - -#include "tuscany/sca/util/Logging.h" -#include "tuscany/sca/util/Exceptions.h" -#include "tuscany/sca/core/SCARuntime.h" -#include "tuscany/sca/model/CPPImplementation.h" - -using namespace osoa::sca; - -namespace tuscany -{ - namespace sca - { - // ============================ - // Constructor: Create a proxy - // ============================ - ServiceProxy::ServiceProxy(Component* component, const string& name, ServiceWrapper* target) - { - LOGENTRY(1,"ServiceProxy::constructor"); - string msg; - - // ---------------------- - // Get the implementation - // ---------------------- - Implementation* impl = component->getImplementation(); - if (!impl) - { - msg = "Component " + component->getName() + " has no implementation defined"; - throw ServiceNotFoundException(msg.c_str()); - } - - // TODO: This only handle CPP implementation for now - if (impl->getImplementationType() == Implementation::CPP) - { - // ---------------------------------------------------- - // Get implementation dll name and service factory name - // ---------------------------------------------------- - string dllName = ((CPPImplementation*)impl)->getDll(); - string headerStub = ((CPPImplementation*)impl)->getHeaderStub(); - - string fullDllName = component->getModule()->getRoot() + "/" + dllName; - string proxyFactoryName = headerStub + "_" + name + "_Proxy_Factory"; - string proxyDestructorName = headerStub + "_" + name + "_Proxy_Destructor"; - typedef void* (* PROXYFACTORY) (ServiceWrapper*); - - // ------------ - // Load the dll - // ------------ - proxyLibrary = Library(fullDllName); - - // ------------------------- - // Locate the factory method - // ------------------------- - PROXYFACTORY proxyFactory = (PROXYFACTORY)proxyLibrary.getSymbol(proxyFactoryName); - if (!proxyFactory) - { - LOGERROR_2(1, "ComponentContextImpl::getServiceProxy: Unable to locate %s in library %s", - proxyFactoryName.c_str(), fullDllName.c_str()); - msg = "Unable to locate " + proxyFactoryName + " in library " + fullDllName; - throw ServiceNotFoundException(msg.c_str()); - } - - // ----------------------------------- - // Now create an instance of the proxy - // ----------------------------------- - proxy = proxyFactory(target); - if (!proxy) - { - LOGERROR_2(1, "ComponentContextImpl::getServiceProxy: Factory method %s in library %s returned null", - proxyFactoryName.c_str(), fullDllName.c_str()); - msg = "Factory method " + proxyFactoryName + " in library " + fullDllName + " returned null"; - throw ServiceNotFoundException(msg.c_str()); - } - - // ------------------------- - // Get the destructor method - // ------------------------- - destructor = (PROXYDESTRUCTOR)proxyLibrary.getSymbol(proxyDestructorName); - } - - LOGEXIT(1,"ServiceProxy::constructor"); - - } - - // ========== - // Destructor - // ========== - ServiceProxy::~ServiceProxy() - { - LOGENTRY(1,"ServiceProxy::destructor"); - - // Delete the proxy - if (destructor) - { - destructor(proxy); - } - LOGEXIT(1,"ServiceProxy::destructor"); - } - - - } // End namespace sca -} // End namespace tuscany -- cgit v1.2.3