CompositorProxy::~CompositorProxy() { // We do not explicitly unregister from client here. The client has a weak // reference to us which gets collected on its own. This way we avoid using // a pre-finalizer. disconnectInternal(); DCHECK(!m_connected); }
void Emitter::disconnectAllSignals() { for(auto it = connections.begin(); it != connections.end(); ++it) disconnectInternal(it); connections.clear(); connectionsChanged = true; }
void Emitter::disconnectInternal(const Implementation::SignalData& signal) { auto range = connections.equal_range(signal); for(auto it = range.first; it != range.second; ++it) disconnectInternal(it); connections.erase(range.first, range.second); connectionsChanged = true; }
void WebSocketsClient::disconnect(natural reason) { Synchronized<FastLockR> _(lock); if (this->listener != null) { disconnectInternal(reason); listener = null; } }
void CompositorProxy::disconnect() { disconnectInternal(); if (m_client) m_client->unregisterCompositorProxy(this); }
void WebSocketsClient::lostConnection(natural c) { disconnectInternal(naturalNull); onLostConnection(c); }