blob: 6b067d7211c53ca944a5c130a3ed47c2c4225cd6 [file] [log] [blame]
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef IORAP_BINDER_JOB_SCHEDULED_EVENT_H_
#define IORAP_BINDER_JOB_SCHEDULED_EVENT_H_
#include "binder/common.h"
#include "binder/auto_parcelable.h"
#include "common/introspection.h"
namespace iorap {
namespace binder {
struct JobScheduledEvent : public AutoParcelable<JobScheduledEvent> {
enum class Type : int32_t {
kStartJob = 0,
kStopJob = 1,
};
Type type;
int32_t job_id;
std::string package_name;
bool should_update_versions;
enum class Sort : int32_t {
kIdleMaintenance = 0,
};
Sort sort;
constexpr bool operator==(const JobScheduledEvent& other) const {
return type == other.type
&& job_id == other.job_id
&& sort == other.sort
&& package_name == other.package_name
&& should_update_versions == other.should_update_versions;
}
constexpr bool operator!=(const JobScheduledEvent& other) const {
return !(*this == other);
}
};
IORAP_INTROSPECT_ADAPT_STRUCT(
JobScheduledEvent, type, job_id, sort, package_name, should_update_versions);
}
}
IORAP_JAVA_NAMESPACE_BINDER_TYPEDEF(JobScheduledEvent)
#endif // IORAP_BINDER_JOB_SCHEDULED_EVENT_H_