|  | // Copyright 2013 The Flutter Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef FLUTTER_RUNTIME_DART_VM_INITIALIZER_H_ | 
|  | #define FLUTTER_RUNTIME_DART_VM_INITIALIZER_H_ | 
|  |  | 
|  | #include "third_party/dart/runtime/include/dart_api.h" | 
|  | #include "third_party/dart/runtime/include/dart_tools_api.h" | 
|  |  | 
|  | class DartVMInitializer { | 
|  | public: | 
|  | static void Initialize(Dart_InitializeParams* params, | 
|  | bool enable_timeline_event_handler, | 
|  | bool trace_systrace); | 
|  | static void Cleanup(); | 
|  |  | 
|  | private: | 
|  | static void LogDartTimelineEvent(const char* label, | 
|  | int64_t timestamp0, | 
|  | int64_t timestamp1_or_async_id, | 
|  | intptr_t flow_id_count, | 
|  | const int64_t* flow_ids, | 
|  | Dart_Timeline_Event_Type type, | 
|  | intptr_t argument_count, | 
|  | const char** argument_names, | 
|  | const char** argument_values); | 
|  | }; | 
|  |  | 
|  | #endif  // FLUTTER_RUNTIME_DART_VM_INITIALIZER_H_ |