Add codegen for supporting UIDs for bootstrap atoms

Example generated code:

// This file is autogenerated

namespace android {
namespace surfaceflinger {
namespace stats {

int stats_write(int32_t code, int32_t arg1, int64_t arg2, int32_t arg3) {
    ::android::os::StatsBootstrapAtom atom;
    atom.atomId = code;
    ::android::os::StatsBootstrapAtomValue value1;
    value1.value = ::android::os::StatsBootstrapAtomValue::Primitive::make<::android::os::StatsBootstrapAtomValue::Primitive::intValue>(arg1);
    if (SURFACE_CONTROL_EVENT == code) {
        ::android::os::StatsBootstrapAtomValue::Annotation annotation0;
        annotation0.id = ::android::os::StatsBootstrapAtomValue::Annotation::Id::IS_UID;
        annotation0.value = ::android::os::StatsBootstrapAtomValue::Annotation::Primitive::make<::android::os::StatsBootstrapAtomValue::Annotation::Primitive::boolValue>(true);
        value1.annotations.push_back(annotation0);
    }
    atom.values.push_back(value1);
    ::android::os::StatsBootstrapAtomValue value2;
    value2.value = ::android::os::StatsBootstrapAtomValue::Primitive::make<::android::os::StatsBootstrapAtomValue::Primitive::longValue>(arg2);
    atom.values.push_back(value2);
    ::android::os::StatsBootstrapAtomValue value3;
    value3.value = ::android::os::StatsBootstrapAtomValue::Primitive::make<::android::os::StatsBootstrapAtomValue::Primitive::intValue>(arg3);
    atom.values.push_back(value3);
    bool success = ::android::os::stats::StatsBootstrapAtomClient::reportBootstrapAtom(atom);
    return success ? 0 : -1;
}

} // namespace stats
} // namespace surfaceflinger
} // namespace android

Bug: 329474645
Flag: EXEMPT logging
Test: adb shell cmd stats print-logs, then adb logcat | grep statsd |
grep ATOM_ID

Change-Id: Idf1ef5c989e93553431e43df1c09b2678faf76f9
1 file changed
tree: 0899c4c945567c6a60a437cf0cd41b6058e81c1b
  1. stats/
  2. OWNERS