Botan: src/libstate/init.h Source File

Botan 1.10.17

init.h
Go to the documentation of this file.
1 /*
2 * Library Initialization
3 * (C) 1999-2008 Jack Lloyd
4 *
5 * Distributed under the terms of the Botan license
6 */
7
8 #ifndef BOTAN_LIBRARY_INITIALIZER_H__
9 #define BOTAN_LIBRARY_INITIALIZER_H__
10
11 #include <botan/build.h>
12 #include <string>
13
14 namespace Botan {
15
16 /**
17 * This class represents the Library Initialization/Shutdown Object. It
18 * has to exceed the lifetime of any Botan object used in an
19 * application. You can call initialize/deinitialize or use
20 * LibraryInitializer in the RAII style.
21 */
22 class BOTAN_DLL LibraryInitializer
23 {
24 public:
25 /**
26 * Initialize the library
27 * @param options a string listing initialization options
28 */
29 static void initialize(const std::string& options = "");
30
31 /**
32 * Shutdown the library
33 */
34 static void deinitialize();
35
36 /**
37 * Initialize the library
38 * @param options a string listing initialization options
39 */
40 LibraryInitializer(const std::string& options = "")
41 { LibraryInitializer::initialize(options); }
42
43 ~LibraryInitializer() { LibraryInitializer::deinitialize(); }
44 };
45
46 }
47
48 #endif
Botan::LibraryInitializer::initialize
static void initialize(const std::string &options="")
Definition: init.cpp:18
Botan::LibraryInitializer::LibraryInitializer
LibraryInitializer(const std::string &options="")
Definition: init.h:40
Botan::LibraryInitializer::deinitialize
static void deinitialize()
Definition: init.cpp:71
Botan
Definition: algo_base.h:14
Botan::LibraryInitializer::~LibraryInitializer
~LibraryInitializer()
Definition: init.h:43
Botan::LibraryInitializer
Definition: init.h:22