Android-cuttlefish cvd tool
gatekeeper_storage.h
Go to the documentation of this file.
1//
2// Copyright (C) 2020 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16#pragma once
17
18#include <string>
19
20#include <json/json.h>
21#include <tss2/tss2_tpm2_types.h>
22
23namespace cuttlefish {
24
34public:
35 virtual ~GatekeeperStorage() = default;
36
37 virtual bool Allocate(const Json::Value& key, uint16_t size) = 0;
38 virtual bool HasKey(const Json::Value& key) const = 0;
39
40 virtual std::unique_ptr<TPM2B_MAX_NV_BUFFER> Read(const Json::Value& key)
41 const = 0;
42 virtual bool Write(const Json::Value& key, const TPM2B_MAX_NV_BUFFER& data)
43 = 0;
44};
45
46} // namespace cuttlefish
Definition: gatekeeper_storage.h:33
virtual bool HasKey(const Json::Value &key) const =0
virtual bool Write(const Json::Value &key, const TPM2B_MAX_NV_BUFFER &data)=0
virtual ~GatekeeperStorage()=default
virtual bool Allocate(const Json::Value &key, uint16_t size)=0
virtual std::unique_ptr< TPM2B_MAX_NV_BUFFER > Read(const Json::Value &key) const =0
char data[Size]
Definition: incremental_server.cpp:1
uint32_t size
Definition: io.h:2
Definition: alloc_utils.cpp:23