/*!
    Constructor
 */
FacebookConnection::FacebookConnection(QObject *parent) :
    SocialConnection(parent),
    m_facebook(new Facebook(this)),
    m_manager(new FacebookDataManager(this)),
    m_apiCall(Undefined)
{
    connect(m_facebook, SIGNAL(requestCompleted(QVariant,QByteArray)),
            this, SLOT(onRequestCompleted(QVariant,QByteArray)));
    connect(m_facebook, SIGNAL(requestFailed(QVariant,QString)),
            this, SLOT(onRequestFailed(QVariant,QString)));
    connect(m_facebook, SIGNAL(clientIdChanged(QString)),
            this, SIGNAL(clientIdChanged(QString)));
    connect(m_facebook, SIGNAL(accessTokenChanged(QString)),
            this, SIGNAL(accessTokenChanged(QString)));
    connect(m_facebook, SIGNAL(authorizedChanged(bool)),
            this, SLOT(onAuthenticationChanged(bool)));
    connect(m_facebook, SIGNAL(screenNameChanged(QString)),
            this, SLOT(onNameChanged(QString)));
}
Exemplo n.º 2
0
void EventManager::onEventListenersReceived(const EventSyncResponse::eventListenersResponses_t& listenersResponses)
{
    if (!listenersResponses.is_null()) {
        const auto& container = listenersResponses.get_array();

        KAA_MUTEX_LOCKING("eventListenersGuard_");
        KAA_MUTEX_UNIQUE_DECLARE(eventListenersLock, eventListenersGuard_);
        KAA_MUTEX_LOCKED("eventListenersGuard_");

        for (const auto& response : container) {
            auto it = eventListenersRequests_.find(response.requestId);

            if (it != eventListenersRequests_.end()) {
                auto callback = it->second->listener_;
                eventListenersRequests_.erase(it);

                if (response.result == SyncResponseResultType::SUCCESS) {
                    std::vector<std::string> listeners;
                    if (!response.listeners.is_null()) {
                        listeners = response.listeners.get_array();
                    }

                    context_.getExecutorContext().getCallbackExecutor().add([callback, listeners]
                                                                {
                                                                    callback->onEventListenersReceived(listeners);
                                                                });
                } else {
                    context_.getExecutorContext().getCallbackExecutor().add([callback] { callback->onRequestFailed(); });
                }

            } else {
                KAA_LOG_WARN(boost::format("Failed to find requester for event listeners (request id = %1%)")
                             % response.requestId);
            }
        }
    }
}