Loading...
Searching...
No Matches
Serializer.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/process/Serializer.h
22
23 \brief This class serializes the common data structures from Process Module
24 */
25
26#ifndef __TERRALIB_PROCESS_INTERNAL_SERIALIZER_H
27#define __TERRALIB_PROCESS_INTERNAL_SERIALIZER_H
28
29 // TerraLib
30#include "Config.h"
31
32// Boost
33#include <boost/property_tree/ptree.hpp>
34
35//STL
36#include <map>
37#include <string>
38
39namespace te
40{
41 namespace process
42 {
43 class Connector;
44 class ParameterDescriptor;
45 class ParameterValue;
46 class Process;
47 class Task;
48 class TaskCapabilities;
49 class TaskParameters;
50
51 /*!
52 \class Serializer
53
54 \brief This class serializes the common data structures from Process Module
55 */
57 {
58 public:
59
60 /*!
61 \brief Constructor
62 */
64
65 /*! \brief Virtual destructor. */
66 virtual ~Serializer();
67
68 //!< Encodes the 'ParameterDescriptor' into a 'boost::property_tree::ptree' object
69 boost::property_tree::ptree encodeParameterDescriptor(const te::process::ParameterDescriptor& descriptor, bool addHeader) const;
70
71 //!< Encodes a 'boost::property_tree::ptree' into a 'ParameterDescriptor' object
72 te::process::ParameterDescriptor decodeParameterDescriptor(const boost::property_tree::ptree& ptree) const;
73
74 //!< Encodes the 'ParameterValue' into a 'boost::property_tree::ptree' object
75 boost::property_tree::ptree encodeParameterValue(const te::process::ParameterValue* descriptor, bool addHeader) const;
76
77 //!< Encodes a 'boost::property_tree::ptree' into a 'ParameterValue' object
78 te::process::ParameterValue* decodeParameterValue(const boost::property_tree::ptree& ptree) const;
79
80 //!< Encodes the 'TaskCapabilities' into a 'boost::property_tree::ptree' object
81 boost::property_tree::ptree encodeTaskCapabilities(const te::process::TaskCapabilities* capabilities) const;
82
83 //!< Encodes a 'boost::property_tree::ptree' into a 'TaskCapabilities' object
84 te::process::TaskCapabilities* decodeTaskCapabilities(const boost::property_tree::ptree& ptree) const;
85
86 //!< Encodes the 'TaskParameters' into a 'boost::property_tree::ptree' object
87 boost::property_tree::ptree encodeTaskParameters(const te::process::TaskParameters* taskParameters, bool addHeader) const;
88
89 //!< Encodes a 'boost::property_tree::ptree' into a 'TaskParameters' object
90 te::process::TaskParameters* decodeTaskParameters(const boost::property_tree::ptree& ptree, const te::process::TaskCapabilities* capabilities) const;
91
92 //!< Encodes the 'Task' into a 'boost::property_tree::ptree' object
93 boost::property_tree::ptree encodeTask(const te::process::Task* task, bool addHeader) const;
94
95 //!< Encodes a 'boost::property_tree::ptree' into a 'Task' object
96 te::process::Task* decodeTask(const boost::property_tree::ptree& ptree) const;
97
98 //!< Encodes the 'Connector' into a 'boost::property_tree::ptree' object
99 boost::property_tree::ptree encodeConnector(const te::process::Connector* connector, bool addHeader) const;
100
101 //!< Encodes a 'boost::property_tree::ptree' into a 'Connector' object
102 te::process::Connector* decodeConnector(const boost::property_tree::ptree& ptree, const std::map<std::string, te::process::Task*>& mapTasks) const;
103
104 //!< Encodes the 'Process' into a 'boost::property_tree::ptree' object
105 boost::property_tree::ptree encodeProcess(const te::process::Process* process) const;
106
107 //!< Encodes a 'boost::property_tree::ptree' into a 'Process' object
108 te::process::Process* decodeProcess(const boost::property_tree::ptree& ptree) const;
109
110 };
111
112 } // end namespace process
113} // end namespace te
114
115#endif // __TERRALIB_PROCESS_INTERNAL_SERIALIZER_H
te::da::DataSourceCapabilities capabilities
Abstraction that represents a Connector between parameters of a Task.
Definition: Connector.h:48
This class serializes the common data structures from Process Module.
Definition: Serializer.h:57
te::process::ParameterDescriptor decodeParameterDescriptor(const boost::property_tree::ptree &ptree) const
Encodes the 'ParameterValue' into a 'boost::property_tree::ptree' object.
boost::property_tree::ptree encodeTaskCapabilities(const te::process::TaskCapabilities *capabilities) const
Encodes a 'boost::property_tree::ptree' into a 'TaskCapabilities' object.
boost::property_tree::ptree encodeProcess(const te::process::Process *process) const
Encodes a 'boost::property_tree::ptree' into a 'Process' object.
te::process::TaskCapabilities * decodeTaskCapabilities(const boost::property_tree::ptree &ptree) const
Encodes the 'TaskParameters' into a 'boost::property_tree::ptree' object.
boost::property_tree::ptree encodeParameterValue(const te::process::ParameterValue *descriptor, bool addHeader) const
Encodes a 'boost::property_tree::ptree' into a 'ParameterValue' object.
te::process::Task * decodeTask(const boost::property_tree::ptree &ptree) const
Encodes the 'Connector' into a 'boost::property_tree::ptree' object.
te::process::Connector * decodeConnector(const boost::property_tree::ptree &ptree, const std::map< std::string, te::process::Task * > &mapTasks) const
Encodes the 'Process' into a 'boost::property_tree::ptree' object.
Serializer()
Constructor.
boost::property_tree::ptree encodeTaskParameters(const te::process::TaskParameters *taskParameters, bool addHeader) const
Encodes a 'boost::property_tree::ptree' into a 'TaskParameters' object.
te::process::TaskParameters * decodeTaskParameters(const boost::property_tree::ptree &ptree, const te::process::TaskCapabilities *capabilities) const
Encodes the 'Task' into a 'boost::property_tree::ptree' object.
te::process::Process * decodeProcess(const boost::property_tree::ptree &ptree) const
virtual ~Serializer()
Virtual destructor.
boost::property_tree::ptree encodeConnector(const te::process::Connector *connector, bool addHeader) const
Encodes a 'boost::property_tree::ptree' into a 'Connector' object.
te::process::ParameterValue * decodeParameterValue(const boost::property_tree::ptree &ptree) const
Encodes the 'TaskCapabilities' into a 'boost::property_tree::ptree' object.
boost::property_tree::ptree encodeParameterDescriptor(const te::process::ParameterDescriptor &descriptor, bool addHeader) const
Encodes a 'boost::property_tree::ptree' into a 'ParameterDescriptor' object.
boost::property_tree::ptree encodeTask(const te::process::Task *task, bool addHeader) const
Encodes a 'boost::property_tree::ptree' into a 'Task' object.
Represents the capabilities of a task.
This class represents the description of a parameter.
Definition: Task.h:54
TerraLib.
#define TEPROCESSEXPORT
Definition: Config.h:47
Proxy configuration file for TerraView (see terraview_config.h).