1//
2//  Copyright 2017, The Android Open Source Project
3//
4//  Licensed under the Apache License, Version 2.0 (the "License");
5//  you may not use this file except in compliance with the License.
6//  You may obtain a copy of the License at:
7//
8//  http://www.apache.org/licenses/LICENSE-2.0
9//
10//  Unless required by applicable law or agreed to in writing, software
11//  distributed under the License is distributed on an "AS IS" BASIS,
12//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13//  See the License for the specific language governing permissions and
14//  limitations under the License.
15//
16
17#pragma once
18
19#include <binder/Parcel.h>
20#include <binder/Parcelable.h>
21
22#include <raw_address.h>
23
24namespace android {
25namespace bluetooth {
26
27class BluetoothDevice : public android::Parcelable {
28 public:
29  BluetoothDevice() = default;
30  ~BluetoothDevice() = default;
31
32  // Write |this| parcelable to the given |parcel|.  Keep in mind that
33  // implementations of writeToParcel must be manually kept in sync
34  // with readFromParcel and the Java equivalent versions of these methods.
35  //
36  // Returns android::OK on success and an appropriate error otherwise.
37  android::status_t writeToParcel(android::Parcel* parcel) const override;
38
39  // Read data from the given |parcel| into |this|.  After readFromParcel
40  // completes, |this| should have equivalent state to the object that
41  // wrote itself to the parcel.
42  //
43  // Returns android::OK on success and an appropriate error otherwise.
44  android::status_t readFromParcel(const android::Parcel* parcel) override;
45
46  RawAddress address;
47};
48
49}  // namespace bluetooth
50}  // namespace android
51