Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_JSON_STREAM_H_ | 5 #ifndef VM_JSON_STREAM_H_ |
| 6 #define VM_JSON_STREAM_H_ | 6 #define VM_JSON_STREAM_H_ |
| 7 | 7 |
| 8 #include "include/dart_api.h" // for Dart_Port | 8 #include "include/dart_api.h" // for Dart_Port |
| 9 #include "platform/json.h" | 9 #include "platform/json.h" |
| 10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 50 }; | 50 }; |
| 51 | 51 |
| 52 | 52 |
| 53 class JSONStream : ValueObject { | 53 class JSONStream : ValueObject { |
| 54 public: | 54 public: |
| 55 explicit JSONStream(intptr_t buf_size = 256); | 55 explicit JSONStream(intptr_t buf_size = 256); |
| 56 ~JSONStream(); | 56 ~JSONStream(); |
| 57 | 57 |
| 58 void Setup(Zone* zone, | 58 void Setup(Zone* zone, |
| 59 Dart_Port reply_port, | 59 Dart_Port reply_port, |
| 60 const String& seq, | 60 const Instance& seq, |
| 61 const String& method, | 61 const String& method, |
| 62 const Array& param_keys, | 62 const Array& param_keys, |
| 63 const Array& param_values); | 63 const Array& param_values); |
| 64 void SetupError(); | 64 void SetupError(); |
| 65 | 65 |
| 66 void PrintError(intptr_t code, const char* details_format, ...); | 66 void PrintError(intptr_t code, const char* details_format, ...); |
| 67 | 67 |
| 68 void PostReply(); | 68 void PostReply(); |
| 69 | 69 |
| 70 void set_id_zone(ServiceIdZone* id_zone) { | 70 void set_id_zone(ServiceIdZone* id_zone) { |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 93 } | 93 } |
| 94 | 94 |
| 95 const char* LookupParam(const char* key) const; | 95 const char* LookupParam(const char* key) const; |
| 96 | 96 |
| 97 bool HasParam(const char* key) const; | 97 bool HasParam(const char* key) const; |
| 98 | 98 |
| 99 // Returns true if there is an param with key and value, false | 99 // Returns true if there is an param with key and value, false |
| 100 // otherwise. | 100 // otherwise. |
| 101 bool ParamIs(const char* key, const char* value) const; | 101 bool ParamIs(const char* key, const char* value) const; |
| 102 | 102 |
| 103 const char* seq() const { return seq_; } | 103 RawInstance* seq() const { return seq_; } |
| 104 const char* method() const { return method_; } | 104 const char* method() const { return method_; } |
| 105 const char** param_keys() const { return param_keys_; } | 105 const char** param_keys() const { return param_keys_; } |
| 106 const char** param_values() const { return param_values_; } | 106 const char** param_values() const { return param_values_; } |
| 107 | 107 |
| 108 private: | 108 private: |
| 109 void Clear(); | 109 void Clear(); |
| 110 | 110 |
| 111 void OpenObject(const char* property_name = NULL); | 111 void OpenObject(const char* property_name = NULL); |
| 112 void CloseObject(); | 112 void CloseObject(); |
| 113 | 113 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 164 void AddEscapedUTF8String(const char* s, intptr_t len); | 164 void AddEscapedUTF8String(const char* s, intptr_t len); |
| 165 | 165 |
| 166 intptr_t nesting_level() const { return open_objects_; } | 166 intptr_t nesting_level() const { return open_objects_; } |
| 167 | 167 |
| 168 intptr_t open_objects_; | 168 intptr_t open_objects_; |
| 169 TextBuffer buffer_; | 169 TextBuffer buffer_; |
| 170 // Default service id zone. | 170 // Default service id zone. |
| 171 RingServiceIdZone default_id_zone_; | 171 RingServiceIdZone default_id_zone_; |
| 172 ServiceIdZone* id_zone_; | 172 ServiceIdZone* id_zone_; |
| 173 Dart_Port reply_port_; | 173 Dart_Port reply_port_; |
| 174 const char* seq_; | 174 RawInstance* seq_; |
|
Cutch
2015/07/27 14:00:51
You need to store seq_ as an Instance&.
nweiz
2015/07/27 18:16:02
I'm pretty out of my depth here. If I do this, it
| |
| 175 const char* method_; | 175 const char* method_; |
| 176 const char** param_keys_; | 176 const char** param_keys_; |
| 177 const char** param_values_; | 177 const char** param_values_; |
| 178 intptr_t num_params_; | 178 intptr_t num_params_; |
| 179 int64_t setup_time_micros_; | 179 int64_t setup_time_micros_; |
| 180 | 180 |
| 181 friend class JSONObject; | 181 friend class JSONObject; |
| 182 friend class JSONArray; | 182 friend class JSONArray; |
| 183 }; | 183 }; |
| 184 | 184 |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 323 | 323 |
| 324 friend class JSONObject; | 324 friend class JSONObject; |
| 325 | 325 |
| 326 DISALLOW_ALLOCATION(); | 326 DISALLOW_ALLOCATION(); |
| 327 DISALLOW_COPY_AND_ASSIGN(JSONArray); | 327 DISALLOW_COPY_AND_ASSIGN(JSONArray); |
| 328 }; | 328 }; |
| 329 | 329 |
| 330 } // namespace dart | 330 } // namespace dart |
| 331 | 331 |
| 332 #endif // VM_JSON_STREAM_H_ | 332 #endif // VM_JSON_STREAM_H_ |
| OLD | NEW |