Go to the documentation of this file.00001
00002
00003
00004
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
00016 #include <saga/saga/buffer.hpp>
00017
00018
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,
00047 Out = 2,
00048 InOut = In | Out
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
00090
00091 };
00092 }}
00093
00094
00095 #if defined(BOOST_MSVC)
00096 #pragma warning(pop)
00097 #endif
00098
00099 #endif // !defined(SAGA_PACKAGES_COMM_RPC_PARAMETER_HPP)
00100