/**
* Dispose the BusListener
* @param disposing describes if its activly being disposed
*/
protected virtual void Dispose(bool disposing)
{
if (!_isDisposed)
{
// Dispose of BusAttachment before listeners
if (_registeredBus != null)
{
_registeredBus.Dispose();
}
Thread destroyThread = new Thread((object o) => {
alljoyn_buslistener_destroy(_busListener);
});
destroyThread.Start();
while (destroyThread.IsAlive)
{
AllJoyn.TriggerCallbacks();
Thread.Sleep(0);
}
_busListener = IntPtr.Zero;
main.Free();
}
_isDisposed = true;
}