SAGA C++ API 1.6
entity_data_set.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_ISN_ENTITY_DATA_SET_HPP
00006 #define SAGA_PACKAGES_ISN_ENTITY_DATA_SET_HPP
00007 
00008 #include <string>
00009 #include <map>
00010 #include <vector>
00011 #include <iostream>
00012 
00013 #include <saga/saga/util.hpp>
00014 #include <saga/saga/base.hpp>
00015 #include <saga/saga/types.hpp>
00016 #include <saga/saga/call.hpp>
00017 #include <saga/saga/detail/attribute.hpp>
00018 #include <saga/saga/packages/isn/config.hpp>
00019 
00020 #include "entity_data.hpp"
00021 
00022 namespace saga { namespace impl { class entity_data_set; } }
00023 
00024 namespace saga
00025 {
00026    namespace isn {
00027 
00051 class SAGA_ISN_PACKAGE_EXPORT entity_data_set
00052    : public saga::object
00053 {
00054    protected:
00055       friend class saga::impl::entity_data_set;
00056 
00057       explicit entity_data_set(saga::impl::entity_data_set* impl);
00058 
00059       saga::impl::entity_data_set* get_impl(void) const;
00060 
00061    public:
00093       entity_data_set(const std::string& model,
00094                       const std::string& entityType,
00095                       const std::string& filter,
00096                       session const& sess,
00097                       const std::string& url)
00098          SAGA_THROW_SPEC(throw(saga::bad_parameter,
00099                                saga::does_not_exist,
00100                                saga::no_success,
00101                                saga::not_implemented));
00102 
00127       entity_data_set(const std::string& model,
00128                       const std::string& entityType,
00129                       const std::string& filter)
00130          SAGA_THROW_SPEC(throw(saga::bad_parameter,
00131                                saga::does_not_exist,
00132                                saga::no_success,
00133                                saga::not_implemented));
00134 
00135       explicit entity_data_set(saga::object const& o);
00136 
00137       ~entity_data_set(){}
00138 
00145       std::vector<saga::isn::entity_data> get_data() const
00146          SAGA_THROW_SPEC(throw());
00147 
00173       saga::isn::entity_data_set
00174          get_related_entities(const std::string& relatedName,
00175                               const std::string& filter = std::string()) const
00176          SAGA_THROW_SPEC(throw(saga::bad_parameterm saga::no_success));
00177 
00187       std::vector<std::string>
00188          list_related_entity_names() const;
00189 
00190       std::string get_information_system_url() const;
00191 
00192       std::size_t get_entity_count() const;
00193 };
00194 
00195 } //namespace isn
00196 } //namespace saga
00198 #endif
00199 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines