- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Search for |

# parameter.hpp

Go to the documentation of this file.

    00001 //  Copyright (c) 2005-2009 Hartmut Kaiser
    00002 //
    00003 //  Distributed under the Boost Software License, Version 1.0. (See accompanying
    00004 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
    00005
    00006 #ifndef SAGA_PACKAGES_COMM_RPC_PARAMETER_HPP
    00007 #define SAGA_PACKAGES_COMM_RPC_PARAMETER_HPP
    00008
    00009 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
    00010 #pragma once
    00011 #endif
    00012
    00013 #include <saga/saga/packages/rpc/config.hpp>
    00014
    00015 // include dependent spec sections
    00016 #include <saga/saga/buffer.hpp>
    00017
    00018 // suppress warnings about dependent classes not being exported from the dll
    00019 #if defined(BOOST_MSVC)
    00020 #pragma warning(push)
    00021 #pragma warning(disable: 4251 4231 4275 4660)
    00022 #endif
    00023
    00025 namespace saga
    00026 {
    00027     namespace rpc {
    00028
    00043     enum io_mode
    00044     {
    00045         Unknown = -1,
    00046         In = 1,           // input parameter
    00047         Out = 2,          // output parameter
    00048         InOut = In | Out  // input and output parameter
    00049     };
    00050
    00057     class SAGA_RPC_PACKAGE_EXPORT parameter
    00058         : public saga::mutable_buffer
    00059     {
    00060     protected:
    00062
    00063         TR1::shared_ptr <saga::impl::parameter> get_impl_sp (void) const;
    00064         saga::impl::parameter* get_impl (void) const;
    00065         friend class saga::impl::parameter;
    00067
    00068     public:
    00074         parameter(void* data = 0, saga::ssize_t size = -1, io_mode mode = In,
    00075                   buffer_deleter cb = default_buffer_deleter);
    00076
    00081         ~parameter();
    00082
    00087         io_mode get_mode() const;
    00088
    00089         // FIXME: missing from spec: set_io_mode
    00090
    00091     };
    00092 }}
    00093
    00094 // re-enable warnings about dependent classes not being exported from the dll
    00095 #if defined(BOOST_MSVC)
    00096 #pragma warning(pop)
    00097 #endif
    00098
    00099 #endif // !defined(SAGA_PACKAGES_COMM_RPC_PARAMETER_HPP)
    00100