// Copyright 2014 The Chromium 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 MOJO_PUBLIC_JS_BINDINGS_CONSTANTS_H_
#define MOJO_PUBLIC_JS_BINDINGS_CONSTANTS_H_

namespace mojo {

// JavaScript module names:
extern const char kAssociatedBindingsModuleName[];
extern const char kBindingsModuleName[];
extern const char kBufferModuleName[];
extern const char kCodecModuleName[];
extern const char kConnectorModuleName[];
extern const char kControlMessageHandlerModuleName[];
extern const char kControlMessageProxyModuleName[];
extern const char kInterfaceControlMessagesMojom[];
extern const char kInterfaceEndpointClientModuleName[];
extern const char kInterfaceEndpointHandleModuleName[];
extern const char kInterfaceTypesModuleName[];
extern const char kPipeControlMessageHandlerModuleName[];
extern const char kPipeControlMessageProxyModuleName[];
extern const char kPipeControlMessagesMojom[];
extern const char kRouterModuleName[];
extern const char kUnicodeModuleName[];
extern const char kValidatorModuleName[];

}  // namespace mojo

#endif  // MOJO_PUBLIC_JS_BINDINGS_CONSTANTS_H_
