1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
/* * TestObject.cpp * * Created on: 28.07.2011 * Author: Nehmulos */ #include "TestObject.h" TestObject::TestObject() : nw::DescribedObject() { init(); } void TestObject::init() { valueArray = new int[10]; blob = new int[10]; parent = this; children = NULL; numberOfChildren = 0; name = "default"; iAmTrue = true; iAmFalse = false; a = 0.0; b = 1.1; c = 2.2; d = 3.3; e = 4.4; f = 5.5; } TestObject::~TestObject() { delete blob; for (unsigned int i = 0; i < numberOfChildren; ++i) delete children[i]; } void TestObject::describeObject(nw::Describer* file) { // simple numeric types // they will be written/read as number file->describe("a", a); file->describe("b", b); file->describe("c", c); file->describe("d", d); file->describe("e", e); file->describe("f", f); file->describe("Name", name); file->describe("Parent", (nw::Pointer) parent); file->describeBlob("blob", (nw::Pointer) blob, 10*sizeof(int)); file->describe("IamTrue", iAmTrue); file->describe("IamFalse", iAmFalse); file->describe("NumberOfChildren", numberOfChildren); file->comment("lol"); // Object Array of dynamic size file->describeArray("Children", "Child",numberOfChildren); if(!file->isInWriteMode()) { children = new TestObject*[numberOfChildren];} for (int i = 0; file->enterNextElement(i); ++i) { file->describe("id",(nw::Pointer) children[i]); } // Value Array file->describeValueArray("ValueArray", 10); for(int i = 0; file->enterNextElement(i); ++i) { file->describeValue(valueArray[i]); } } nw::ClassId TestObject::getClassId() { return "Testobject"; }