| | |
| | | #include "stdafx.h" |
| | | #include "CGlass.h" |
| | | #include "Log.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | |
| | | |
| | | if (m_pBuddy != nullptr) { |
| | | m_pBuddy->release(); |
| | | m_pBuddy = nullptr; |
| | | } |
| | | } |
| | | |
| | |
| | | CPath* pTemp = m_pPath; |
| | | while (pTemp != nullptr) { |
| | | pTemp->getSimpleDescription(strPath); |
| | | strOut.append(strPath); |
| | | if (strPath.compare("ARM1") != 0 && strPath.compare("ARM2") != 0) { |
| | | if (!strOut.empty()) strOut.append(" -> "); |
| | | strOut.append(strPath); |
| | | } |
| | | |
| | | pTemp = pTemp->getNext(); |
| | | if (pTemp != nullptr) { |
| | | strOut.append(" -> "); |
| | | } |
| | | } |
| | | |
| | | return strOut; |
| | |
| | | return nullptr; |
| | | } |
| | | |
| | | void CGlass::addPath(unsigned int nEqId, unsigned int nUnit) |
| | | void CGlass::addPath(unsigned int nEqId, unsigned int nUnit, unsigned int slot) |
| | | { |
| | | CPath* pPath = new CPath(nEqId, nUnit); |
| | | CPath* pPath = new CPath(nEqId, nUnit, slot); |
| | | if (m_pPath == nullptr) { |
| | | m_pPath = pPath; |
| | | } |
| | |
| | | } |
| | | |
| | | bool CGlass::queue() { |
| | | LOGI("CGlass::queue 01 %s", m_strID.c_str()); |
| | | if (m_state != GlsState::NoState) return false; |
| | | markQueued(); |
| | | LOGI("CGlass::queue 02 %s", m_strID.c_str()); |
| | | return true; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | bool CGlass::complete() { |
| | | LOGI("CGlass::complete 01 %s", m_strID.c_str()); |
| | | if (m_state != GlsState::InProcess && m_state != GlsState::Paused) return false; |
| | | m_state = GlsState::Completed; |
| | | markEnd(); |
| | | LOGI("CGlass::complete 02 %s", m_strID.c_str()); |
| | | return true; |
| | | } |
| | | |