bool MosquittoHandler::init(std::string id)
{
    int minor, major, revision;
    mosquitto_lib_version(&major, &minor, &revision);

    if(numOfInstances == 0) {
        mosquitto_lib_init();
    }
    m_libInit = true;
    numOfInstances++;

    void* obj = (void*) this;

    m_mosquittoStruct = mosquitto_new(id.c_str(), obj);
    if(!m_mosquittoStruct) {
        m_lastErrorString = "Cannot create new Mosquitto instance";
        return false;
    }

    mosquitto_log_init(m_mosquittoStruct, MOSQ_LOG_ERR || MOSQ_LOG_WARNING, MOSQ_LOG_STDOUT);
    mosquitto_connect_callback_set(m_mosquittoStruct, MosquittoHandler::onConnectWrapper);
    mosquitto_disconnect_callback_set(m_mosquittoStruct, MosquittoHandler::onDisconnectWrapper);
    mosquitto_message_callback_set(m_mosquittoStruct, MosquittoHandler::onMessageWrapper);

    return true;
}
Ejemplo n.º 2
0
int mosquittopp::log_init(int priorities, int destinations)
{
	return mosquitto_log_init(mosq, priorities, destinations);
}