VeraCrypt

Documentation >> Legal Information

Legal Information

License

The text of the license under which VeraCrypt is distributed is contained in the file License.txt that is included in the VeraCrypt binary and source code distribution packages.

More information on the license can be found here.

Copyright Information

This software as a whole:

Copyright © 2013-2019 IDRIX. All rights reserved.

Portions of this software:

Copyright © 2013-2019 IDRIX. All rights reserved.

Copyright © 2003-2012 TrueCrypt Developers Association. All rights reserved.

Copyright © 1998-2000 Paul Le Roux. All rights reserved.

Copyright © 1998-2008 Brian Gladman, Worcester, UK. All rights reserved.

Copyright © 1995-2017 Jean-loup Gailly and Mark Adler.

Copyright © 2016 Disk Cryptography Services for EFI (DCS), Alex Kolotnikov

Copyright © 1999-2017 Dieter Baron and Thomas Klausner.

Copyright © 2013, Alexey Degtyarev. All rights reserved.

Copyright © 1999-2016 Jack Lloyd. All rights reserved.

Copyright © 2013-2018 Stephan Mueller <smueller@chronox.de>


For more information, please see the legal notices attached to parts of the source code.

Trademark Information

Any trademarks mentioned in this document are the sole property of their respective owners.

matter.h
blob: a4d0cc2abd8530ba3fb790b99e8b060ca19c17fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
 Derived from source code of TrueCrypt 7.1a, which is
 Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed
 by the TrueCrypt License 3.0.

 Modifications and additions to the original source code (contained in this file) 
 and all other portions of this file are Copyright (c) 2013-2015 IDRIX
 and are governed by the Apache License 2.0 the full text of which is
 contained in the file License.txt included in VeraCrypt binary and source
 code distribution packages.
*/

#ifndef TC_HEADER_Main_StringFormatter
#define TC_HEADER_Main_StringFormatter

#include "System.h"
#include "Main.h"

namespace VeraCrypt
{
	class StringFormatterArg
	{
	public:
		StringFormatterArg () : Empty (true) { }

		StringFormatterArg (const char c) :			Empty (false) { string s; s += c; StringArg = StringConverter::ToWide (s); }
		StringFormatterArg (const wchar_t c) :		Empty (false), Referenced (false), StringArg (c) { }
		StringFormatterArg (const char *str) :		Empty (false), Referenced (false), StringArg (StringConverter::ToWide (str)) { }
		StringFormatterArg (const wchar_t *str) :	Empty (false), Referenced (false), StringArg (str) { }
		StringFormatterArg (const string &str) :	Empty (false), Referenced (false), StringArg (StringConverter::ToWide (str)) { }
		StringFormatterArg (const wstring &str) :	Empty (false), Referenced (false), StringArg (str) { }
		StringFormatterArg (const wxString &str) :	Empty (false), Referenced (false), StringArg (str) { }
		StringFormatterArg (int32 number) :			Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
		StringFormatterArg (uint32 number) :		Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
		StringFormatterArg (int64 number) :			Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
		StringFormatterArg (uint64 number) :		Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }

		operator wxString () { Referenced = true; return StringArg; }

		bool IsEmpty () const { return Empty; }
		bool WasReferenced() const { return Referenced; }

	protected:
		bool Empty;
		bool Referenced;
		wxString StringArg;
	};

	class StringFormatter
	{
	public:
		StringFormatter (const wxString &format, StringFormatterArg arg0 = StringFormatterArg(), StringFormatterArg arg1 = StringFormatterArg(), StringFormatterArg arg2 = StringFormatterArg(), StringFormatterArg arg3 = StringFormatterArg(), StringFormatterArg arg4 = StringFormatterArg(), StringFormatterArg arg5 = StringFormatterArg(), StringFormatterArg arg6 = StringFormatterArg(), StringFormatterArg arg7 = StringFormatterArg(), StringFormatterArg arg8 = StringFormatterArg(), StringFormatterArg arg9 = StringFormatterArg());
		virtual ~StringFormatter ();

		operator wstring () const { return wstring (FormattedString); }
		operator wxString () const { return FormattedString; }
		operator StringFormatterArg () const { return FormattedString; }

	protected:
		wxString FormattedString;

	private:
		StringFormatter (const StringFormatter &);
		StringFormatter &operator= (const StringFormatter &);
	};
}

#endif // TC_HEADER_Main_StringFormatter