| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 BIN_DARTUTILS_H_ | 5 #ifndef BIN_DARTUTILS_H_ |
| 6 #define BIN_DARTUTILS_H_ | 6 #define BIN_DARTUTILS_H_ |
| 7 | 7 |
| 8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
| 9 #include "include/dart_native_api.h" | 9 #include "include/dart_native_api.h" |
| 10 | 10 |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 | 264 |
| 265 static CObject* Null(); | 265 static CObject* Null(); |
| 266 static CObject* True(); | 266 static CObject* True(); |
| 267 static CObject* False(); | 267 static CObject* False(); |
| 268 static CObject* Bool(bool value); | 268 static CObject* Bool(bool value); |
| 269 static Dart_CObject* NewInt32(int32_t value); | 269 static Dart_CObject* NewInt32(int32_t value); |
| 270 static Dart_CObject* NewInt64(int64_t value); | 270 static Dart_CObject* NewInt64(int64_t value); |
| 271 static Dart_CObject* NewIntptr(intptr_t value); | 271 static Dart_CObject* NewIntptr(intptr_t value); |
| 272 // TODO(sgjesse): Add support for kBigint. | 272 // TODO(sgjesse): Add support for kBigint. |
| 273 static Dart_CObject* NewDouble(double value); | 273 static Dart_CObject* NewDouble(double value); |
| 274 static Dart_CObject* NewString(int length); | 274 static Dart_CObject* NewString(intptr_t length); |
| 275 static Dart_CObject* NewString(const char* str); | 275 static Dart_CObject* NewString(const char* str); |
| 276 static Dart_CObject* NewArray(int length); | 276 static Dart_CObject* NewArray(intptr_t length); |
| 277 static Dart_CObject* NewUint8Array(int length); | 277 static Dart_CObject* NewUint8Array(intptr_t length); |
| 278 static Dart_CObject* NewExternalUint8Array( | 278 static Dart_CObject* NewExternalUint8Array( |
| 279 int64_t length, uint8_t* data, void* peer, | 279 intptr_t length, uint8_t* data, void* peer, |
| 280 Dart_WeakPersistentHandleFinalizer callback); | 280 Dart_WeakPersistentHandleFinalizer callback); |
| 281 static Dart_CObject* NewIOBuffer(int64_t length); | 281 static Dart_CObject* NewIOBuffer(intptr_t length); |
| 282 static void FreeIOBufferData(Dart_CObject* object); | 282 static void FreeIOBufferData(Dart_CObject* object); |
| 283 | 283 |
| 284 Dart_CObject* AsApiCObject() { return cobject_; } | 284 Dart_CObject* AsApiCObject() { return cobject_; } |
| 285 | 285 |
| 286 // Create a new CObject array with an illegal arguments error. | 286 // Create a new CObject array with an illegal arguments error. |
| 287 static CObject* IllegalArgumentError(); | 287 static CObject* IllegalArgumentError(); |
| 288 // Create a new CObject array with a file closed error. | 288 // Create a new CObject array with a file closed error. |
| 289 static CObject* FileClosedError(); | 289 static CObject* FileClosedError(); |
| 290 // Create a new CObject array with the current OS error. | 290 // Create a new CObject array with the current OS error. |
| 291 static CObject* NewOSError(); | 291 static CObject* NewOSError(); |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 | 445 |
| 446 private: | 446 private: |
| 447 DISALLOW_COPY_AND_ASSIGN(CObjectString); | 447 DISALLOW_COPY_AND_ASSIGN(CObjectString); |
| 448 }; | 448 }; |
| 449 | 449 |
| 450 | 450 |
| 451 class CObjectArray : public CObject { | 451 class CObjectArray : public CObject { |
| 452 public: | 452 public: |
| 453 DECLARE_COBJECT_CONSTRUCTORS(Array) | 453 DECLARE_COBJECT_CONSTRUCTORS(Array) |
| 454 | 454 |
| 455 int Length() const { return cobject_->value.as_array.length; } | 455 intptr_t Length() const { return cobject_->value.as_array.length; } |
| 456 CObject* operator[](int index) const { | 456 CObject* operator[](intptr_t index) const { |
| 457 return new CObject(cobject_->value.as_array.values[index]); | 457 return new CObject(cobject_->value.as_array.values[index]); |
| 458 } | 458 } |
| 459 void SetAt(int index, CObject* value) { | 459 void SetAt(intptr_t index, CObject* value) { |
| 460 cobject_->value.as_array.values[index] = value->AsApiCObject(); | 460 cobject_->value.as_array.values[index] = value->AsApiCObject(); |
| 461 } | 461 } |
| 462 | 462 |
| 463 private: | 463 private: |
| 464 DISALLOW_COPY_AND_ASSIGN(CObjectArray); | 464 DISALLOW_COPY_AND_ASSIGN(CObjectArray); |
| 465 }; | 465 }; |
| 466 | 466 |
| 467 | 467 |
| 468 class CObjectTypedData : public CObject { | 468 class CObjectTypedData : public CObject { |
| 469 public: | 469 public: |
| 470 explicit CObjectTypedData(Dart_CObject *cobject) : CObject(cobject) { | 470 explicit CObjectTypedData(Dart_CObject *cobject) : CObject(cobject) { |
| 471 ASSERT(type() == Dart_CObject_kTypedData); | 471 ASSERT(type() == Dart_CObject_kTypedData); |
| 472 cobject_ = cobject; | 472 cobject_ = cobject; |
| 473 } | 473 } |
| 474 explicit CObjectTypedData(CObject* cobject) : CObject() { | 474 explicit CObjectTypedData(CObject* cobject) : CObject() { |
| 475 ASSERT(cobject != NULL); | 475 ASSERT(cobject != NULL); |
| 476 ASSERT(cobject->type() == Dart_CObject_kTypedData); | 476 ASSERT(cobject->type() == Dart_CObject_kTypedData); |
| 477 cobject_ = cobject->AsApiCObject(); | 477 cobject_ = cobject->AsApiCObject(); |
| 478 } | 478 } |
| 479 | 479 |
| 480 Dart_TypedData_Type Type() const { | 480 Dart_TypedData_Type Type() const { |
| 481 return cobject_->value.as_typed_data.type; | 481 return cobject_->value.as_typed_data.type; |
| 482 } | 482 } |
| 483 int Length() const { return cobject_->value.as_typed_data.length; } | 483 intptr_t Length() const { return cobject_->value.as_typed_data.length; } |
| 484 uint8_t* Buffer() const { return cobject_->value.as_typed_data.values; } | 484 uint8_t* Buffer() const { return cobject_->value.as_typed_data.values; } |
| 485 | 485 |
| 486 private: | 486 private: |
| 487 DISALLOW_COPY_AND_ASSIGN(CObjectTypedData); | 487 DISALLOW_COPY_AND_ASSIGN(CObjectTypedData); |
| 488 }; | 488 }; |
| 489 | 489 |
| 490 | 490 |
| 491 class CObjectUint8Array : public CObject { | 491 class CObjectUint8Array : public CObject { |
| 492 public: | 492 public: |
| 493 DECLARE_COBJECT_TYPED_DATA_CONSTRUCTORS(Uint8) | 493 DECLARE_COBJECT_TYPED_DATA_CONSTRUCTORS(Uint8) |
| 494 | 494 |
| 495 int Length() const { return cobject_->value.as_typed_data.length; } | 495 intptr_t Length() const { return cobject_->value.as_typed_data.length; } |
| 496 uint8_t* Buffer() const { return cobject_->value.as_typed_data.values; } | 496 uint8_t* Buffer() const { return cobject_->value.as_typed_data.values; } |
| 497 | 497 |
| 498 private: | 498 private: |
| 499 DISALLOW_COPY_AND_ASSIGN(CObjectUint8Array); | 499 DISALLOW_COPY_AND_ASSIGN(CObjectUint8Array); |
| 500 }; | 500 }; |
| 501 | 501 |
| 502 | 502 |
| 503 class CObjectExternalUint8Array : public CObject { | 503 class CObjectExternalUint8Array : public CObject { |
| 504 public: | 504 public: |
| 505 DECLARE_COBJECT_EXTERNAL_TYPED_DATA_CONSTRUCTORS(Uint8) | 505 DECLARE_COBJECT_EXTERNAL_TYPED_DATA_CONSTRUCTORS(Uint8) |
| 506 | 506 |
| 507 int Length() const { return cobject_->value.as_external_typed_data.length; } | 507 intptr_t Length() const { |
| 508 void SetLength(uint64_t length) { | 508 return cobject_->value.as_external_typed_data.length; |
| 509 } |
| 510 void SetLength(intptr_t length) { |
| 509 cobject_->value.as_external_typed_data.length = length; | 511 cobject_->value.as_external_typed_data.length = length; |
| 510 } | 512 } |
| 511 uint8_t* Data() const { return cobject_->value.as_external_typed_data.data; } | 513 uint8_t* Data() const { return cobject_->value.as_external_typed_data.data; } |
| 512 void* Peer() const { return cobject_->value.as_external_typed_data.peer; } | 514 void* Peer() const { return cobject_->value.as_external_typed_data.peer; } |
| 513 Dart_WeakPersistentHandleFinalizer Callback() const { | 515 Dart_WeakPersistentHandleFinalizer Callback() const { |
| 514 return cobject_->value.as_external_typed_data.callback; | 516 return cobject_->value.as_external_typed_data.callback; |
| 515 } | 517 } |
| 516 | 518 |
| 517 private: | 519 private: |
| 518 DISALLOW_COPY_AND_ASSIGN(CObjectExternalUint8Array); | 520 DISALLOW_COPY_AND_ASSIGN(CObjectExternalUint8Array); |
| 519 }; | 521 }; |
| 520 | 522 |
| 521 } // namespace bin | 523 } // namespace bin |
| 522 } // namespace dart | 524 } // namespace dart |
| 523 | 525 |
| 524 #endif // BIN_DARTUTILS_H_ | 526 #endif // BIN_DARTUTILS_H_ |
| OLD | NEW |