void NetworkStateNotifier::setOnLine(bool onLine)
{
    if (m_isOnLine == onLine)
        return;

    m_isOnLine = onLine;

    if (m_networkStateChangedFunction)
        m_networkStateChangedFunction();
}
void NetworkStateNotifier::addressChanged()
{
    bool oldOnLine = m_isOnLine;
    
    updateState();

    if (m_isOnLine == oldOnLine)
        return;

    if (m_networkStateChangedFunction)
        m_networkStateChangedFunction();
}
void NetworkStateNotifier::networkStateChangeTimerFired(Timer<NetworkStateNotifier>*)
{
    bool oldOnLine = m_isOnLine;
    
    updateState();
    
    if (m_isOnLine == oldOnLine)
        return;

    if (m_networkStateChangedFunction)
        m_networkStateChangedFunction();
}
void NetworkStateNotifier::networkTypeChange(Connection::ConnectionType type)
{
    if (m_type == type)
        return;

    m_type = type;
    /// M: add Network Information API.
    m_didNetworkTypeChangeHappen = true;

    if (m_networkStateChangedFunction)
        m_networkStateChangedFunction();
}