| #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 |