OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef TONIC_DART_CLASS_LIBRARY_H_ | 5 #ifndef TONIC_DART_CLASS_LIBRARY_H_ |
6 #define TONIC_DART_CLASS_LIBRARY_H_ | 6 #define TONIC_DART_CLASS_LIBRARY_H_ |
7 | 7 |
8 #include <unordered_map> | 8 #include <unordered_map> |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "dart/runtime/include/dart_api.h" | 10 #include "mojo/public/third_party/dart/runtime/include/dart_api.h" |
11 #include "tonic/dart_class_provider.h" | 11 #include "tonic/dart_class_provider.h" |
12 | 12 |
13 namespace tonic { | 13 namespace tonic { |
14 struct DartWrapperInfo; | 14 struct DartWrapperInfo; |
15 | 15 |
16 class DartClassLibrary { | 16 class DartClassLibrary { |
17 public: | 17 public: |
18 explicit DartClassLibrary(); | 18 explicit DartClassLibrary(); |
19 ~DartClassLibrary(); | 19 ~DartClassLibrary(); |
20 | 20 |
21 void set_provider(DartClassProvider* provider) { provider_ = provider; } | 21 void set_provider(DartClassProvider* provider) { provider_ = provider; } |
22 Dart_PersistentHandle GetClass(const DartWrapperInfo& info); | 22 Dart_PersistentHandle GetClass(const DartWrapperInfo& info); |
23 | 23 |
24 private: | 24 private: |
25 DartClassProvider* provider_; | 25 DartClassProvider* provider_; |
26 std::unordered_map<const DartWrapperInfo*, Dart_PersistentHandle> cache_; | 26 std::unordered_map<const DartWrapperInfo*, Dart_PersistentHandle> cache_; |
27 | 27 |
28 DISALLOW_COPY_AND_ASSIGN(DartClassLibrary); | 28 DISALLOW_COPY_AND_ASSIGN(DartClassLibrary); |
29 }; | 29 }; |
30 | 30 |
31 } // namespace tonic | 31 } // namespace tonic |
32 | 32 |
33 #endif // TONIC_DART_CLASS_LIBRARY_H_ | 33 #endif // TONIC_DART_CLASS_LIBRARY_H_ |
OLD | NEW |