summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/ecmascript/TypedArray.cpp
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-06 16:04:18 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-06 16:04:18 (GMT)
commit9cc762d85afffea42de3e1d156a6b8838d88a00c (patch)
treebff170c0493759c7f1bffca2648960b6f43ca139 /src/uscxml/plugins/datamodel/ecmascript/TypedArray.cpp
parentbe98a8297b4e10e169290f497e649e803e43d791 (diff)
downloaduscxml-9cc762d85afffea42de3e1d156a6b8838d88a00c.zip
uscxml-9cc762d85afffea42de3e1d156a6b8838d88a00c.tar.gz
uscxml-9cc762d85afffea42de3e1d156a6b8838d88a00c.tar.bz2
Made Blob into Pimpl to better support language bindings
Diffstat (limited to 'src/uscxml/plugins/datamodel/ecmascript/TypedArray.cpp')
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/TypedArray.cpp48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/uscxml/plugins/datamodel/ecmascript/TypedArray.cpp b/src/uscxml/plugins/datamodel/ecmascript/TypedArray.cpp
index 5b34181..913d2ce 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/TypedArray.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/TypedArray.cpp
@@ -23,51 +23,51 @@
#define DATAVIEW_TYPED_GET(type) \
type retVal;\
-if (index + _start + sizeof(type) > _buffer->size)\
+if (index + _start + sizeof(type) > _blob._impl->size)\
return 0;\
-memcpy(&retVal, _buffer->data + (_start + index), sizeof(type));
+memcpy(&retVal, _blob._impl->data + (_start + index), sizeof(type));
#define DATAVIEW_TYPED_SET(type) \
-if (index + _start + sizeof(type) > _buffer->size)\
+if (index + _start + sizeof(type) > _blob._impl->size)\
return;\
-memcpy(_buffer->data + (_start + index), &value, sizeof(type));
+memcpy(_blob._impl->data + (_start + index), &value, sizeof(type));
namespace uscxml {
ArrayBuffer::ArrayBuffer(unsigned long length) {
- _buffer = boost::shared_ptr<Blob>(new Blob(length));
+ _blob = Blob(length);
}
-ArrayBuffer::ArrayBuffer(boost::shared_ptr<Blob> buffer) : _buffer(buffer) {
+ArrayBuffer::ArrayBuffer(const Blob& blob) : _blob(blob) {
}
ArrayBuffer::ArrayBuffer(void* data, unsigned int size) {
- _buffer = boost::shared_ptr<Blob>(new Blob((const char*)data, size, "application/octet-stream"));
+ _blob = Blob((const char*)data, size, "application/octet-stream");
}
unsigned long ArrayBuffer::getByteLength() {
- if (!_buffer)
+ if (!_blob)
return 0;
- return _buffer->size;
+ return _blob._impl->size;
}
ArrayBuffer ArrayBuffer::slice(long begin, long end) {
- if (!_buffer) {
+ if (!_blob) {
return ArrayBuffer(0);
}
- unsigned int realBegin = (begin + _buffer->size) % _buffer->size;
- unsigned int realEnd = (end + _buffer->size) % _buffer->size;
+ unsigned int realBegin = (begin + _blob._impl->size) % _blob._impl->size;
+ unsigned int realEnd = (end + _blob._impl->size) % _blob._impl->size;
if (realEnd < realBegin) {
return ArrayBuffer(0);
}
ArrayBuffer arrBuffer(realEnd - realBegin);
- memcpy(arrBuffer._buffer->data, _buffer->data + realBegin, realEnd - realBegin);
+ memcpy(arrBuffer._blob._impl->data, _blob._impl->data + realBegin, realEnd - realBegin);
return arrBuffer;
}
ArrayBuffer ArrayBuffer::slice(long begin) {
- return slice(begin, _buffer->size);
+ return slice(begin, _blob._impl->size);
}
bool ArrayBuffer::isView(void*) {
@@ -75,35 +75,35 @@ bool ArrayBuffer::isView(void*) {
}
ArrayBuffer::operator bool() {
- return _buffer;
+ return _blob;
}
ArrayBuffer ArrayBufferView::getBuffer() {
- return ArrayBuffer(_buffer);
+ return ArrayBuffer(_blob);
}
DataView::DataView(ArrayBuffer* buffer, unsigned long byteOffset, unsigned long byteLength) {
_start = byteOffset;
- if (_start > buffer->_buffer->size)
+ if (_start > buffer->_blob._impl->size)
return;
_end = _start + byteLength;
- if (_end > buffer->_buffer->size)
+ if (_end > buffer->_blob._impl->size)
return;
- _buffer = buffer->_buffer;
+ _blob = buffer->_blob;
}
DataView::DataView(ArrayBuffer* buffer , unsigned long byteOffset) {
_start = byteOffset;
- _end = buffer->_buffer->size;
- if (_start > buffer->_buffer->size)
+ _end = buffer->_blob._impl->size;
+ if (_start > buffer->_blob._impl->size)
return;
- _buffer = buffer->_buffer;
+ _blob = buffer->_blob;
}
DataView::DataView(ArrayBuffer* buffer) {
_start = 0;
- _end = (buffer->_buffer->size);
- _buffer = buffer->_buffer;
+ _end = (buffer->_blob._impl->size);
+ _blob = buffer->_blob;
}
unsigned long DataView::getByteOffset() {