diff --git a/node-eclib.js b/node-eclib.js index c0ab34e..d9cbee2 100644 --- a/node-eclib.js +++ b/node-eclib.js @@ -226,7 +226,15 @@ ECLib.prototype = { hd: 0, ct: 0 }; - } + }, + + /** + * Get fragment's header size + * @return {Number} header size + */ + getHeaderSize: function() { + return addon.EclGetHeaderSize(); + }, } module.exports = ECLib; diff --git a/src/cpp/libmain.cpp b/src/cpp/libmain.cpp index 6c23a02..9b31b03 100644 --- a/src/cpp/libmain.cpp +++ b/src/cpp/libmain.cpp @@ -77,6 +77,12 @@ NAN_METHOD(EclDestroy) { return ; } +NAN_METHOD(EclGetHeaderSize) { + Nan::HandleScope scope; + uint32_t header_size = sizeof(fragment_header_t); + info.GetReturnValue().Set(header_size); +} + NAN_METHOD(EclFragmentsNeeded) { Nan::HandleScope scope; info.GetReturnValue() diff --git a/src/cpp/libmain.h b/src/cpp/libmain.h index a8a542e..544246a 100644 --- a/src/cpp/libmain.h +++ b/src/cpp/libmain.h @@ -31,6 +31,7 @@ NAN_METHOD(EclCreate); NAN_METHOD(EclDestroy); +NAN_METHOD(EclGetHeaderSize); NAN_METHOD(EclFragmentsNeeded); NAN_METHOD(EclGetFragmentMetadata); NAN_METHOD(EclIsInvalidFragment); diff --git a/src/cpp/node-eclib.cpp b/src/cpp/node-eclib.cpp index 2e61c7c..f621a62 100644 --- a/src/cpp/node-eclib.cpp +++ b/src/cpp/node-eclib.cpp @@ -36,6 +36,7 @@ NAN_MODULE_INIT(Init) { NAN_EXPORT(target, EclEncode); NAN_EXPORT(target, EclEncodeV); NAN_EXPORT(target, EclDecode); + NAN_EXPORT(target, EclGetHeaderSize); NAN_EXPORT(target, EclReconstructFragment); NAN_EXPORT(target, EclFragmentsNeeded); NAN_EXPORT(target, EclGetFragmentMetadata);