Botan 1.10.17
datastor.h
Go to the documentation of this file.
1/*
2* Data Store
3* (C) 1999-2007 Jack Lloyd
4*
5* Distributed under the terms of the Botan license
6*/
7
8#ifndef BOTAN_DATA_STORE_H__
9#define BOTAN_DATA_STORE_H__
10
11#include <botan/secmem.h>
12#include <utility>
13#include <string>
14#include <vector>
15#include <map>
16
17namespace Botan {
18
19/**
20* Data Store
21*/
22class BOTAN_DLL Data_Store
23 {
24 public:
25 /**
26 * A search function
27 */
28 class BOTAN_DLL Matcher
29 {
30 public:
31 virtual bool operator()(const std::string&,
32 const std::string&) const = 0;
33
34 virtual std::pair<std::string, std::string>
35 transform(const std::string&, const std::string&) const;
36
37 virtual ~Matcher() {}
38 };
39
40 bool operator==(const Data_Store&) const;
41
42 std::multimap<std::string, std::string>
43 search_with(const Matcher&) const;
44
45 std::vector<std::string> get(const std::string&) const;
46
47 std::string get1(const std::string&) const;
48
49 MemoryVector<byte> get1_memvec(const std::string&) const;
50 u32bit get1_u32bit(const std::string&, u32bit = 0) const;
51
52 bool has_value(const std::string&) const;
53
54 void add(const std::multimap<std::string, std::string>&);
55 void add(const std::string&, const std::string&);
56 void add(const std::string&, u32bit);
57 void add(const std::string&, const MemoryRegion<byte>&);
58 private:
59 std::multimap<std::string, std::string> contents;
60 };
61
62}
63
64#endif
virtual std::pair< std::string, std::string > transform(const std::string &, const std::string &) const
Definition datastor.cpp:20
virtual bool operator()(const std::string &, const std::string &) const =0
unsigned int u32bit
Definition types.h:32
bool operator==(const OctetString &s1, const OctetString &s2)
Definition symkey.cpp:98