Safir SDK Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Serialization.h
Go to the documentation of this file.
1 /******************************************************************************
2 *
3 * Copyright Saab AB, 2006-2013 (http://safir.sourceforge.net)
4 *
5 * Created by: Lars Hagström / stlrha
6 *
7 *******************************************************************************
8 *
9 * This file is part of Safir SDK Core.
10 *
11 * Safir SDK Core is free software: you can redistribute it and/or modify
12 * it under the terms of version 3 of the GNU General Public License as
13 * published by the Free Software Foundation.
14 *
15 * Safir SDK Core is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with Safir SDK Core. If not, see <http://www.gnu.org/licenses/>.
22 *
23 ******************************************************************************/
24 
25 #ifndef __DOTS_SERIALIZATION_H__
26 #define __DOTS_SERIALIZATION_H__
27 
28 #include <boost/shared_ptr.hpp>
31 
32 namespace Safir
33 {
34 namespace Dob
35 {
36 namespace Typesystem
37 {
38  //forward declarations
39  class Object;
40 
42  typedef boost::shared_ptr<Object> ObjectPtr;
43 
48  {
49  public:
57  static const std::wstring ToXml(const Dob::Typesystem::ObjectPtr object);
58 
66  static const std::wstring ToJson(const Dob::Typesystem::ObjectPtr object);
67 
80  static Dob::Typesystem::ObjectPtr ToObject(const std::wstring & xml);
81 
94  static Dob::Typesystem::ObjectPtr ToObjectFromJson(const std::wstring & json);
95 
102  static const std::wstring ToXml(const BinarySerialization & bin);
103 
110  static const std::wstring ToJson(const BinarySerialization & bin);
111 
118  static const std::wstring ToXml(const char * const blob);
119 
126  static const std::wstring ToJson(const char * const blob);
127 
139  static void ToBinary(const Dob::Typesystem::ObjectPtr object, Dob::Typesystem::BinarySerialization & binary);
140 
141 
155 
156  };
157 }
158 }
159 }
160 
161 
162 #endif
163 
std::vector< char > BinarySerialization
A type to contain binary serializations of DOB objects.
Definition: Defs.h:287
Functions for serializing objects to binary, XML and JSON forms.
Definition: Serialization.h:47
boost::shared_ptr< Object > ObjectPtr
A smart pointer to an Object.
Definition: Object.h:41
#define DOTS_CPP_API
Definition: Defs.h:33