/*---------------------------------------------------------------------- | PLT_UPnP::RemoveCtrlPoint +---------------------------------------------------------------------*/ NPT_Result PLT_UPnP::RemoveCtrlPoint(PLT_CtrlPointReference& ctrl_point) { NPT_AutoLock lock(m_Lock); if (m_Started) { ctrl_point->Stop(m_SsdpListenTask); } return m_CtrlPoints.Remove(ctrl_point); }
/*---------------------------------------------------------------------- | PLT_UPnP::AddCtrlPoint +---------------------------------------------------------------------*/ NPT_Result PLT_UPnP::AddCtrlPoint(PLT_CtrlPointReference& ctrl_point) { NPT_AutoLock lock(m_Lock); if (m_IgnoreLocalUUIDs) { for (NPT_List<PLT_DeviceHostReference>::Iterator iter = m_Devices.GetFirstItem(); iter; iter++) { ctrl_point->IgnoreUUID((*iter)->GetUUID()); } } if (m_Started) { NPT_LOG_INFO("Starting Ctrlpoint..."); NPT_CHECK_SEVERE(ctrl_point->Start(m_SsdpListenTask)); } m_CtrlPoints.Add(ctrl_point); return NPT_SUCCESS; }
NPT_Result operator()(PLT_CtrlPointReference& ctrl_point) const { return ctrl_point->Stop(m_ListenTask); }
NPT_Result operator()(PLT_CtrlPointReference& ctrl_point) const { NPT_CHECK_SEVERE(ctrl_point->Start(m_ListenTask)); return NPT_SUCCESS; }