X-Git-Url: http://plrg.eecs.uci.edu/git/?p=iotcloud.git;a=blobdiff_plain;f=version2%2Fsrc%2FC%2FIoTString.h;h=bbd0c775df095b87fdb5a1748e3669bddc8220f6;hp=00dd8e6f770c33f4bfd7509d355c16a4fb492f64;hb=0b9aca2b62c74f68652b170a92271a98d5b96666;hpb=5d76024703d601d6f7205c2cb0300ac4cbeffd1c diff --git a/version2/src/C/IoTString.h b/version2/src/C/IoTString.h index 00dd8e6..bbd0c77 100644 --- a/version2/src/C/IoTString.h +++ b/version2/src/C/IoTString.h @@ -10,37 +10,43 @@ */ public class IoTString { - private: - Array array; - - IoTString() {} +private: + Array *array; + IoTString() {} /** * Builds an IoTString object around the char array. This * constructor makes a copy, so the caller is free to modify the char array. */ - - public: - IoTString(Array * _array) { array.init(_array); } - ~IoTString() {} - + +public: + IoTString(Array *_array) : array(new Array(_array)) {} + ~IoTString() {} + /** * Internal method to grab a reference to our char array. Caller * must not modify it. */ - - Array * internalBytes() { return &array; } - + + Array *internalBytes() { return array; } + /** * Returns a copy of the underlying char string. */ - - Array * getBytes() { return new Array(&array); } + + Array *getBytes() { return new Array(&array); } /** * Returns the length in chars of the IoTString. */ - + int length() { return array->length(); } + friend IoTString *IoTString_shallow(Array *_array); +}; + +IoTString *IoTString_shallow(Array *_array) { + IoTString *str = new IoTString(); + str->array = _array; + return str; } #endif