OnixS C++ FIX Engine  4.12.0
API Documentation
Base64Encoding.h
Go to the documentation of this file.
1 #pragma once
2 /*
3 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
4 *
5 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
6 * and international copyright treaties.
7 *
8 * Access to and use of the software is governed by the terms of the applicable OnixS Software
9 * Services Agreement (the Agreement) and Customer end user license agreements granting
10 * a non-assignable, non-transferable and non-exclusive license to use the software
11 * for it's own data processing purposes under the terms defined in the Agreement.
12 *
13 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
14 * of this source code or associated reference material to any other location for further reproduction
15 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
16 *
17 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18 * the terms of the Agreement is a violation of copyright law.
19 */
20 
21 #include <OnixS/FIXEngine/ABI.h>
22 
24 
25 #include <string>
26 
27 namespace OnixS {
28 namespace Cryptography {
29 /// The BASE64 encoding service.
31 {
32 public:
33  /// Returns the BASE64 presentation of the binary data.
34  /// @note Encoding throws nothing.
35  static std::string encode(const void * data, const size_t dataSize);
36 
37  /// Reconstructs the binary data from the BASE64-encoded text.
38  /// @throw An exception if the text is corrupted or not BASE64-encoded.
39  static void decode(ByteArray & decoded, const std::string & encoded);
40 
41  /// Returns the BASE64URL presentation of the binary data.
42  /// @note Encoding throws nothing.
43  static std::string encodeUrl(const void * data, const size_t dataSize);
44 
45  /// Reconstructs the binary data from the BASE64URL-encoded text.
46  /// @throw An exception if the text is corrupted or not BASE64URL-encoded.
47  static void decodeUrl(ByteArray & decoded, const std::string & encoded);
48 };
49 }
50 }
#define ONIXS_FIXENGINE_API
Definition: ABI.h:45
std::vector< unsigned char > ByteArray
The simple presentation of the byte sequence.
Definition: Definitions.h:29
The BASE64 encoding service.