ConnectionManager::ConnectionManager(): connection_(0), connected_(false)
{
- DBusError err;
- DBusConnection* conn;
- dbus_error_init(&err);
- conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
+ DBusError err;
+ DBusConnection* conn;
+ dbus_error_init(&err);
+ conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
- if(conn)
- {
- dbus_connection_setup_with_g_main(conn, NULL);
- }
- else
- {
- qDebug() << "Unable to connect to DBUS: " << err.message;
- dbus_error_free(&err);
- }
+ if(conn)
+ {
+ dbus_connection_setup_with_g_main(conn, NULL);
+ }
+ else
+ {
+ qDebug() << "Unable to connect to DBUS: " << err.message;
+ dbus_error_free(&err);
+ }
- connection_ = con_ic_connection_new();
+ connection_ = con_ic_connection_new();
- g_signal_connect(G_OBJECT(connection_), "connection-event", G_CALLBACK(connectionHandler), NULL);
+ g_signal_connect(G_OBJECT(connection_), "connection-event", G_CALLBACK(connectionHandler), NULL);
}
ConnectionManager& ConnectionManager::instance()
{
- if(!instance_)
- {
- instance_ = new ConnectionManager;
- }
+ if(!instance_)
+ {
+ instance_ = new ConnectionManager;
+ }
- return *instance_;
+ return *instance_;
}
bool ConnectionManager::connect()
{
- return con_ic_connection_connect(connection_, CON_IC_CONNECT_FLAG_NONE);
+ return con_ic_connection_connect(connection_, CON_IC_CONNECT_FLAG_NONE);
}
bool ConnectionManager::disconnect()
{
- return con_ic_connection_disconnect(connection_);
+ return con_ic_connection_disconnect(connection_);
}
bool ConnectionManager::isConnected()
{
- return connected_;
+ return connected_;
}
void ConnectionManager::connectionHandler(ConIcConnection *connection,
- ConIcConnectionEvent *event,
- gpointer user_data)
+ ConIcConnectionEvent *event,
+ gpointer user_data)
{
- Q_UNUSED(connection);
- Q_UNUSED(user_data);
-
- ConIcConnectionStatus status = con_ic_connection_event_get_status(event);
-
- switch(status)
- {
-
- case CON_IC_STATUS_CONNECTED:
- qDebug() << "Connected";
- instance_->emit connected();
- instance_->connected_ = true;
- break;
-
- case CON_IC_STATUS_DISCONNECTING:
- case CON_IC_STATUS_NETWORK_UP:
- break;
-
- case CON_IC_STATUS_DISCONNECTED:
- ConIcConnectionError err = con_ic_connection_event_get_error(event);
- switch(err)
- {
- case CON_IC_CONNECTION_ERROR_NONE:
- case CON_IC_CONNECTION_ERROR_USER_CANCELED:
- qDebug() << "Disconnected";
- instance_->emit disconnected();
- instance_->connected_ = false;
- break;
-
- case CON_IC_CONNECTION_ERROR_INVALID_IAP:
- qDebug() << "Invalid IAP";
- instance_->emit error("Invalid IAP");
- break;
-
- case CON_IC_CONNECTION_ERROR_CONNECTION_FAILED:
- qDebug() << "Connection failed";
- instance_->emit error("Connection failed");
- break;
-
- default:
- break;
- }
- break;
- }
+ Q_UNUSED(connection);
+ Q_UNUSED(user_data);
+
+ ConIcConnectionStatus status = con_ic_connection_event_get_status(event);
+
+ switch(status)
+ {
+
+ case CON_IC_STATUS_CONNECTED:
+ qDebug() << "Connected";
+ instance_->emit connected();
+ instance_->connected_ = true;
+ break;
+
+ case CON_IC_STATUS_DISCONNECTING:
+ case CON_IC_STATUS_NETWORK_UP:
+ break;
+
+ case CON_IC_STATUS_DISCONNECTED:
+ ConIcConnectionError err = con_ic_connection_event_get_error(event);
+ switch(err)
+ {
+ case CON_IC_CONNECTION_ERROR_NONE:
+ case CON_IC_CONNECTION_ERROR_USER_CANCELED:
+ qDebug() << "Disconnected";
+ instance_->emit disconnected();
+ instance_->connected_ = false;
+ break;
+
+ case CON_IC_CONNECTION_ERROR_INVALID_IAP:
+ qDebug() << "Invalid IAP";
+ instance_->emit error("Invalid IAP");
+ break;
+
+ case CON_IC_CONNECTION_ERROR_CONNECTION_FAILED:
+ qDebug() << "Connection failed";
+ instance_->emit error("Connection failed");
+ break;
+
+ default:
+ break;
+ }
+ break;
+ }
}