MD_Distribution.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file terralib/metadata/iso19115/MD_Distribution.h
22 
23  \brief
24  */
25 
26 #ifndef __TERRALIB_METADATA_INTERNAL_ISO19115_MD_DISTRIBUTION_H
27 #define __TERRALIB_METADATA_INTERNAL_ISO19115_MD_DISTRIBUTION_H
28 
29 // TerraLib
30 #include "../Config.h"
31 #include "MD_Format.h"
32 
33 // Boost
34 #include <boost/noncopyable.hpp>
35 #include <boost/ptr_container/ptr_vector.hpp>
36 
37 namespace te
38 {
39  namespace md
40  {
41  //class MD_TransferOptions;
42  //class MD_Distributor;
43 
44  /*!
45  \class MD_Distribution
46 
47  \brief Information about the distributor of and the options for obtaining the resource.
48 
49  \todo include members TransferOptions and Distributor (NOT IMPLEMENTED YET)
50  */
51  class TEMDEXPORT MD_Distribution: public boost::noncopyable
52  {
53  public:
54 
56 
57  ~MD_Distribution();
58 
59  /*!
60  \brief Adds an distribution option.
61 
62  \param opt Pointer to a distribution option. Class takes pointer ownership. Do not pass null pointer.
63  */
64  void addDistrOption(MD_Format* opt);
65 
66  //! Gets the distribution formats
67  const boost::ptr_vector<MD_Format>& getFormats() const;
68 
69  //! Sets an online resource
70  void setURL(const std::string& url);
71 
72  //! Gets an online resource
73  const std::string& getURL() const;
74 
75  private:
76 
77  boost::ptr_vector<MD_Format> m_distrFormats;
78  std::string m_url;
79  };
80 
81  } // end namespace md
82 } // end namespace te
83 
84 #endif // __TERRALIB_METADATA_INTERNAL_ISO19115_MD_DISTRIBUTION_H
85 
Information about the distributor of and the options for obtaining the resource.
#define TEMDEXPORT
Definition: Config.h:61
boost::ptr_vector< MD_Format > m_distrFormats
URI C++ Library.
Format of the data.
Definition: MD_Format.h:45