Sha256: ad2783655342544e49ad5323e04aefd112facbf5f6630d2f3050fbee1da4bcd0
Contents?: true
Size: 1.83 KB
Versions: 95
Compression:
Stored size: 1.83 KB
Contents
// Copyright 2021 the V8 project 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 INCLUDE_V8_EXTENSION_H_ #define INCLUDE_V8_EXTENSION_H_ #include <memory> #include "v8-local-handle.h" // NOLINT(build/include_directory) #include "v8-primitive.h" // NOLINT(build/include_directory) #include "v8config.h" // NOLINT(build/include_directory) namespace v8 { class FunctionTemplate; // --- Extensions --- /** * Ignore */ class V8_EXPORT Extension { public: // Note that the strings passed into this constructor must live as long // as the Extension itself. Extension(const char* name, const char* source = nullptr, int dep_count = 0, const char** deps = nullptr, int source_length = -1); virtual ~Extension() { delete source_; } virtual Local<FunctionTemplate> GetNativeFunctionTemplate( Isolate* isolate, Local<String> name) { return Local<FunctionTemplate>(); } const char* name() const { return name_; } size_t source_length() const { return source_length_; } const String::ExternalOneByteStringResource* source() const { return source_; } int dependency_count() const { return dep_count_; } const char** dependencies() const { return deps_; } void set_auto_enable(bool value) { auto_enable_ = value; } bool auto_enable() { return auto_enable_; } // Disallow copying and assigning. Extension(const Extension&) = delete; void operator=(const Extension&) = delete; private: const char* name_; size_t source_length_; // expected to initialize before source_ String::ExternalOneByteStringResource* source_; int dep_count_; const char** deps_; bool auto_enable_; }; void V8_EXPORT RegisterExtension(std::unique_ptr<Extension>); } // namespace v8 #endif // INCLUDE_V8_EXTENSION_H_
Version data entries
95 entries across 94 versions & 2 rubygems