summaryrefslogtreecommitdiff
path: root/artd/artd.h
diff options
context:
space:
mode:
Diffstat (limited to 'artd/artd.h')
-rw-r--r--artd/artd.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/artd/artd.h b/artd/artd.h
index fd1ce19e55..f1dc18a503 100644
--- a/artd/artd.h
+++ b/artd/artd.h
@@ -46,6 +46,12 @@
namespace art {
namespace artd {
+struct Options {
+ // If true, this artd instance is for Pre-reboot Dexopt. It runs in a chroot environment that is
+ // set up by dexopt_chroot_setup.
+ bool is_pre_reboot = false;
+};
+
class ArtdCancellationSignal : public aidl::com::android::server::art::BnArtdCancellationSignal {
public:
explicit ArtdCancellationSignal(std::function<int(pid_t, int)> kill_func)
@@ -69,12 +75,14 @@ class ArtdCancellationSignal : public aidl::com::android::server::art::BnArtdCan
class Artd : public aidl::com::android::server::art::BnArtd {
public:
- explicit Artd(std::unique_ptr<art::tools::SystemProperties> props =
+ explicit Artd(Options&& options,
+ std::unique_ptr<art::tools::SystemProperties> props =
std::make_unique<art::tools::SystemProperties>(),
std::unique_ptr<ExecUtils> exec_utils = std::make_unique<ExecUtils>(),
std::function<int(pid_t, int)> kill_func = kill,
std::function<int(int, struct stat*)> fstat_func = fstat)
- : props_(std::move(props)),
+ : options_(std::move(options)),
+ props_(std::move(props)),
exec_utils_(std::move(exec_utils)),
kill_(std::move(kill_func)),
fstat_(std::move(fstat_func)) {}
@@ -256,6 +264,7 @@ class Artd : public aidl::com::android::server::art::BnArtd {
std::mutex ofa_context_mu_;
std::unique_ptr<OatFileAssistantContext> ofa_context_ GUARDED_BY(ofa_context_mu_);
+ const Options options_;
const std::unique_ptr<art::tools::SystemProperties> props_;
const std::unique_ptr<ExecUtils> exec_utils_;
const std::function<int(pid_t, int)> kill_;