blob: 3770145082e14b75d50a9e0ae04797c19ec8f920 [file] [log] [blame]
#pragma once
#include <android/binder_interface_utils.h>
#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <vector>
#ifdef BINDER_STABILITY_SUPPORT
#include <android/binder_stability.h>
#endif // BINDER_STABILITY_SUPPORT
#include <android/binder_parcel_platform.h>
#include <android/binder_ibinder_platform.h>
#include <aidl/android/hardware/security/keymint/HardwareAuthToken.h>
#include <aidl/android/hardware/security/secureclock/TimeStampToken.h>
namespace aidl {
namespace android {
namespace hardware {
namespace security {
namespace keymint {
class IKeyMintOperation : public ::ndk::ICInterface {
public:
static const char* descriptor;
IKeyMintOperation();
virtual ~IKeyMintOperation();
static const int32_t version = 1;
static inline const std::string hash = "976674616001f714f4a4df49ee45f548de828524";
static constexpr uint32_t TRANSACTION_updateAad = FIRST_CALL_TRANSACTION + 0;
static constexpr uint32_t TRANSACTION_update = FIRST_CALL_TRANSACTION + 1;
static constexpr uint32_t TRANSACTION_finish = FIRST_CALL_TRANSACTION + 2;
static constexpr uint32_t TRANSACTION_abort = FIRST_CALL_TRANSACTION + 3;
static std::shared_ptr<IKeyMintOperation> fromBinder(const ::ndk::SpAIBinder& binder);
static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IKeyMintOperation>& instance);
static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IKeyMintOperation>* instance);
static bool setDefaultImpl(const std::shared_ptr<IKeyMintOperation>& impl);
static const std::shared_ptr<IKeyMintOperation>& getDefaultImpl();
virtual ::ndk::ScopedAStatus updateAad(const std::vector<uint8_t>& in_input, const std::optional<::aidl::android::hardware::security::keymint::HardwareAuthToken>& in_authToken, const std::optional<::aidl::android::hardware::security::secureclock::TimeStampToken>& in_timeStampToken) = 0;
virtual ::ndk::ScopedAStatus update(const std::vector<uint8_t>& in_input, const std::optional<::aidl::android::hardware::security::keymint::HardwareAuthToken>& in_authToken, const std::optional<::aidl::android::hardware::security::secureclock::TimeStampToken>& in_timeStampToken, std::vector<uint8_t>* _aidl_return) = 0;
virtual ::ndk::ScopedAStatus finish(const std::optional<std::vector<uint8_t>>& in_input, const std::optional<std::vector<uint8_t>>& in_signature, const std::optional<::aidl::android::hardware::security::keymint::HardwareAuthToken>& in_authToken, const std::optional<::aidl::android::hardware::security::secureclock::TimeStampToken>& in_timestampToken, const std::optional<std::vector<uint8_t>>& in_confirmationToken, std::vector<uint8_t>* _aidl_return) = 0;
virtual ::ndk::ScopedAStatus abort() = 0;
virtual ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) = 0;
virtual ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) = 0;
private:
static std::shared_ptr<IKeyMintOperation> default_impl;
};
class IKeyMintOperationDefault : public IKeyMintOperation {
public:
::ndk::ScopedAStatus updateAad(const std::vector<uint8_t>& in_input, const std::optional<::aidl::android::hardware::security::keymint::HardwareAuthToken>& in_authToken, const std::optional<::aidl::android::hardware::security::secureclock::TimeStampToken>& in_timeStampToken) override;
::ndk::ScopedAStatus update(const std::vector<uint8_t>& in_input, const std::optional<::aidl::android::hardware::security::keymint::HardwareAuthToken>& in_authToken, const std::optional<::aidl::android::hardware::security::secureclock::TimeStampToken>& in_timeStampToken, std::vector<uint8_t>* _aidl_return) override;
::ndk::ScopedAStatus finish(const std::optional<std::vector<uint8_t>>& in_input, const std::optional<std::vector<uint8_t>>& in_signature, const std::optional<::aidl::android::hardware::security::keymint::HardwareAuthToken>& in_authToken, const std::optional<::aidl::android::hardware::security::secureclock::TimeStampToken>& in_timestampToken, const std::optional<std::vector<uint8_t>>& in_confirmationToken, std::vector<uint8_t>* _aidl_return) override;
::ndk::ScopedAStatus abort() override;
::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) override;
::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) override;
::ndk::SpAIBinder asBinder() override;
bool isRemote() override;
};
} // namespace keymint
} // namespace security
} // namespace hardware
} // namespace android
} // namespace aidl