Commit f900b90c authored by Christian Kandeler's avatar Christian Kandeler
Browse files

Maemo: Introduce generic state checking.

parent e02dae3e
......@@ -38,6 +38,9 @@
#include <QtCore/QList>
#define ASSERT_STATE_GENERIC(State, expected, actual) \
MaemoGlobal::assertState<State>(expected, actual, Q_FUNC_INFO)
QT_BEGIN_NAMESPACE
class QString;
QT_END_NAMESPACE
......@@ -67,6 +70,21 @@ public:
}
return 0;
}
template<typename State> static void assertState(State expected,
State actual, const char *func)
{
assertState(QList<State>() << expected, actual, func);
}
template<typename State> static void assertState(const QList<State> &expected,
State actual, const char *func)
{
if (!expected.contains(actual)) {
qWarning("Warning: Unexpected state %d in function %s.",
actual, func);
}
}
};
} // namespace Internal
......
......@@ -39,7 +39,7 @@
#include <QtCore/QTimer>
#define ASSERT_STATE(state) assertState(state, Q_FUNC_INFO)
#define ASSERT_STATE(state) ASSERT_STATE_GENERIC(State, state, m_state)
using namespace Core;
......@@ -442,18 +442,6 @@ void MaemoRemoteMounter::handleUtfsServerTimeout()
setState(Inactive);
}
void MaemoRemoteMounter::assertState(State expectedState, const char *func)
{
assertState(QList<State>() << expectedState, func);
}
void MaemoRemoteMounter::assertState(const QList<State> &expectedStates,
const char *func)
{
QTC_ASSERT(expectedStates.contains(m_state),
qDebug("Unexpected state %d at %s.", m_state, func))
}
void MaemoRemoteMounter::setState(State newState)
{
if (newState == Inactive)
......
......@@ -101,8 +101,6 @@ private:
UtfsClientsStarting, UtfsClientsStarted, UtfsServersStarted
};
void assertState(State expectedState, const char *func);
void assertState(const QList<State> &expectedStates, const char *func);
void setState(State newState);
void deployUtfsClient();
......
......@@ -48,7 +48,7 @@
#include <limits>
#define ASSERT_STATE(state) assertState(state, Q_FUNC_INFO)
#define ASSERT_STATE(state) ASSERT_STATE_GENERIC(State, state, m_state)
using namespace Core;
......@@ -309,18 +309,6 @@ bool MaemoSshRunner::isConnectionUsable() const
&& m_connection->connectionParameters() == m_devConfig.server;
}
void MaemoSshRunner::assertState(State expectedState, const char *func)
{
assertState(QList<State>() << expectedState, func);
}
void MaemoSshRunner::assertState(const QList<State> &expectedStates,
const char *func)
{
if (!expectedStates.contains(m_state))
qWarning("Unexpected state %d at %s.", m_state, func);
}
void MaemoSshRunner::setState(State newState)
{
if (newState == Inactive) {
......
......@@ -94,8 +94,6 @@ private:
ProcessStarting, StopRequested
};
void assertState(State expectedState, const char *func);
void assertState(const QList<State> &expectedStates, const char *func);
void setState(State newState);
void emitError(const QString &errorMsg);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment