#if defined(__WAVE__) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/stream.cpp") #endif // Copyright (c) 2005-2007 Hartmut Kaiser (hartmut.kaiser@gmail.com) // Copyright (c) 2005-2007 Andre Merzky (andre@merzky.net) // // Use, modification and distribution is subject to 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__) #pragma wave option(output: null) #endif // needs tasks for async ops #include #include #include #include #include // own header file #include #include #include #ifdef SAGA_DEBUG #include #else #if defined(__WAVE__) #pragma wave option(output: "preprocessed/stream.cpp") #endif /////////////////////////////////////////////////////////////////////////////// namespace saga { namespace impl { stream::stream (saga::session const & s, std::string const & loc) : proxy (saga::object::Stream, s) { // initialize the instance data typedef adaptors::v1_0::stream_cpi_instance_data instance_data_type; typedef adaptors::instance_data stream_instance_data; stream_instance_data data; data.init_data (this, TR1::shared_ptr (new instance_data_type (loc))); } void stream::init() { // initialize a CPI instance and execute required functions this->initcpi(saga::adaptors::stream_cpi); } stream::~stream (void) { // free the instance data typedef adaptors::v1_0::stream_cpi_instance_data instance_data_type; typedef adaptors::instance_data stream_instance_data; stream_instance_data data; data.release_data (this); } SAGA_CALL_IMPL_IMPL_0 (stream, stream_cpi, std::string, get_url) SAGA_CALL_IMPL_IMPL_0 (stream, stream_cpi, saga::context, get_context ) SAGA_CALL_IMPL_IMPL_0 (stream, stream_cpi, saga::void_t, connect ) SAGA_CALL_IMPL_IMPL_2 (stream, stream_cpi, std::vector, wait, saga::stream_base::activity, double) SAGA_CALL_IMPL_IMPL_1 (stream, stream_cpi, saga::void_t, close, double) SAGA_CALL_IMPL_IMPL_2 (stream, stream_cpi, saga::ssize_t, read, saga::char_t*, saga::size_t) SAGA_CALL_IMPL_IMPL_2 (stream, stream_cpi, saga::ssize_t, write, saga::char_t const*, saga::size_t) } // namespace impl } // namespace saga /////////////////////////////////////////////////////////////////////////////// #endif // SAGA_DEBUG