1 /* 2 * This file is auto-generated. DO NOT MODIFY. 3 * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation -t --min_sdk_version 31 --ninja -d out/soong/.intermediates/art/artd/binder/artd-aidl-ndk-source/gen/staging/com/android/server/art/IArtd.cpp.d -h out/soong/.intermediates/art/artd/binder/artd-aidl-ndk-source/gen/include/staging -o out/soong/.intermediates/art/artd/binder/artd-aidl-ndk-source/gen/staging -Nart/artd/binder art/artd/binder/com/android/server/art/IArtd.aidl 4 * 5 * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..). 6 * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER 7 * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE. 8 */ 9 #pragma once 10 11 #include <cstdint> 12 #include <memory> 13 #include <optional> 14 #include <string> 15 #include <vector> 16 #include <android/binder_interface_utils.h> 17 #include <aidl/com/android/server/art/ArtdDexoptResult.h> 18 #include <aidl/com/android/server/art/ArtifactsPath.h> 19 #include <aidl/com/android/server/art/CopyAndRewriteProfileResult.h> 20 #include <aidl/com/android/server/art/DexMetadataPath.h> 21 #include <aidl/com/android/server/art/DexoptOptions.h> 22 #include <aidl/com/android/server/art/FileVisibility.h> 23 #include <aidl/com/android/server/art/GetDexoptNeededResult.h> 24 #include <aidl/com/android/server/art/GetDexoptStatusResult.h> 25 #include <aidl/com/android/server/art/IArtdCancellationSignal.h> 26 #include <aidl/com/android/server/art/IArtdNotification.h> 27 #include <aidl/com/android/server/art/MergeProfileOptions.h> 28 #include <aidl/com/android/server/art/OutputArtifacts.h> 29 #include <aidl/com/android/server/art/OutputProfile.h> 30 #include <aidl/com/android/server/art/PriorityClass.h> 31 #include <aidl/com/android/server/art/ProfilePath.h> 32 #include <aidl/com/android/server/art/RuntimeArtifactsPath.h> 33 #include <aidl/com/android/server/art/VdexPath.h> 34 #ifdef BINDER_STABILITY_SUPPORT 35 #include <android/binder_stability.h> 36 #endif // BINDER_STABILITY_SUPPORT 37 38 namespace aidl::com::android::server::art { 39 class ArtdDexoptResult; 40 class ArtifactsPath; 41 class CopyAndRewriteProfileResult; 42 class DexMetadataPath; 43 class DexoptOptions; 44 class GetDexoptNeededResult; 45 class GetDexoptStatusResult; 46 class IArtdCancellationSignal; 47 class IArtdNotification; 48 class MergeProfileOptions; 49 class OutputArtifacts; 50 class OutputProfile; 51 class RuntimeArtifactsPath; 52 } // namespace aidl::com::android::server::art 53 namespace aidl { 54 namespace com { 55 namespace android { 56 namespace server { 57 namespace art { 58 class IArtdDelegator; 59 60 class IArtd : public ::ndk::ICInterface { 61 public: 62 typedef IArtdDelegator DefaultDelegator; 63 static const char* descriptor; 64 IArtd(); 65 virtual ~IArtd(); 66 67 static constexpr uint32_t TRANSACTION_isAlive = FIRST_CALL_TRANSACTION + 0; 68 static constexpr uint32_t TRANSACTION_deleteArtifacts = FIRST_CALL_TRANSACTION + 1; 69 static constexpr uint32_t TRANSACTION_getDexoptStatus = FIRST_CALL_TRANSACTION + 2; 70 static constexpr uint32_t TRANSACTION_isProfileUsable = FIRST_CALL_TRANSACTION + 3; 71 static constexpr uint32_t TRANSACTION_copyAndRewriteProfile = FIRST_CALL_TRANSACTION + 4; 72 static constexpr uint32_t TRANSACTION_copyAndRewriteEmbeddedProfile = FIRST_CALL_TRANSACTION + 5; 73 static constexpr uint32_t TRANSACTION_commitTmpProfile = FIRST_CALL_TRANSACTION + 6; 74 static constexpr uint32_t TRANSACTION_deleteProfile = FIRST_CALL_TRANSACTION + 7; 75 static constexpr uint32_t TRANSACTION_getProfileVisibility = FIRST_CALL_TRANSACTION + 8; 76 static constexpr uint32_t TRANSACTION_mergeProfiles = FIRST_CALL_TRANSACTION + 9; 77 static constexpr uint32_t TRANSACTION_getArtifactsVisibility = FIRST_CALL_TRANSACTION + 10; 78 static constexpr uint32_t TRANSACTION_getDexFileVisibility = FIRST_CALL_TRANSACTION + 11; 79 static constexpr uint32_t TRANSACTION_getDmFileVisibility = FIRST_CALL_TRANSACTION + 12; 80 static constexpr uint32_t TRANSACTION_getDexoptNeeded = FIRST_CALL_TRANSACTION + 13; 81 static constexpr uint32_t TRANSACTION_dexopt = FIRST_CALL_TRANSACTION + 14; 82 static constexpr uint32_t TRANSACTION_createCancellationSignal = FIRST_CALL_TRANSACTION + 15; 83 static constexpr uint32_t TRANSACTION_cleanup = FIRST_CALL_TRANSACTION + 16; 84 static constexpr uint32_t TRANSACTION_cleanUpPreRebootStagedFiles = FIRST_CALL_TRANSACTION + 17; 85 static constexpr uint32_t TRANSACTION_isInDalvikCache = FIRST_CALL_TRANSACTION + 18; 86 static constexpr uint32_t TRANSACTION_deleteRuntimeArtifacts = FIRST_CALL_TRANSACTION + 19; 87 static constexpr uint32_t TRANSACTION_getArtifactsSize = FIRST_CALL_TRANSACTION + 20; 88 static constexpr uint32_t TRANSACTION_getVdexFileSize = FIRST_CALL_TRANSACTION + 21; 89 static constexpr uint32_t TRANSACTION_getRuntimeArtifactsSize = FIRST_CALL_TRANSACTION + 22; 90 static constexpr uint32_t TRANSACTION_getProfileSize = FIRST_CALL_TRANSACTION + 23; 91 static constexpr uint32_t TRANSACTION_initProfileSaveNotification = FIRST_CALL_TRANSACTION + 24; 92 static constexpr uint32_t TRANSACTION_commitPreRebootStagedFiles = FIRST_CALL_TRANSACTION + 25; 93 static constexpr uint32_t TRANSACTION_checkPreRebootSystemRequirements = FIRST_CALL_TRANSACTION + 26; 94 static constexpr uint32_t TRANSACTION_preRebootInit = FIRST_CALL_TRANSACTION + 27; 95 static constexpr uint32_t TRANSACTION_validateDexPath = FIRST_CALL_TRANSACTION + 28; 96 static constexpr uint32_t TRANSACTION_validateClassLoaderContext = FIRST_CALL_TRANSACTION + 29; 97 98 static std::shared_ptr<IArtd> fromBinder(const ::ndk::SpAIBinder& binder); 99 static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IArtd>& instance); 100 static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IArtd>* instance); 101 static bool setDefaultImpl(const std::shared_ptr<IArtd>& impl); 102 static const std::shared_ptr<IArtd>& getDefaultImpl(); 103 virtual ::ndk::ScopedAStatus isAlive(bool* _aidl_return) = 0; 104 virtual ::ndk::ScopedAStatus deleteArtifacts(const ::aidl::com::android::server::art::ArtifactsPath& in_artifactsPath, int64_t* _aidl_return) = 0; 105 virtual ::ndk::ScopedAStatus getDexoptStatus(const std::string& in_dexFile, const std::string& in_instructionSet, const std::optional<std::string>& in_classLoaderContext, ::aidl::com::android::server::art::GetDexoptStatusResult* _aidl_return) = 0; 106 virtual ::ndk::ScopedAStatus isProfileUsable(const ::aidl::com::android::server::art::ProfilePath& in_profile, const std::string& in_dexFile, bool* _aidl_return) = 0; 107 virtual ::ndk::ScopedAStatus copyAndRewriteProfile(const ::aidl::com::android::server::art::ProfilePath& in_src, ::aidl::com::android::server::art::OutputProfile* in_dst, const std::string& in_dexFile, ::aidl::com::android::server::art::CopyAndRewriteProfileResult* _aidl_return) = 0; 108 virtual ::ndk::ScopedAStatus copyAndRewriteEmbeddedProfile(::aidl::com::android::server::art::OutputProfile* in_dst, const std::string& in_dexFile, ::aidl::com::android::server::art::CopyAndRewriteProfileResult* _aidl_return) = 0; 109 virtual ::ndk::ScopedAStatus commitTmpProfile(const ::aidl::com::android::server::art::ProfilePath::TmpProfilePath& in_profile) = 0; 110 virtual ::ndk::ScopedAStatus deleteProfile(const ::aidl::com::android::server::art::ProfilePath& in_profile) = 0; 111 virtual ::ndk::ScopedAStatus getProfileVisibility(const ::aidl::com::android::server::art::ProfilePath& in_profile, ::aidl::com::android::server::art::FileVisibility* _aidl_return) = 0; 112 virtual ::ndk::ScopedAStatus mergeProfiles(const std::vector<::aidl::com::android::server::art::ProfilePath>& in_profiles, const std::optional<::aidl::com::android::server::art::ProfilePath>& in_referenceProfile, ::aidl::com::android::server::art::OutputProfile* in_outputProfile, const std::vector<std::string>& in_dexFiles, const ::aidl::com::android::server::art::MergeProfileOptions& in_options, bool* _aidl_return) = 0; 113 virtual ::ndk::ScopedAStatus getArtifactsVisibility(const ::aidl::com::android::server::art::ArtifactsPath& in_artifactsPath, ::aidl::com::android::server::art::FileVisibility* _aidl_return) = 0; 114 virtual ::ndk::ScopedAStatus getDexFileVisibility(const std::string& in_dexFile, ::aidl::com::android::server::art::FileVisibility* _aidl_return) = 0; 115 virtual ::ndk::ScopedAStatus getDmFileVisibility(const ::aidl::com::android::server::art::DexMetadataPath& in_dmFile, ::aidl::com::android::server::art::FileVisibility* _aidl_return) = 0; 116 virtual ::ndk::ScopedAStatus getDexoptNeeded(const std::string& in_dexFile, const std::string& in_instructionSet, const std::optional<std::string>& in_classLoaderContext, const std::string& in_compilerFilter, int32_t in_dexoptTrigger, ::aidl::com::android::server::art::GetDexoptNeededResult* _aidl_return) = 0; 117 virtual ::ndk::ScopedAStatus dexopt(const ::aidl::com::android::server::art::OutputArtifacts& in_outputArtifacts, const std::string& in_dexFile, const std::string& in_instructionSet, const std::optional<std::string>& in_classLoaderContext, const std::string& in_compilerFilter, const std::optional<::aidl::com::android::server::art::ProfilePath>& in_profile, const std::optional<::aidl::com::android::server::art::VdexPath>& in_inputVdex, const std::optional<::aidl::com::android::server::art::DexMetadataPath>& in_dmFile, ::aidl::com::android::server::art::PriorityClass in_priorityClass, const ::aidl::com::android::server::art::DexoptOptions& in_dexoptOptions, const std::shared_ptr<::aidl::com::android::server::art::IArtdCancellationSignal>& in_cancellationSignal, ::aidl::com::android::server::art::ArtdDexoptResult* _aidl_return) = 0; 118 virtual ::ndk::ScopedAStatus createCancellationSignal(std::shared_ptr<::aidl::com::android::server::art::IArtdCancellationSignal>* _aidl_return) = 0; 119 virtual ::ndk::ScopedAStatus cleanup(const std::vector<::aidl::com::android::server::art::ProfilePath>& in_profilesToKeep, const std::vector<::aidl::com::android::server::art::ArtifactsPath>& in_artifactsToKeep, const std::vector<::aidl::com::android::server::art::VdexPath>& in_vdexFilesToKeep, const std::vector<::aidl::com::android::server::art::RuntimeArtifactsPath>& in_runtimeArtifactsToKeep, bool in_keepPreRebootStagedFiles, int64_t* _aidl_return) = 0; 120 virtual ::ndk::ScopedAStatus cleanUpPreRebootStagedFiles() = 0; 121 virtual ::ndk::ScopedAStatus isInDalvikCache(const std::string& in_dexFile, bool* _aidl_return) = 0; 122 virtual ::ndk::ScopedAStatus deleteRuntimeArtifacts(const ::aidl::com::android::server::art::RuntimeArtifactsPath& in_runtimeArtifactsPath, int64_t* _aidl_return) = 0; 123 virtual ::ndk::ScopedAStatus getArtifactsSize(const ::aidl::com::android::server::art::ArtifactsPath& in_artifactsPath, int64_t* _aidl_return) = 0; 124 virtual ::ndk::ScopedAStatus getVdexFileSize(const ::aidl::com::android::server::art::VdexPath& in_vdexPath, int64_t* _aidl_return) = 0; 125 virtual ::ndk::ScopedAStatus getRuntimeArtifactsSize(const ::aidl::com::android::server::art::RuntimeArtifactsPath& in_runtimeArtifactsPath, int64_t* _aidl_return) = 0; 126 virtual ::ndk::ScopedAStatus getProfileSize(const ::aidl::com::android::server::art::ProfilePath& in_profile, int64_t* _aidl_return) = 0; 127 virtual ::ndk::ScopedAStatus initProfileSaveNotification(const ::aidl::com::android::server::art::ProfilePath::PrimaryCurProfilePath& in_profilePath, int32_t in_pid, std::shared_ptr<::aidl::com::android::server::art::IArtdNotification>* _aidl_return) = 0; 128 virtual ::ndk::ScopedAStatus commitPreRebootStagedFiles(const std::vector<::aidl::com::android::server::art::ArtifactsPath>& in_artifacts, const std::vector<::aidl::com::android::server::art::ProfilePath::WritableProfilePath>& in_profiles, bool* _aidl_return) = 0; 129 virtual ::ndk::ScopedAStatus checkPreRebootSystemRequirements(const std::string& in_chrootDir, bool* _aidl_return) = 0; 130 virtual ::ndk::ScopedAStatus preRebootInit(const std::shared_ptr<::aidl::com::android::server::art::IArtdCancellationSignal>& in_cancellationSignal, bool* _aidl_return) = 0; 131 virtual ::ndk::ScopedAStatus validateDexPath(const std::string& in_dexFile, std::optional<std::string>* _aidl_return) = 0; 132 virtual ::ndk::ScopedAStatus validateClassLoaderContext(const std::string& in_dexFile, const std::string& in_classLoaderContext, std::optional<std::string>* _aidl_return) = 0; 133 private: 134 static std::shared_ptr<IArtd> default_impl; 135 }; 136 class IArtdDefault : public IArtd { 137 public: 138 ::ndk::ScopedAStatus isAlive(bool* _aidl_return) override; 139 ::ndk::ScopedAStatus deleteArtifacts(const ::aidl::com::android::server::art::ArtifactsPath& in_artifactsPath, int64_t* _aidl_return) override; 140 ::ndk::ScopedAStatus getDexoptStatus(const std::string& in_dexFile, const std::string& in_instructionSet, const std::optional<std::string>& in_classLoaderContext, ::aidl::com::android::server::art::GetDexoptStatusResult* _aidl_return) override; 141 ::ndk::ScopedAStatus isProfileUsable(const ::aidl::com::android::server::art::ProfilePath& in_profile, const std::string& in_dexFile, bool* _aidl_return) override; 142 ::ndk::ScopedAStatus copyAndRewriteProfile(const ::aidl::com::android::server::art::ProfilePath& in_src, ::aidl::com::android::server::art::OutputProfile* in_dst, const std::string& in_dexFile, ::aidl::com::android::server::art::CopyAndRewriteProfileResult* _aidl_return) override; 143 ::ndk::ScopedAStatus copyAndRewriteEmbeddedProfile(::aidl::com::android::server::art::OutputProfile* in_dst, const std::string& in_dexFile, ::aidl::com::android::server::art::CopyAndRewriteProfileResult* _aidl_return) override; 144 ::ndk::ScopedAStatus commitTmpProfile(const ::aidl::com::android::server::art::ProfilePath::TmpProfilePath& in_profile) override; 145 ::ndk::ScopedAStatus deleteProfile(const ::aidl::com::android::server::art::ProfilePath& in_profile) override; 146 ::ndk::ScopedAStatus getProfileVisibility(const ::aidl::com::android::server::art::ProfilePath& in_profile, ::aidl::com::android::server::art::FileVisibility* _aidl_return) override; 147 ::ndk::ScopedAStatus mergeProfiles(const std::vector<::aidl::com::android::server::art::ProfilePath>& in_profiles, const std::optional<::aidl::com::android::server::art::ProfilePath>& in_referenceProfile, ::aidl::com::android::server::art::OutputProfile* in_outputProfile, const std::vector<std::string>& in_dexFiles, const ::aidl::com::android::server::art::MergeProfileOptions& in_options, bool* _aidl_return) override; 148 ::ndk::ScopedAStatus getArtifactsVisibility(const ::aidl::com::android::server::art::ArtifactsPath& in_artifactsPath, ::aidl::com::android::server::art::FileVisibility* _aidl_return) override; 149 ::ndk::ScopedAStatus getDexFileVisibility(const std::string& in_dexFile, ::aidl::com::android::server::art::FileVisibility* _aidl_return) override; 150 ::ndk::ScopedAStatus getDmFileVisibility(const ::aidl::com::android::server::art::DexMetadataPath& in_dmFile, ::aidl::com::android::server::art::FileVisibility* _aidl_return) override; 151 ::ndk::ScopedAStatus getDexoptNeeded(const std::string& in_dexFile, const std::string& in_instructionSet, const std::optional<std::string>& in_classLoaderContext, const std::string& in_compilerFilter, int32_t in_dexoptTrigger, ::aidl::com::android::server::art::GetDexoptNeededResult* _aidl_return) override; 152 ::ndk::ScopedAStatus dexopt(const ::aidl::com::android::server::art::OutputArtifacts& in_outputArtifacts, const std::string& in_dexFile, const std::string& in_instructionSet, const std::optional<std::string>& in_classLoaderContext, const std::string& in_compilerFilter, const std::optional<::aidl::com::android::server::art::ProfilePath>& in_profile, const std::optional<::aidl::com::android::server::art::VdexPath>& in_inputVdex, const std::optional<::aidl::com::android::server::art::DexMetadataPath>& in_dmFile, ::aidl::com::android::server::art::PriorityClass in_priorityClass, const ::aidl::com::android::server::art::DexoptOptions& in_dexoptOptions, const std::shared_ptr<::aidl::com::android::server::art::IArtdCancellationSignal>& in_cancellationSignal, ::aidl::com::android::server::art::ArtdDexoptResult* _aidl_return) override; 153 ::ndk::ScopedAStatus createCancellationSignal(std::shared_ptr<::aidl::com::android::server::art::IArtdCancellationSignal>* _aidl_return) override; 154 ::ndk::ScopedAStatus cleanup(const std::vector<::aidl::com::android::server::art::ProfilePath>& in_profilesToKeep, const std::vector<::aidl::com::android::server::art::ArtifactsPath>& in_artifactsToKeep, const std::vector<::aidl::com::android::server::art::VdexPath>& in_vdexFilesToKeep, const std::vector<::aidl::com::android::server::art::RuntimeArtifactsPath>& in_runtimeArtifactsToKeep, bool in_keepPreRebootStagedFiles, int64_t* _aidl_return) override; 155 ::ndk::ScopedAStatus cleanUpPreRebootStagedFiles() override; 156 ::ndk::ScopedAStatus isInDalvikCache(const std::string& in_dexFile, bool* _aidl_return) override; 157 ::ndk::ScopedAStatus deleteRuntimeArtifacts(const ::aidl::com::android::server::art::RuntimeArtifactsPath& in_runtimeArtifactsPath, int64_t* _aidl_return) override; 158 ::ndk::ScopedAStatus getArtifactsSize(const ::aidl::com::android::server::art::ArtifactsPath& in_artifactsPath, int64_t* _aidl_return) override; 159 ::ndk::ScopedAStatus getVdexFileSize(const ::aidl::com::android::server::art::VdexPath& in_vdexPath, int64_t* _aidl_return) override; 160 ::ndk::ScopedAStatus getRuntimeArtifactsSize(const ::aidl::com::android::server::art::RuntimeArtifactsPath& in_runtimeArtifactsPath, int64_t* _aidl_return) override; 161 ::ndk::ScopedAStatus getProfileSize(const ::aidl::com::android::server::art::ProfilePath& in_profile, int64_t* _aidl_return) override; 162 ::ndk::ScopedAStatus initProfileSaveNotification(const ::aidl::com::android::server::art::ProfilePath::PrimaryCurProfilePath& in_profilePath, int32_t in_pid, std::shared_ptr<::aidl::com::android::server::art::IArtdNotification>* _aidl_return) override; 163 ::ndk::ScopedAStatus commitPreRebootStagedFiles(const std::vector<::aidl::com::android::server::art::ArtifactsPath>& in_artifacts, const std::vector<::aidl::com::android::server::art::ProfilePath::WritableProfilePath>& in_profiles, bool* _aidl_return) override; 164 ::ndk::ScopedAStatus checkPreRebootSystemRequirements(const std::string& in_chrootDir, bool* _aidl_return) override; 165 ::ndk::ScopedAStatus preRebootInit(const std::shared_ptr<::aidl::com::android::server::art::IArtdCancellationSignal>& in_cancellationSignal, bool* _aidl_return) override; 166 ::ndk::ScopedAStatus validateDexPath(const std::string& in_dexFile, std::optional<std::string>* _aidl_return) override; 167 ::ndk::ScopedAStatus validateClassLoaderContext(const std::string& in_dexFile, const std::string& in_classLoaderContext, std::optional<std::string>* _aidl_return) override; 168 ::ndk::SpAIBinder asBinder() override; 169 bool isRemote() override; 170 }; 171 } // namespace art 172 } // namespace server 173 } // namespace android 174 } // namespace com 175 } // namespace aidl 176