// Copyright 2016 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 {{"_".join(config.protocol.namespace)}}_Object_h #define {{"_".join(config.protocol.namespace)}}_Object_h //#include "ErrorSupport.h" //#include "Forward.h" //#include "Values.h" {% for namespace in config.protocol.namespace %} namespace {{namespace}} { {% endfor %} class {{config.lib.export_macro}} Object { public: static std::unique_ptr fromValue(protocol::Value*, ErrorSupport*); ~Object(); std::unique_ptr toValue() const; std::unique_ptr clone() const; private: explicit Object(std::unique_ptr); std::unique_ptr m_object; }; {% for namespace in config.protocol.namespace %} } // namespace {{namespace}} {% endfor %} #endif // !defined({{"_".join(config.protocol.namespace)}}_Object_h)