[ismrmrd] 48/177: Working on C++ interface for strings.

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:02:01 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to annotated tag v1.1.0.beta.1
in repository ismrmrd.

commit ea8b5015dc74221df2595e2fcd752d034b75085c
Author: Souheil Inati <souheil.inati at nih.gov>
Date:   Mon Sep 8 12:00:00 2014 -0400

    Working on C++ interface for strings.
---
 ismrmrd.cpp         | 10 ++++++++--
 ismrmrd.h           |  4 ++--
 ismrmrd_dataset.cpp | 18 ------------------
 ismrmrd_dataset.h   |  1 -
 4 files changed, 10 insertions(+), 23 deletions(-)

diff --git a/ismrmrd.cpp b/ismrmrd.cpp
index e0b2f1a..ad05392 100644
--- a/ismrmrd.cpp
+++ b/ismrmrd.cpp
@@ -403,8 +403,14 @@ void Image::setHead(const ImageHeader other) {
     ismrmrd_make_consistent_image(this);
 }
 
-char *Image::getAttributeString() {
-    return attribute_string;
+void Image::setAttributeString(std::string attr) {
+    head.attribute_string_len = attr.length();
+    attribute_string = (char *)realloc(attribute_string, attr.length()+1);
+    strcpy(attribute_string, attr.c_str());
+}
+
+void Image::getAttributeString(std::string &attr) {
+    attr = std::string(attribute_string);
 }
 
 void *Image::getData() {
diff --git a/ismrmrd.h b/ismrmrd.h
index 9953fa2..e71e501 100644
--- a/ismrmrd.h
+++ b/ismrmrd.h
@@ -503,8 +503,8 @@ public:
     // Header and data accessors
     ImageHeader &getHead();
     void setHead(const ImageHeader other);
-    char *getAttributeString();
-    void setAttributeString(std::string attr);
+    void getAttributeString(std::string &atrr);
+    void setAttributeString(const std::string attr);
     void *getData();
     size_t getDataSize();
 
diff --git a/ismrmrd_dataset.cpp b/ismrmrd_dataset.cpp
index dce1cc9..b17ed9f 100644
--- a/ismrmrd_dataset.cpp
+++ b/ismrmrd_dataset.cpp
@@ -38,12 +38,6 @@ int Dataset::writeHeader(const std::string xmlstring)
     return status;
 }
 
-int Dataset::writeHeader(const char* xml)
-{
-    int status = ismrmrd_write_header(&dset_, xml);
-    return status;
-}
-
 int Dataset::readHeader(std::string& xmlstring){
     char * temp = ismrmrd_read_header(&dset_);
     xmlstring = std::string(temp);
@@ -51,18 +45,6 @@ int Dataset::readHeader(std::string& xmlstring){
     return ISMRMRD_NOERROR;
 }
 
-char * Dataset::readHeader()
-{
-    // The C-API uses malloc.  In Cpp we expect pointers to have been created with new,
-    // so we make a copy.
-    char * temp = ismrmrd_read_header(&dset_);
-    size_t xmllength = strlen(temp);
-    char * xml = new char[xmllength];
-    memcpy(xml, temp, xmllength);
-    free(temp);
-    return xml;
-}
-
 // Acquisitions
 int Dataset::appendAcquisition(const Acquisition acq)
 {
diff --git a/ismrmrd_dataset.h b/ismrmrd_dataset.h
index 5da520d..ecb2875 100644
--- a/ismrmrd_dataset.h
+++ b/ismrmrd_dataset.h
@@ -163,7 +163,6 @@ public:
     // Methods
     // XML Header
     int writeHeader(const std::string xmlstring);
-    int writeHeader(const char* xml);
     int readHeader(std::string& xmlstring);
     char * readHeader();
     // Acquisitions

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ismrmrd.git



More information about the debian-science-commits mailing list