| OLD | NEW |
| 1 // This file is generated | 1 // This file is generated |
| 2 | 2 |
| 3 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 3 // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| 4 // Use of this source code is governed by a BSD-style license that can be | 4 // Use of this source code is governed by a BSD-style license that can be |
| 5 // found in the LICENSE file. | 5 // found in the LICENSE file. |
| 6 | 6 |
| 7 #ifndef {{class_name}}_h | 7 #ifndef {{class_name}}_h |
| 8 #define {{class_name}}_h | 8 #define {{class_name}}_h |
| 9 | 9 |
| 10 #include "platform/JSONValues.h" | |
| 11 #include "platform/PlatformExport.h" | 10 #include "platform/PlatformExport.h" |
| 11 #include "platform/inspector_protocol/Values.h" |
| 12 #include "wtf/Assertions.h" | 12 #include "wtf/Assertions.h" |
| 13 #include "wtf/PassOwnPtr.h" | 13 #include "wtf/PassOwnPtr.h" |
| 14 #include "wtf/PassRefPtr.h" | 14 #include "wtf/PassRefPtr.h" |
| 15 #include "wtf/text/StringBuilder.h" | 15 #include "wtf/text/StringBuilder.h" |
| 16 #include "wtf/text/WTFString.h" | 16 #include "wtf/text/WTFString.h" |
| 17 | 17 |
| 18 namespace blink { | 18 namespace blink { |
| 19 namespace protocol { | 19 namespace protocol { |
| 20 | 20 |
| 21 template<typename T> | 21 template<typename T> |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 PassRefPtr<T> fromMaybe(const PassRefPtr<T> defaultValue) const { return m_v
alue || defaultValue; } | 92 PassRefPtr<T> fromMaybe(const PassRefPtr<T> defaultValue) const { return m_v
alue || defaultValue; } |
| 93 bool isJust() const { return !!m_value; } | 93 bool isJust() const { return !!m_value; } |
| 94 PassRefPtr<T> takeJust() { return m_value; } | 94 PassRefPtr<T> takeJust() { return m_value; } |
| 95 | 95 |
| 96 protected: | 96 protected: |
| 97 RefPtr<T> m_value; | 97 RefPtr<T> m_value; |
| 98 }; | 98 }; |
| 99 | 99 |
| 100 template<typename T> class Array; | 100 template<typename T> class Array; |
| 101 | 101 |
| 102 PLATFORM_EXPORT PassRefPtr<JSONValue> toValue(int value); | 102 PLATFORM_EXPORT PassRefPtr<protocol::Value> toValue(int value); |
| 103 PLATFORM_EXPORT PassRefPtr<JSONValue> toValue(double value); | 103 PLATFORM_EXPORT PassRefPtr<protocol::Value> toValue(double value); |
| 104 PLATFORM_EXPORT PassRefPtr<JSONValue> toValue(bool value); | 104 PLATFORM_EXPORT PassRefPtr<protocol::Value> toValue(bool value); |
| 105 PLATFORM_EXPORT PassRefPtr<JSONValue> toValue(const String& param); | 105 PLATFORM_EXPORT PassRefPtr<protocol::Value> toValue(const String& param); |
| 106 template<typename T> PassRefPtr<JSONValue> toValue(PassRefPtr<T> param) { return
param; } | 106 template<typename T> PassRefPtr<protocol::Value> toValue(PassRefPtr<T> param) {
return param; } |
| 107 template<typename T> PassRefPtr<JSONValue> toValue(const RefPtr<T>& param) { ret
urn param; } | 107 template<typename T> PassRefPtr<protocol::Value> toValue(const RefPtr<T>& param)
{ return param; } |
| 108 template<typename T> PassRefPtr<JSONValue> toValue(T* param) { return param->ser
ialize(); } | 108 template<typename T> PassRefPtr<protocol::Value> toValue(T* param) { return para
m->serialize(); } |
| 109 template<typename T> PassRefPtr<JSONValue> toValue(PassOwnPtr<T> param) { return
param->serialize(); } | 109 template<typename T> PassRefPtr<protocol::Value> toValue(PassOwnPtr<T> param) {
return param->serialize(); } |
| 110 template<typename T> PassRefPtr<JSONValue> toValue(const OwnPtr<T>& param) { ret
urn param->serialize(); } | 110 template<typename T> PassRefPtr<protocol::Value> toValue(const OwnPtr<T>& param)
{ return param->serialize(); } |
| 111 | 111 |
| 112 class PLATFORM_EXPORT ErrorSupport { | 112 class PLATFORM_EXPORT ErrorSupport { |
| 113 public: | 113 public: |
| 114 ErrorSupport(); | 114 ErrorSupport(); |
| 115 ErrorSupport(String* errorString); | 115 ErrorSupport(String* errorString); |
| 116 ~ErrorSupport(); | 116 ~ErrorSupport(); |
| 117 | 117 |
| 118 void push(); | 118 void push(); |
| 119 void setName(const String& name); | 119 void setName(const String& name); |
| 120 void pop(); | 120 void pop(); |
| 121 void addError(const String& error); | 121 void addError(const String& error); |
| 122 bool hasErrors(); | 122 bool hasErrors(); |
| 123 String errors(); | 123 String errors(); |
| 124 | 124 |
| 125 private: | 125 private: |
| 126 Vector<String> m_path; | 126 Vector<String> m_path; |
| 127 Vector<String> m_errors; | 127 Vector<String> m_errors; |
| 128 String* m_errorString; | 128 String* m_errorString; |
| 129 }; | 129 }; |
| 130 | 130 |
| 131 template<typename T> | 131 template<typename T> |
| 132 struct FromValue | 132 struct FromValue |
| 133 { | 133 { |
| 134 static PassOwnPtr<T> parse(PassRefPtr<JSONValue> value, ErrorSupport* errors
) | 134 static PassOwnPtr<T> parse(PassRefPtr<protocol::Value> value, ErrorSupport*
errors) |
| 135 { | 135 { |
| 136 return T::parse(value, errors); | 136 return T::parse(value, errors); |
| 137 } | 137 } |
| 138 }; | 138 }; |
| 139 | 139 |
| 140 template<> | 140 template<> |
| 141 struct FromValue<bool> | 141 struct FromValue<bool> |
| 142 { | 142 { |
| 143 static bool parse(PassRefPtr<JSONValue> value, ErrorSupport* errors) | 143 static bool parse(PassRefPtr<protocol::Value> value, ErrorSupport* errors) |
| 144 { | 144 { |
| 145 bool result = false; | 145 bool result = false; |
| 146 bool success = value ? value->asBoolean(&result) : false; | 146 bool success = value ? value->asBoolean(&result) : false; |
| 147 if (!success) | 147 if (!success) |
| 148 errors->addError("boolean value expected"); | 148 errors->addError("boolean value expected"); |
| 149 return result; | 149 return result; |
| 150 } | 150 } |
| 151 }; | 151 }; |
| 152 | 152 |
| 153 template<> | 153 template<> |
| 154 struct FromValue<int> | 154 struct FromValue<int> |
| 155 { | 155 { |
| 156 static int parse(PassRefPtr<JSONValue> value, ErrorSupport* errors) | 156 static int parse(PassRefPtr<protocol::Value> value, ErrorSupport* errors) |
| 157 { | 157 { |
| 158 int result = 0; | 158 int result = 0; |
| 159 bool success = value ? value->asNumber(&result) : false; | 159 bool success = value ? value->asNumber(&result) : false; |
| 160 if (!success) | 160 if (!success) |
| 161 errors->addError("integer value expected"); | 161 errors->addError("integer value expected"); |
| 162 return result; | 162 return result; |
| 163 } | 163 } |
| 164 }; | 164 }; |
| 165 | 165 |
| 166 template<> | 166 template<> |
| 167 struct FromValue<double> | 167 struct FromValue<double> |
| 168 { | 168 { |
| 169 static double parse(PassRefPtr<JSONValue> value, ErrorSupport* errors) | 169 static double parse(PassRefPtr<protocol::Value> value, ErrorSupport* errors) |
| 170 { | 170 { |
| 171 double result = 0; | 171 double result = 0; |
| 172 bool success = value ? value->asNumber(&result) : false; | 172 bool success = value ? value->asNumber(&result) : false; |
| 173 if (!success) | 173 if (!success) |
| 174 errors->addError("double value expected"); | 174 errors->addError("double value expected"); |
| 175 return result; | 175 return result; |
| 176 } | 176 } |
| 177 }; | 177 }; |
| 178 | 178 |
| 179 template<> | 179 template<> |
| 180 struct FromValue<String> | 180 struct FromValue<String> |
| 181 { | 181 { |
| 182 static String parse(PassRefPtr<JSONValue> value, ErrorSupport* errors) | 182 static String parse(PassRefPtr<protocol::Value> value, ErrorSupport* errors) |
| 183 { | 183 { |
| 184 String result; | 184 String result; |
| 185 bool success = value ? value->asString(&result) : false; | 185 bool success = value ? value->asString(&result) : false; |
| 186 if (!success) | 186 if (!success) |
| 187 errors->addError("string value expected"); | 187 errors->addError("string value expected"); |
| 188 return result; | 188 return result; |
| 189 } | 189 } |
| 190 }; | 190 }; |
| 191 | 191 |
| 192 template<typename T> | 192 template<typename T> |
| 193 struct FromValue<RefPtr<T>> | 193 struct FromValue<RefPtr<T>> |
| 194 { | 194 { |
| 195 static PassRefPtr<T> parse(PassRefPtr<JSONValue> value, ErrorSupport* errors
) | 195 static PassRefPtr<T> parse(PassRefPtr<protocol::Value> value, ErrorSupport*
errors) |
| 196 { | 196 { |
| 197 if (!value) | 197 if (!value) |
| 198 errors->addError("value expected"); | 198 errors->addError("value expected"); |
| 199 return value; | 199 return value; |
| 200 } | 200 } |
| 201 }; | 201 }; |
| 202 | 202 |
| 203 template<> | 203 template<> |
| 204 struct FromValue<RefPtr<JSONObject>> | 204 struct FromValue<RefPtr<protocol::DictionaryValue>> |
| 205 { | 205 { |
| 206 static PassRefPtr<JSONObject> parse(PassRefPtr<JSONValue> value, ErrorSuppor
t* errors) | 206 static PassRefPtr<protocol::DictionaryValue> parse(PassRefPtr<protocol::Valu
e> value, ErrorSupport* errors) |
| 207 { | 207 { |
| 208 if (value && value->type() == JSONValue::TypeObject) | 208 if (value && value->type() == protocol::Value::TypeObject) |
| 209 return JSONObject::cast(value); | 209 return DictionaryValue::cast(value); |
| 210 errors->addError("object expected"); | 210 errors->addError("object expected"); |
| 211 return nullptr; | 211 return nullptr; |
| 212 } | 212 } |
| 213 }; | 213 }; |
| 214 | 214 |
| 215 template<typename T> | 215 template<typename T> |
| 216 struct FromValue<protocol::Array<T>> | 216 struct FromValue<protocol::Array<T>> |
| 217 { | 217 { |
| 218 static PassOwnPtr<protocol::Array<T>> parse(PassRefPtr<JSONValue> value, Err
orSupport* errors) | 218 static PassOwnPtr<protocol::Array<T>> parse(PassRefPtr<protocol::Value> valu
e, ErrorSupport* errors) |
| 219 { | 219 { |
| 220 return protocol::Array<T>::parse(value, errors); | 220 return protocol::Array<T>::parse(value, errors); |
| 221 } | 221 } |
| 222 }; | 222 }; |
| 223 | 223 |
| 224 template<typename T> | 224 template<typename T> |
| 225 class ArrayBase { | 225 class ArrayBase { |
| 226 public: | 226 public: |
| 227 static PassOwnPtr<Array<T>> create() | 227 static PassOwnPtr<Array<T>> create() |
| 228 { | 228 { |
| 229 return adoptPtr(new Array<T>()); | 229 return adoptPtr(new Array<T>()); |
| 230 } | 230 } |
| 231 | 231 |
| 232 static PassOwnPtr<Array<T>> parse(PassRefPtr<JSONValue> value, ErrorSupport*
errors) | 232 static PassOwnPtr<Array<T>> parse(PassRefPtr<protocol::Value> value, ErrorSu
pport* errors) |
| 233 { | 233 { |
| 234 RefPtr<JSONArray> array = JSONArray::cast(value); | 234 RefPtr<protocol::ListValue> array = ListValue::cast(value); |
| 235 if (!array) { | 235 if (!array) { |
| 236 errors->addError("array expected"); | 236 errors->addError("array expected"); |
| 237 return nullptr; | 237 return nullptr; |
| 238 } | 238 } |
| 239 errors->push(); | 239 errors->push(); |
| 240 OwnPtr<Array<T>> result = adoptPtr(new Array<T>()); | 240 OwnPtr<Array<T>> result = adoptPtr(new Array<T>()); |
| 241 for (size_t i = 0; i < array->length(); ++i) { | 241 for (size_t i = 0; i < array->length(); ++i) { |
| 242 errors->setName("[" + String::number(i) + "]"); | 242 errors->setName("[" + String::number(i) + "]"); |
| 243 T item = FromValue<T>::parse(array->get(i), errors); | 243 T item = FromValue<T>::parse(array->get(i), errors); |
| 244 result->m_vector.append(item); | 244 result->m_vector.append(item); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 257 size_t length() | 257 size_t length() |
| 258 { | 258 { |
| 259 return m_vector.size(); | 259 return m_vector.size(); |
| 260 } | 260 } |
| 261 | 261 |
| 262 T get(size_t index) | 262 T get(size_t index) |
| 263 { | 263 { |
| 264 return m_vector[index]; | 264 return m_vector[index]; |
| 265 } | 265 } |
| 266 | 266 |
| 267 PassRefPtr<JSONArray> serialize() | 267 PassRefPtr<protocol::ListValue> serialize() |
| 268 { | 268 { |
| 269 RefPtr<JSONArray> result = JSONArray::create(); | 269 RefPtr<protocol::ListValue> result = ListValue::create(); |
| 270 for (auto& item : m_vector) | 270 for (auto& item : m_vector) |
| 271 result->pushValue(toValue(item)); | 271 result->pushValue(toValue(item)); |
| 272 return result.release(); | 272 return result.release(); |
| 273 } | 273 } |
| 274 | 274 |
| 275 private: | 275 private: |
| 276 Vector<T> m_vector; | 276 Vector<T> m_vector; |
| 277 }; | 277 }; |
| 278 | 278 |
| 279 template<> class Array<String> : public ArrayBase<String> {}; | 279 template<> class Array<String> : public ArrayBase<String> {}; |
| 280 template<> class Array<int> : public ArrayBase<int> {}; | 280 template<> class Array<int> : public ArrayBase<int> {}; |
| 281 template<> class Array<double> : public ArrayBase<double> {}; | 281 template<> class Array<double> : public ArrayBase<double> {}; |
| 282 template<> class Array<bool> : public ArrayBase<bool> {}; | 282 template<> class Array<bool> : public ArrayBase<bool> {}; |
| 283 template<typename T> class Array<RefPtr<T>> : public ArrayBase<RefPtr<T>> {}; | 283 template<typename T> class Array<RefPtr<T>> : public ArrayBase<RefPtr<T>> {}; |
| 284 | 284 |
| 285 template<typename T> | 285 template<typename T> |
| 286 class Array { | 286 class Array { |
| 287 public: | 287 public: |
| 288 static PassOwnPtr<Array<T>> create() | 288 static PassOwnPtr<Array<T>> create() |
| 289 { | 289 { |
| 290 return adoptPtr(new Array<T>()); | 290 return adoptPtr(new Array<T>()); |
| 291 } | 291 } |
| 292 | 292 |
| 293 static PassOwnPtr<Array<T>> parse(PassRefPtr<JSONValue> value, ErrorSupport*
errors) | 293 static PassOwnPtr<Array<T>> parse(PassRefPtr<protocol::Value> value, ErrorSu
pport* errors) |
| 294 { | 294 { |
| 295 RefPtr<JSONArray> array = JSONArray::cast(value); | 295 RefPtr<protocol::ListValue> array = ListValue::cast(value); |
| 296 if (!array) { | 296 if (!array) { |
| 297 errors->addError("array expected"); | 297 errors->addError("array expected"); |
| 298 return nullptr; | 298 return nullptr; |
| 299 } | 299 } |
| 300 OwnPtr<Array<T>> result = adoptPtr(new Array<T>()); | 300 OwnPtr<Array<T>> result = adoptPtr(new Array<T>()); |
| 301 errors->push(); | 301 errors->push(); |
| 302 for (size_t i = 0; i < array->length(); ++i) { | 302 for (size_t i = 0; i < array->length(); ++i) { |
| 303 errors->setName("[" + String::number(i) + "]"); | 303 errors->setName("[" + String::number(i) + "]"); |
| 304 OwnPtr<T> item = FromValue<T>::parse(array->get(i), errors); | 304 OwnPtr<T> item = FromValue<T>::parse(array->get(i), errors); |
| 305 result->m_vector.append(item.release()); | 305 result->m_vector.append(item.release()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 316 size_t length() | 316 size_t length() |
| 317 { | 317 { |
| 318 return m_vector.size(); | 318 return m_vector.size(); |
| 319 } | 319 } |
| 320 | 320 |
| 321 T* get(size_t index) | 321 T* get(size_t index) |
| 322 { | 322 { |
| 323 return m_vector[index].get(); | 323 return m_vector[index].get(); |
| 324 } | 324 } |
| 325 | 325 |
| 326 PassRefPtr<JSONArray> serialize() | 326 PassRefPtr<protocol::ListValue> serialize() |
| 327 { | 327 { |
| 328 RefPtr<JSONArray> result = JSONArray::create(); | 328 RefPtr<protocol::ListValue> result = ListValue::create(); |
| 329 for (auto& item : m_vector) | 329 for (auto& item : m_vector) |
| 330 result->pushValue(toValue(item)); | 330 result->pushValue(toValue(item)); |
| 331 return result.release(); | 331 return result.release(); |
| 332 } | 332 } |
| 333 | 333 |
| 334 private: | 334 private: |
| 335 Vector<OwnPtr<T>> m_vector; | 335 Vector<OwnPtr<T>> m_vector; |
| 336 }; | 336 }; |
| 337 | 337 |
| 338 class PLATFORM_EXPORT Object { | 338 class PLATFORM_EXPORT Object { |
| 339 public: | 339 public: |
| 340 static PassOwnPtr<Object> parse(PassRefPtr<JSONValue> value, ErrorSupport* e
rrors); | 340 static PassOwnPtr<Object> parse(PassRefPtr<protocol::Value> value, ErrorSupp
ort* errors); |
| 341 ~Object(); | 341 ~Object(); |
| 342 | 342 |
| 343 PassRefPtr<JSONObject> serialize() const; | 343 PassRefPtr<protocol::DictionaryValue> serialize() const; |
| 344 PassOwnPtr<Object> clone() const; | 344 PassOwnPtr<Object> clone() const; |
| 345 private: | 345 private: |
| 346 Object(PassRefPtr<JSONObject> object); | 346 Object(PassRefPtr<protocol::DictionaryValue> object); |
| 347 RefPtr<JSONObject> m_object; | 347 RefPtr<protocol::DictionaryValue> m_object; |
| 348 }; | 348 }; |
| 349 | 349 |
| 350 {% for domain in api.domains %} | 350 {% for domain in api.domains %} |
| 351 | 351 |
| 352 // ------------- Forward declarations and typedefs. | 352 // ------------- Forward declarations and typedefs. |
| 353 | 353 |
| 354 namespace {{domain.domain}} { | 354 namespace {{domain.domain}} { |
| 355 {% for type in domain.types %} | 355 {% for type in domain.types %} |
| 356 {% if type.type == "object" %} | 356 {% if type.type == "object" %} |
| 357 {% if "properties" in type %} | 357 {% if "properties" in type %} |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 {% for domain in api.domains %} | 409 {% for domain in api.domains %} |
| 410 | 410 |
| 411 namespace {{domain.domain}} { | 411 namespace {{domain.domain}} { |
| 412 {% for type in domain.types %} | 412 {% for type in domain.types %} |
| 413 {% if not (type.type == "object") or not ("properties" in type) %}{% continu
e %}{% endif %} | 413 {% if not (type.type == "object") or not ("properties" in type) %}{% continu
e %}{% endif %} |
| 414 {% set type_def = type_definition(domain.domain + "." + type.id)%} | 414 {% set type_def = type_definition(domain.domain + "." + type.id)%} |
| 415 | 415 |
| 416 // {{type.description}} | 416 // {{type.description}} |
| 417 class PLATFORM_EXPORT {{type.id}} { | 417 class PLATFORM_EXPORT {{type.id}} { |
| 418 public: | 418 public: |
| 419 static PassOwnPtr<{{type.id}}> parse(PassRefPtr<JSONValue> value, ErrorSuppo
rt* errors); | 419 static PassOwnPtr<{{type.id}}> parse(PassRefPtr<protocol::Value> value, Erro
rSupport* errors); |
| 420 | 420 |
| 421 ~{{type.id}}() { } | 421 ~{{type.id}}() { } |
| 422 {% for property in type.properties %} | 422 {% for property in type.properties %} |
| 423 {% if "enum" in property %} | 423 {% if "enum" in property %} |
| 424 | 424 |
| 425 struct PLATFORM_EXPORT {{property.name | to_title_case}}Enum { | 425 struct PLATFORM_EXPORT {{property.name | to_title_case}}Enum { |
| 426 {% for literal in property.enum %} | 426 {% for literal in property.enum %} |
| 427 static const char* {{ literal | dash_to_camelcase}}; | 427 static const char* {{ literal | dash_to_camelcase}}; |
| 428 {% endfor %} | 428 {% endfor %} |
| 429 }; // {{property.name | to_title_case}}Enum | 429 }; // {{property.name | to_title_case}}Enum |
| 430 {% endif %} | 430 {% endif %} |
| 431 | 431 |
| 432 {% if property.optional %} | 432 {% if property.optional %} |
| 433 bool has{{property.name | to_title_case}}() { return m_{{property.name}}.isJ
ust(); } | 433 bool has{{property.name | to_title_case}}() { return m_{{property.name}}.isJ
ust(); } |
| 434 {{resolve_type(property).raw_return_type}} get{{property.name | to_title_cas
e}}({{resolve_type(property).raw_pass_type}} defaultValue) { return m_{{property
.name}}.isJust() ? m_{{property.name}}.fromJust() : defaultValue; } | 434 {{resolve_type(property).raw_return_type}} get{{property.name | to_title_cas
e}}({{resolve_type(property).raw_pass_type}} defaultValue) { return m_{{property
.name}}.isJust() ? m_{{property.name}}.fromJust() : defaultValue; } |
| 435 {% else %} | 435 {% else %} |
| 436 {{resolve_type(property).raw_return_type}} get{{property.name | to_title_cas
e}}() { return {{resolve_type(property).to_raw_type % ("m_" + property.name)}};
} | 436 {{resolve_type(property).raw_return_type}} get{{property.name | to_title_cas
e}}() { return {{resolve_type(property).to_raw_type % ("m_" + property.name)}};
} |
| 437 {% endif %} | 437 {% endif %} |
| 438 void set{{property.name | to_title_case}}({{resolve_type(property).pass_type
}} value) { m_{{property.name}} = value; } | 438 void set{{property.name | to_title_case}}({{resolve_type(property).pass_type
}} value) { m_{{property.name}} = value; } |
| 439 {% endfor %} | 439 {% endfor %} |
| 440 | 440 |
| 441 PassRefPtr<JSONObject> serialize() const; | 441 PassRefPtr<protocol::DictionaryValue> serialize() const; |
| 442 PassOwnPtr<{{type.id}}> clone() const; | 442 PassOwnPtr<{{type.id}}> clone() const; |
| 443 | 443 |
| 444 template<int STATE> | 444 template<int STATE> |
| 445 class {{type.id}}Builder { | 445 class {{type.id}}Builder { |
| 446 public: | 446 public: |
| 447 enum { | 447 enum { |
| 448 NoFieldsSet = 0, | 448 NoFieldsSet = 0, |
| 449 {% set count = 0 %} | 449 {% set count = 0 %} |
| 450 {% for property in type.properties %} | 450 {% for property in type.properties %} |
| 451 {% if not(property.optional) %} | 451 {% if not(property.optional) %} |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 | 513 |
| 514 {% endfor %} | 514 {% endfor %} |
| 515 | 515 |
| 516 } // {{domain.domain}} | 516 } // {{domain.domain}} |
| 517 {% endfor %} | 517 {% endfor %} |
| 518 | 518 |
| 519 } // namespace protocol | 519 } // namespace protocol |
| 520 } // namespace blink | 520 } // namespace blink |
| 521 | 521 |
| 522 #endif // !defined({{class_name}}_h) | 522 #endif // !defined({{class_name}}_h) |
| OLD | NEW |