• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * Copyright (C) 2015 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  #include "aidl_test_client_service_exceptions.h"
18  
19  #include <iostream>
20  
21  #include "binder/Status.h"
22  
23  using android::binder::Status;
24  using std::cout;
25  using std::endl;
26  
27  namespace android {
28  namespace aidl {
29  namespace tests {
30  namespace client {
31  
ConfirmServiceSpecificExceptions(const sp<ITestService> & s)32  bool ConfirmServiceSpecificExceptions(const sp<ITestService>& s) {
33    cout << "Confirming application exceptions work" << endl;
34  
35    for (int32_t i = -1; i < 2; ++i) {
36      Status status = s->ThrowServiceException(i);
37      if (status.exceptionCode() != Status::EX_SERVICE_SPECIFIC ||
38          status.serviceSpecificErrorCode() != i) {
39        return false;
40      }
41    }
42  
43    return true;
44  }
45  
46  }  // namespace client
47  }  // namespace tests
48  }  // namespace aidl
49  }  // namespace android
50