1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef LIB_TONIC_SCOPES_DART_API_SCOPE_H_
6#define LIB_TONIC_SCOPES_DART_API_SCOPE_H_
7
8#include "third_party/dart/runtime/include/dart_api.h"
9#include "tonic/common/macros.h"
10
11namespace tonic {
12
13class DartApiScope {
14 public:
15 DartApiScope() { Dart_EnterScope(); }
16 ~DartApiScope() {
17 if (Dart_CurrentIsolate())
18 Dart_ExitScope();
19 }
20
21 private:
22 TONIC_DISALLOW_COPY_AND_ASSIGN(DartApiScope);
23};
24
25} // namespace tonic
26
27#endif // LIB_TONIC_SCOPES_DART_API_SCOPE_H_
28