All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
JSON.h
Go to the documentation of this file.
1 /* Copyright (C) 2014-2014 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 JSON.h
22 
23  \brief
24 
25  \ingroup layout
26 */
27 
28 #ifndef __TERRALIB_LAYOUT_INTERNAL_JSON_H
29 #define __TERRALIB_LAYOUT_INTERNAL_JSON_H
30 
31 //TerraLib
32 #include "Serialization.h"
33 #include "Property.h"
34 
35 // Boost
36 #include <boost/property_tree/ptree.hpp>
37 
38 // STL
39 #include <utility>
40 
41 namespace te
42 {
43  namespace layout
44  {
45  class JSON : public Serialization
46  {
47  public:
48  JSON();
49  virtual ~JSON();
50 
51  virtual bool serialize();
52 
53  virtual boost::property_tree::ptree retrievePTree();
54 
55  virtual std::vector<te::layout::Properties*> retrieve();
56 
57  virtual bool isEmpty();
58 
59  virtual void loadFromPath( std::string loadPath );
60 
61  virtual void loadFromProperties( std::vector<te::layout::Properties*> properties );
62 
63  protected:
64 
65  virtual void searchProperty(Property property, boost::property_tree::ptree array);
66 
67  virtual void retrieveSubPTree(boost::property_tree::ptree subTree, Property& prop);
68 
69  boost::property_tree::ptree m_array;
70  };
71  }
72 }
73 
74 #endif
virtual void searchProperty(Property property, boost::property_tree::ptree array)
Definition: JSON.cpp:291
virtual bool isEmpty()
Definition: JSON.cpp:203
virtual ~JSON()
Definition: JSON.cpp:54
virtual bool serialize()
Definition: JSON.cpp:59
virtual boost::property_tree::ptree retrievePTree()
Definition: JSON.cpp:99
virtual void retrieveSubPTree(boost::property_tree::ptree subTree, Property &prop)
Definition: JSON.cpp:178
boost::property_tree::ptree m_array
Definition: JSON.h:69
virtual std::vector< te::layout::Properties * > retrieve()
Definition: JSON.cpp:104
virtual void loadFromPath(std::string loadPath)
Definition: JSON.cpp:208
virtual void loadFromProperties(std::vector< te::layout::Properties * > properties)
Definition: JSON.cpp:245