+namespace {
+
+int ValidateParcelable(
+ std::shared_ptr<pcp::AbstractParcelable> parcel,
+ pcp::ParcelableType parcel_type) {
+ if (parcel == nullptr) {
+ LOG(ERROR) << "Failed to get return parcelable";
+ return PMINFO_R_ERROR;
+ }
+
+ if (parcel->GetType() != parcel_type) {
+ LOG(ERROR) << "Invalid parcelable Type " << parcel->GetType() << ' ' << parcel_type;
+ return PMINFO_R_ERROR;
+ }
+
+ if (parcel->GetRequestResult() != PMINFO_R_OK) {
+ LOG(ERROR) << "Request fail";
+ return parcel->GetRequestResult();
+ }
+
+ return PMINFO_R_OK;
+}
+
+} // namespace
+