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

- Search for |

# 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