diff options
-rw-r--r-- | src/gprs_ms.cpp | 8 | ||||
-rw-r--r-- | src/gprs_ms.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 318ebec2..b36c61db 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -62,6 +62,14 @@ GprsMs::Guard::~Guard() m_ms->unref(); } +bool GprsMs::Guard::is_idle() const +{ + if (!m_ms) + return true; + + return !m_ms->m_ul_tbf && !m_ms->m_dl_tbf && m_ms->m_ref == 1; +} + void GprsMs::timeout(void *priv_) { GprsMs *ms = static_cast<GprsMs *>(priv_); diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 840a2295..1a135cbb 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -51,6 +51,8 @@ public: Guard(GprsMs *ms); ~Guard(); + bool is_idle() const; + private: GprsMs * const m_ms; }; |