1e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao/*
2e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * Copyright (C) 2017 The Android Open Source Project
3e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao *
4e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * Licensed under the Apache License, Version 2.0 (the "License");
5e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * you may not use this file except in compliance with the License.
6e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * You may obtain a copy of the License at
7e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao *
8e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao *      http://www.apache.org/licenses/LICENSE-2.0
9e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao *
10e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * Unless required by applicable law or agreed to in writing, software
11e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * distributed under the License is distributed on an "AS IS" BASIS,
12e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * See the License for the specific language governing permissions and
14e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao * limitations under the License.
15e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao */
16e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao#ifndef ANDROID_WIFICOND_OFFLOAD_SCAN_CALLBACK_INTERFACE_H
17e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao#define ANDROID_WIFICOND_OFFLOAD_SCAN_CALLBACK_INTERFACE_H
18e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao
19e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao#include <vector>
20e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao
21e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao#include "wificond/scanning/scan_result.h"
22e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao
23e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Raonamespace android {
24e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Raonamespace wificond {
25e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao
26e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Raoclass OffloadScanCallbackInterface {
27e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao public:
28e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao  enum AsyncErrorReason {
29e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao    BINDER_DEATH = 0,
30e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao    REMOTE_FAILURE,
31e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao  };
32e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao
33e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao  virtual ~OffloadScanCallbackInterface() {}
34e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao
35e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao  virtual void OnOffloadScanResult() = 0;
36e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao  virtual void OnOffloadError(AsyncErrorReason) = 0;
37e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao};
38e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao
39e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao}  // namespace wificond
40e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao}  // namespace android
41e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao
42e15c0edc98c9e6e906b9c53d1691a6bcfae5c61dSohani Rao#endif  // ANDROID_WIFICOND_OFFLOAD_SCAN_CALLBACK_INTERFACE_H
43