C:/Development/boost_sandbox/rpc/boost/rpc/call_options.hpp

00001 #ifndef BOOST_RPC_CALL_OPTIONS_HPP
00002 #define BOOST_RPC_CALL_OPTIONS_HPP
00003 
00004 #include <boost/cstdint.hpp>
00005 #include <boost/serialization/access.hpp>
00006 
00007 namespace boost {
00008 namespace rpc {
00009 
00011 
00013 struct call_options
00014 {
00015     enum marshal_options
00016     {
00017         marshal_unspecified,
00018         no_results,
00019         completed_only,
00020         return_only,
00021         all_out_parameters,
00022     };
00023     enum exception_options
00024     {
00025         exception_unspecified,
00026         no_exception_handling
00027     };
00028 
00029     boost::int32_t marshal_option;
00030     boost::int32_t exception_option;
00031 
00032     call_options(marshal_options marshal_option_val = marshal_unspecified,
00033         exception_options exception_option_val = exception_unspecified)
00034         : marshal_option((boost::int32_t)marshal_option_val),
00035         exception_option((boost::int32_t)exception_option_val) {}
00036 private:
00037     friend class boost::serialization::access;
00038 
00039     template<class Archive>
00040     void serialize(Archive &archive, const unsigned int version)
00041     {
00042         archive & marshal_option;
00043         archive & exception_option;
00044     }
00045 };
00046 
00047 } // namespace rpc
00048 } // namespace boost
00049 
00050 #endif // BOOST_RPC_CALL_OPTIONS_HPP

Generated on Sun May 20 15:47:56 2007 by  doxygen 1.5.2