SAGA Adaptor CPI v.1.0
|
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