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_ISOLATE_SCOPE_H_
6#define LIB_TONIC_SCOPES_DART_ISOLATE_SCOPE_H_
7
8#include "third_party/dart/runtime/include/dart_api.h"
9#include "tonic/common/macros.h"
10
11namespace tonic {
12
13// DartIsolateScope is a helper class for entering and exiting a given isolate.
14class DartIsolateScope {
15 public:
16 explicit DartIsolateScope(Dart_Isolate isolate);
17 ~DartIsolateScope();
18
19 private:
20 Dart_Isolate isolate_;
21 Dart_Isolate previous_;
22
23 TONIC_DISALLOW_COPY_AND_ASSIGN(DartIsolateScope);
24};
25
26} // namespace tonic
27
28#endif // LIB_TONIC_SCOPES_DART_ISOLATE_SCOPE_H_
29