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