monotone

monotone Mtn Source Tree

Root/botan/modules.h

1/*************************************************
2* Module Factory Header File *
3* (C) 1999-2007 The Botan Project *
4*************************************************/
5
6#ifndef BOTAN_MODULE_FACTORIES_H__
7#define BOTAN_MODULE_FACTORIES_H__
8
9#include <botan/init.h>
10#include <string>
11#include <vector>
12
13namespace Botan {
14
15/*************************************************
16* Module Builder Interface *
17*************************************************/
18class Modules
19 {
20 public:
21 virtual class Mutex_Factory* mutex_factory() const = 0;
22 virtual class Timer* timer() const = 0;
23 virtual class Charset_Transcoder* transcoder() const = 0;
24
25 virtual std::string default_allocator() const = 0;
26
27 virtual std::vector<class Allocator*> allocators() const = 0;
28 virtual std::vector<class EntropySource*> entropy_sources() const = 0;
29 virtual std::vector<class Engine*> engines() const = 0;
30
31 virtual ~Modules() {}
32 };
33
34/*************************************************
35* Built In Modules *
36*************************************************/
37class Builtin_Modules : public Modules
38 {
39 public:
40 class Mutex_Factory* mutex_factory() const;
41 class Timer* timer() const;
42 class Charset_Transcoder* transcoder() const;
43
44 std::string default_allocator() const;
45
46 std::vector<class Allocator*> allocators() const;
47 std::vector<class EntropySource*> entropy_sources() const;
48 std::vector<class Engine*> engines() const;
49
50 Builtin_Modules(const InitializerOptions&);
51 private:
52 const bool should_lock, use_engines;
53 };
54
55}
56
57#endif

Archive Download this file

Branches

Tags

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status