Safir SDK Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Utilities.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_UTILITIES_H__
26 #define __DOTS_UTILITIES_H__
27 
29 #include <string>
30 #include <boost/shared_ptr.hpp>
31 
32 namespace Safir
33 {
34 namespace Dob
35 {
36 namespace Typesystem
37 {
38  //Forward declaration to avoid a bunch of includes.
39  class Object;
40 
42  typedef boost::shared_ptr<Object> ObjectPtr;
43 
47 namespace Utilities
48 {
55  DOTS_API const std::string ToUtf8(const std::wstring & wstr);
56 
63  DOTS_API const std::wstring ToWstring(const std::string & str);
64 
75  DOTS_API void MergeChanges(ObjectPtr into, const ObjectPtr from);
76 
86  DOTS_API const std::string BinaryToBase64(char const * const binarySource, int sourceSize);
87 
96  DOTS_API const std::string BinaryToBase64(const Dob::Typesystem::Binary & bin);
97 
106  DOTS_API void Base64ToBinary(const std::string& base64, Dob::Typesystem::Binary & binary);
107 }
108 }
109 }
110 }
111 
112 
113 #endif
114 
DOTS_API void MergeChanges(ObjectPtr into, const ObjectPtr from)
Merge the changed members (recursively) from one object into another.
DOTS_API const std::wstring ToWstring(const std::string &str)
Convert a UTF8-encoded std::string to std::wstring.
boost::shared_ptr< Object > ObjectPtr
A smart pointer to an Object.
Definition: Object.h:41
DOTS_API const std::string ToUtf8(const std::wstring &wstr)
Convert a std::wstring to UTF8-encoded std::string.
DOTS_API void Base64ToBinary(const std::string &base64, Dob::Typesystem::Binary &binary)
Converts data in Base64 format into binary data format.
DOTS_API const std::string BinaryToBase64(char const *const binarySource, int sourceSize)
Converts binary data to Base64.
std::vector< char > Binary
A type to contain binary data.
Definition: Dob/Typesystem/Defs.h:296