SAGA C++ API 1.6
service_data.hpp
Go to the documentation of this file.
00001 //  Copyright (c) 2009 STFC
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 #ifndef SAGA_PACKAGES_SD_SERVICE_DATA_HPP
00006 #define SAGA_PACKAGES_SD_SERVICE_DATA_HPP
00007 #include <string>
00008 #include <vector>
00009 
00010 #include <saga/saga/util.hpp>
00011 #include <saga/saga/base.hpp>
00012 #include <saga/saga/types.hpp>
00013 #include <saga/saga/session.hpp>
00014 #include <saga/saga/call.hpp>
00015 #include <saga/saga/detail/attribute.hpp>
00016 #include <saga/saga/packages/sd/config.hpp>
00017 
00018 
00019 namespace saga {
00020  namespace sd {
00021   class service_description;
00022  }
00023 }
00024 
00025 namespace saga
00026 {
00027 
00028   namespace sd {
00029 
00040   class SAGA_SD_PACKAGE_EXPORT service_data
00041     : public saga::object,
00042       public saga::detail::attribute<service_data>
00043   {
00044      protected:
00045        friend struct saga::detail::attribute<service_data>;
00046        friend class saga::impl::service_data;
00047        friend class saga::impl::service_description;
00048 
00049        explicit service_data(saga::impl::service_data *impl);
00050 
00051        using saga::detail::attribute<service_data>::set_attribute;
00052        using saga::detail::attribute<service_data>::set_vector_attribute;
00053        using saga::detail::attribute<service_data>::remove_attribute;
00054     
00055      public:
00056        service_data (void);
00057        explicit service_data (saga::object const& o);
00058 
00059        using saga::detail::attribute<service_data>::get_attribute;
00060        using saga::detail::attribute<service_data>::get_vector_attribute;
00061 
00062       ~service_data (void);
00063 
00064       // default operator=() and copy ctor are ok
00065       service_data &operator= (saga::object const& o);
00066 
00067    }; // service_data
00068   } // namespace sd
00069 } // namespace saga
00071 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines