blob: 8718b2ec6d342b84413904c6d2d3675ca4e9b3b0 [file] [log] [blame]
{#
# Copyright 2016 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#}
{% extends "callback-interface-base.h.template" %}
{% block implementation %}
namespace cobalt {
{% for component in components %}
namespace {{component}} {
{% endfor %}
class {{binding_class}} { };
{% for component in components %}
} // namespace {{component}}
{% endfor %}
namespace script {
// Explicit instantiation of CallbackInterfaceTraits struct so we can infer
// the type of the generated class from the type of the callback interface.
template<>
struct CallbackInterfaceTraits<{{fully_qualified_impl_class}}> {
typedef {{fully_qualified_binding_class}} MozjsCallbackInterfaceClass;
};
} // namespace script
} // namespace cobalt
{% endblock implementation %}