summaryrefslogtreecommitdiff
path: root/keystore/confirmation_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'keystore/confirmation_manager.h')
-rw-r--r--keystore/confirmation_manager.h108
1 files changed, 0 insertions, 108 deletions
diff --git a/keystore/confirmation_manager.h b/keystore/confirmation_manager.h
deleted file mode 100644
index 7f0a11da..00000000
--- a/keystore/confirmation_manager.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef KEYSTORE_CONFIRMATION_MANAGER_H_
-#define KEYSTORE_CONFIRMATION_MANAGER_H_
-
-#include <android/hardware/confirmationui/1.0/IConfirmationUI.h>
-#include <android/hardware/confirmationui/1.0/types.h>
-#include <binder/Binder.h>
-#include <binder/IBinder.h>
-#include <binder/Status.h>
-#include <keystore/keymaster_types.h>
-#include <map>
-#include <mutex>
-#include <utils/LruCache.h>
-#include <utils/StrongPointer.h>
-#include <vector>
-
-#include "confirmationui_rate_limiting.h"
-
-namespace keystore {
-
-using android::binder::Status;
-using android::hardware::confirmationui::V1_0::IConfirmationResultCallback;
-using ConfirmationResponseCode = android::hardware::confirmationui::V1_0::ResponseCode;
-
-class ConfirmationManager;
-
-class ConfirmationManager : public android::hardware::hidl_death_recipient,
- public IConfirmationResultCallback {
- public:
- explicit ConfirmationManager(android::IBinder::DeathRecipient* deathRecipient);
-
- // Calls into the confirmationui HAL to start a new prompt.
- //
- // Returns OperationPending if another application is already
- // showing a confirmation. Otherwise returns the return code from
- // the HAL.
- Status presentConfirmationPrompt(const android::sp<android::IBinder>& listener,
- const android::String16& promptText,
- const hidl_vec<uint8_t>& extraData,
- const android::String16& locale, int uiOptionsAsFlags,
- int32_t* aidl_return);
-
- // Calls into the confirmationui HAL to cancel displaying a
- // prompt.
- //
- // Returns OperatingPending if another application is showing a
- // confirmation. Otherwise returns the return code from the HAL.
- Status cancelConfirmationPrompt(const android::sp<android::IBinder>& listener,
- int32_t* aidl_return);
-
- // Checks if the confirmationUI HAL is available.
- Status isConfirmationPromptSupported(bool* aidl_return);
-
- // Gets the latest confirmation token received from the ConfirmationUI HAL.
- hidl_vec<uint8_t> getLatestConfirmationToken();
-
- // Called by KeyStoreService when a client binder has died.
- void binderDied(const android::wp<android::IBinder>& who);
-
- // hidl_death_recipient overrides:
- virtual void serviceDied(uint64_t cookie,
- const android::wp<android::hidl::base::V1_0::IBase>& who) override;
-
- // IConfirmationResultCallback overrides:
- android::hardware::Return<void> result(ConfirmationResponseCode responseCode,
- const hidl_vec<uint8_t>& dataThatWasConfirmed,
- const hidl_vec<uint8_t>& confirmationToken) override;
-
- private:
- friend class ConfirmationResultCallback;
-
- // Set rate limiting to not decrement on next abort and aborts
- // confirmationui.
- void cancelPrompt();
-
- void finalizeTransaction(ConfirmationResponseCode responseCode,
- hidl_vec<uint8_t> dataThatWasConfirmed);
-
- // This mutex protects all data below it.
- std::mutex mMutex;
-
- // The mCurrentListener and mCurrentConfirmationUI fields are set
- // if and only if a prompt is currently showing.
- android::sp<android::IBinder> mCurrentListener;
- android::sp<android::hardware::confirmationui::V1_0::IConfirmationUI> mCurrentConfirmationUI;
- android::IBinder::DeathRecipient* mDeathRecipient;
- hidl_vec<uint8_t> mLatestConfirmationToken;
- RateLimiting<> mRateLimiting;
-};
-
-} // namespace keystore
-
-#endif // KEYSTORE_CONFIRMATION_MANAGER_H_