Layer3::~Layer3 () { TRACEPRINTF (t, 3, this, "Close"); Stop (); while (servers ()) delete servers[0]; while (layer2 ()) delete layer2[0]; // the next loops should do exactly nothing while (vbusmonitor ()) deregisterVBusmonitor (vbusmonitor[0].cb); for (unsigned int i = 0; i < tracers (); i++) delete tracers[i]; }
Layer3::~Layer3 () { TRACEPRINTF (t, 3, this, "Close"); Stop (); if (mode) layer2->leaveBusmonitor (); else layer2->Close (); while (vbusmonitor ()) deregisterVBusmonitor (vbusmonitor[0].cb); while (group ()) deregisterGroupCallBack (group[0].cb, group[0].dest); while (individual ()) deregisterIndividualCallBack (individual[0].cb, individual[0].src, individual[0].dest); delete layer2; }