diff options
| author | 2017-10-21 01:21:39 +0000 | |
|---|---|---|
| committer | 2017-10-21 01:21:39 +0000 | |
| commit | b3d66a3ccd90ae52c37e72ba545220ec792c8d22 (patch) | |
| tree | c38651d4f3e15a79cadbc4ee3717c0189985017b /libs | |
| parent | 85be5b826d2822559cd866f2060c1cf7ee606538 (diff) | |
| parent | 1481fe142d36d5f0b36eeebc358d5a8aef7bf28a (diff) | |
Merge "Changes pulled data to use Parcel objects."
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/services/Android.mk | 3 | ||||
| -rw-r--r-- | libs/services/include/android/os/StatsLogEventWrapper.h | 47 | ||||
| -rw-r--r-- | libs/services/src/os/StatsLogEventWrapper.cpp | 45 |
3 files changed, 94 insertions, 1 deletions
diff --git a/libs/services/Android.mk b/libs/services/Android.mk index cbfd4b3f9f10..d72059aad93f 100644 --- a/libs/services/Android.mk +++ b/libs/services/Android.mk @@ -21,7 +21,8 @@ include $(CLEAR_VARS) LOCAL_MODULE := libservices LOCAL_SRC_FILES := \ ../../core/java/com/android/internal/os/IDropBoxManagerService.aidl \ - src/os/DropBoxManager.cpp + src/os/DropBoxManager.cpp \ + src/os/StatsLogEventWrapper.cpp LOCAL_AIDL_INCLUDES := \ $(LOCAL_PATH)/../../core/java diff --git a/libs/services/include/android/os/StatsLogEventWrapper.h b/libs/services/include/android/os/StatsLogEventWrapper.h new file mode 100644 index 000000000000..255619c6226c --- /dev/null +++ b/libs/services/include/android/os/StatsLogEventWrapper.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2017 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 STATS_LOG_EVENT_WRAPPER_H +#define STATS_LOG_EVENT_WRAPPER_H + +#include <binder/Parcel.h> +#include <binder/Parcelable.h> +#include <binder/Status.h> +#include <utils/RefBase.h> +#include <vector> + +namespace android { +namespace os { + +// Represents a parcelable object. Only used to send data from Android OS to statsd. +class StatsLogEventWrapper : public android::Parcelable { + public: + StatsLogEventWrapper(); + + StatsLogEventWrapper(StatsLogEventWrapper&& in) = default; + + android::status_t writeToParcel(android::Parcel* out) const; + + android::status_t readFromParcel(const android::Parcel* in); + + // These are public for ease of conversion. + std::vector<uint8_t> bytes; +}; +} // Namespace os +} // Namespace android + + +#endif // STATS_LOG_EVENT_WRAPPER_H + diff --git a/libs/services/src/os/StatsLogEventWrapper.cpp b/libs/services/src/os/StatsLogEventWrapper.cpp new file mode 100644 index 000000000000..8b3aa9ab4257 --- /dev/null +++ b/libs/services/src/os/StatsLogEventWrapper.cpp @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017 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. + */ +#include <android/os/StatsLogEventWrapper.h> + +#include <binder/Parcel.h> +#include <binder/Parcelable.h> +#include <binder/Status.h> +#include <utils/RefBase.h> +#include <vector> + +using android::Parcel; +using android::Parcelable; +using android::status_t; +using std::vector; + +namespace android { +namespace os { + +StatsLogEventWrapper::StatsLogEventWrapper(){}; + +status_t StatsLogEventWrapper::writeToParcel(Parcel* out) const { + out->writeByteVector(bytes); + return ::android::NO_ERROR; +}; + +status_t StatsLogEventWrapper::readFromParcel(const Parcel* in) { + in->readByteVector(&bytes); + return ::android::NO_ERROR; +}; + +} // Namespace os +} // Namespace android |