aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gprs_ms.cpp8
-rw-r--r--src/gprs_ms.h2
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;
};