pulsar-client-cpp
EncryptionKeyInfo.h
1 
19 #ifndef ENCRYPTIONKEYINFO_H_
20 #define ENCRYPTIONKEYINFO_H_
21 
22 #include <memory>
23 #include <iostream>
24 #include <map>
25 
26 #pragma GCC visibility push(default)
27 
28 namespace pulsar {
29 
30 class EncryptionKeyInfoImpl;
31 class PulsarWrapper;
32 
33 typedef std::shared_ptr<EncryptionKeyInfoImpl> EncryptionKeyInfoImplPtr;
34 
36  /*
37  * This object contains the encryption key and corresponding metadata which contains
38  * additional information about the key such as version, timestammp
39  */
40 
41  public:
42  typedef std::map<std::string, std::string> StringMap;
43 
45 
46  EncryptionKeyInfo(std::string key, StringMap& metadata);
47 
48  std::string& getKey();
49 
50  void setKey(std::string key);
51 
52  StringMap& getMetadata(void);
53 
54  void setMetadata(StringMap& metadata);
55 
56  private:
57  explicit EncryptionKeyInfo(EncryptionKeyInfoImplPtr);
58 
59  EncryptionKeyInfoImplPtr impl_;
60 
61  friend class PulsarWrapper;
62 };
63 
64 } /* namespace pulsar */
65 
66 #pragma GCC visibility pop
67 
68 #endif /* ENCRYPTIONKEYINFO_H_ */
pulsar::EncryptionKeyInfo
Definition: EncryptionKeyInfo.h:35
pulsar
Definition: Authentication.h:31