#if defined(__WAVE__) && defined(SAGA_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/rpc.cpp") #endif // Copyright (c) 2005-2007 Hartmut Kaiser (hartmut.kaiser@gmail.com) // Copyright (c) 2005-2007 Andre Merzky (andre@merzky.net) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #if defined(__WAVE__) && defined(SAGA_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #include #include // needs tasks for async ops #include #include #include // own header file #include #include #ifdef SAGA_DEBUG #include #else #if defined(__WAVE__) && defined(SAGA_CREATE_PREPROCESSED_FILES) #pragma wave option(output: "preprocessed/rpc.cpp") #endif /////////////////////////////////////////////////////////////////////////////// namespace saga { namespace impl { rpc::rpc (saga::session const& s, std::string const& name) : proxy (saga::object::RPC, s) { // initialize the instance data typedef adaptors::v1_0::rpc_cpi_instance_data instance_data_type; typedef adaptors::instance_data rpc_instance_data; { rpc_instance_data data; data.init_data (this, TR1::shared_ptr( new instance_data_type (name))); } // lock goes out of scope } rpc::~rpc (void) { // free the instance data typedef adaptors::v1_0::rpc_cpi_instance_data instance_data_type; typedef adaptors::instance_data rpc_instance_data; rpc_instance_data data; data.release_data (this); } void rpc::init() { // initialize a CPI instance and execute required functions this->initcpi(saga::adaptors::rpc_cpi); } // rpc methods SAGA_CALL_IMPL_IMPL_1 (rpc, rpc_cpi, saga::void_t, call, std::vector&) SAGA_CALL_IMPL_IMPL_1 (rpc, rpc_cpi, void_t, close, double) } // namespace impl } // namespace saga /////////////////////////////////////////////////////////////////////////////// #endif // SAGA_DEBUG #if defined(__WAVE__) && defined(SAGA_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif