FBTestMathPlugin::~FBTestMathPlugin() { // By resetting the api and then telling the host that the plugin instance is shutting down, // we control the lifecycle. As long as m_api isn't stored anywhere else, telling host to // shutdown should free the object releaseRootJSAPI(); m_host->freeRetainedObjects(); }
/////////////////////////////////////////////////////////////////////////////// /// @brief linphone destructor. /////////////////////////////////////////////////////////////////////////////// VideoPlugin::~VideoPlugin() { // This is optional, but if you reset m_api (the shared_ptr to your JSAPI // root object) and tell the host to free the retained JSAPI objects then // unless you are holding another shared_ptr reference to your JSAPI object // they will be released here. releaseRootJSAPI(); m_host->freeRetainedObjects(); }
/////////////////////////////////////////////////////////////////////////////// /// @brief core destructor. /////////////////////////////////////////////////////////////////////////////// CorePlugin::~CorePlugin() { // This is optional, but if you reset m_api (the shared_ptr to your JSAPI // root object) and tell the host to free the retained JSAPI objects then // unless you are holding another shared_ptr reference to your JSAPI object // they will be released here. FBLOG_DEBUG("CorePlugin::~CorePlugin", "this=" << this); // Clean releaseRootJSAPI(); m_host->freeRetainedObjects(); }
/////////////////////////////////////////////////////////////////////////////// /// @brief WebrtcRenderer destructor. /////////////////////////////////////////////////////////////////////////////// WebrtcRenderer::~WebrtcRenderer() { LOGD("begin.."); // This is optional, but if you reset m_api (the shared_ptr to your JSAPI // root object) and tell the host to free the retained JSAPI objects then // unless you are holding another shared_ptr reference to your JSAPI object // they will be released here. releaseRootJSAPI(); m_host->freeRetainedObjects(); }
/////////////////////////////////////////////////////////////////////////////// /// @brief Chimera destructor. /////////////////////////////////////////////////////////////////////////////// Chimera::~Chimera() { m_player->audio().unregister_callback( this ); onMediaPlayerNotPlaying(); // This is optional, but if you reset m_api (the shared_ptr to your JSAPI // root object) and tell the host to free the retained JSAPI objects then // unless you are holding another shared_ptr reference to your JSAPI object // they will be released here. releaseRootJSAPI(); m_host->freeRetainedObjects(); }
/////////////////////////////////////////////////////////////////////////////// /// @brief OSGQtBrowser destructor. /////////////////////////////////////////////////////////////////////////////// OSGQtBrowser::~OSGQtBrowser() { // This is optional, but if you reset m_api (the shared_ptr to your JSAPI // root object) and tell the host to free the retained JSAPI objects then // unless you are holding another shared_ptr reference to your JSAPI object // they will be released here. int nState = m_pProcess->state(); if (nState == QProcess::Running) { m_pProcess->close(); } if (m_pProcess != 0) { delete m_pProcess; m_pProcess = 0; } releaseRootJSAPI(); m_host->freeRetainedObjects(); }