当前位置: 首页>>代码示例>>C++>>正文


C++ CCHttpRequest::getSelector方法代码示例

本文整理汇总了C++中CCHttpRequest::getSelector方法的典型用法代码示例。如果您正苦于以下问题:C++ CCHttpRequest::getSelector方法的具体用法?C++ CCHttpRequest::getSelector怎么用?C++ CCHttpRequest::getSelector使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CCHttpRequest的用法示例。


在下文中一共展示了CCHttpRequest::getSelector方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: dispatchResponseCallbacks

// Poll and notify main thread if responses exists in queue
KDvoid CCHttpClient::dispatchResponseCallbacks ( KDfloat fDelta )
{ 
    CCHttpResponse*  pResponse = KD_NULL;
    
	kdThreadMutexLock ( l_pResponseQueueMutex );
    if ( l_pResponseQueue->count ( ) )
    {
        pResponse = dynamic_cast<CCHttpResponse*> ( l_pResponseQueue->objectAtIndex ( 0 ) );
        l_pResponseQueue->removeObjectAtIndex ( 0 );
    }
    kdThreadMutexUnlock ( l_pResponseQueueMutex );
    
    if ( pResponse )
    {
        --l_uAsyncRequestCount;
        
        CCHttpRequest*  pRequest = pResponse->getHttpRequest ( );
        CCObject*        pTarget = pRequest->getTarget ( );
        SEL_CallFuncND pSelector = pRequest->getSelector ( );

        if ( pTarget && pSelector ) 
        {
            ( pTarget->*pSelector ) ( (CCNode*) this, pResponse );
        }
        
        pResponse->release ( );
    }
    
    if ( 0 == l_uAsyncRequestCount ) 
    {
        CCDirector::sharedDirector ( )->getScheduler ( )->pauseTarget ( this );
    }   
}
开发者ID:mcodegeeks,项目名称:OpenKODE-Framework,代码行数:34,代码来源:HttpClient.cpp

示例2: dispatchResponseCallbacks

// Poll and notify main thread if responses exists in queue
void CCHttpClient::dispatchResponseCallbacks(float delta)
{
    // CCLog("CCHttpClient::dispatchResponseCallbacks is running");
    
    CCHttpResponse* response = NULL;
    
    pthread_mutex_lock(&s_responseQueueMutex);
    if (s_responseQueue->count())
    {
        response = dynamic_cast<CCHttpResponse*>(s_responseQueue->objectAtIndex(0));
        s_responseQueue->removeObjectAtIndex(0);
    }
    pthread_mutex_unlock(&s_responseQueueMutex);
    
    if (response)
    {
        --s_asyncRequestCount;
        
        CCHttpRequest *request = response->getHttpRequest();
        CCObject *pTarget = request->getTarget();
        SEL_CallFuncND pSelector = request->getSelector();

        if (pTarget && pSelector) 
        {
            (pTarget->*pSelector)((CCNode *)this, response);
        }

		if (!request->_jsTarget.IsEmpty() && !request->_jsSelector.IsEmpty()) {

			response->flushDataToReadBuffer();
            response->assignJavaScriptObject(CLS_CCHTTPRESPONSE_ID, false);
			this->getJSCCallFunc()->callJSFunction(request->_jsTarget, request->_jsSelector, this->getJSObjInstance(), response->getJSObjInstance());
		}
        
        response->release();
    }
    
    if (0 == s_asyncRequestCount) 
    {
        CCDirector::sharedDirector()->getScheduler()->pauseTarget(this);
    }
    
}
开发者ID:TukekeSoft,项目名称:jacos2d-x,代码行数:44,代码来源:HttpClient.cpp

示例3: dispatchResponseCallbacks

// Poll and notify main thread if responses exists in queue
void CCHttpClient::dispatchResponseCallbacks(float delta)
{
    // CCLog("CCHttpClient::dispatchResponseCallbacks is running");
    
    CCHttpResponse* response = NULL;
    
    pthread_mutex_lock(&s_responseQueueMutex);
    if (s_responseQueue->count())
    {
        response = dynamic_cast<CCHttpResponse*>(s_responseQueue->objectAtIndex(0));
        s_responseQueue->removeObjectAtIndex(0);
    }
    pthread_mutex_unlock(&s_responseQueueMutex);
    
    if (response)
    {
        --s_asyncRequestCount;
        
        CCHttpRequest *request = response->getHttpRequest();
        CCObject *pTarget = request->getTarget();
        SEL_CallFuncND pSelector = request->getSelector();

        if (pTarget && pSelector) 
        {
            (pTarget->*pSelector)((CCNode *)this, response);
        }

        //lua
        if( request->getLuaCallback() != 0 )
        {
            ptola::script::CLuaScriptFunctionInvoker::executeHttpResponseCallback(request->getLuaCallback(), response);
        }
        
        response->release();
    }
    
    if (0 == s_asyncRequestCount) 
    {
        CCDirector::sharedDirector()->getScheduler()->pauseTarget(this);
    }
    
}
开发者ID:jindaw,项目名称:game_sources,代码行数:43,代码来源:HttpClient.cpp

示例4: dispatchResponseCallbacks

// Poll and notify main thread if responses exists in queue
void CCHttpClient::dispatchResponseCallbacks(float delta)
{
    // CCLog("CCHttpClient::dispatchResponseCallbacks is running");
    
    CCHttpResponse* response = NULL;
    
    pthread_mutex_lock(&s_responseQueueMutex);
    if (s_responseQueue->count())
    {
        response = dynamic_cast<CCHttpResponse*>(s_responseQueue->objectAtIndex(0));
        s_responseQueue->removeObjectAtIndex(0);
    }
    pthread_mutex_unlock(&s_responseQueueMutex);
    
    if (response)
    {
        --s_asyncRequestCount;
        
        CCHttpRequest *request = response->getHttpRequest();
        CAObject *pTarget = request->getTarget();
        SEL_HttpResponse pSelector = request->getSelector();

        if (pTarget && pSelector) 
        {
            (pTarget->*pSelector)(this, response);
        }
        
        response->release();
    }
    
    if (0 == s_asyncRequestCount) 
    {
        CAScheduler::getScheduler()->pauseTarget(this);
    }
    
}
开发者ID:AojiaoZero,项目名称:CrossApp,代码行数:37,代码来源:HttpClient.cpp


注:本文中的CCHttpRequest::getSelector方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。