IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetFactoryAsync(const APLXML_Base::PhysicalLayerDescriptor_t* apCfg)
{
	const APLXML_Base::Serial_t* pSerial = dynamic_cast<const APLXML_Base::Serial_t*>(apCfg);
	if(pSerial != NULL) return GetAsync(pSerial);

	const APLXML_Base::TCPv4Server_t* pTCPServerV4 = dynamic_cast<const APLXML_Base::TCPv4Server_t*>(apCfg);
	if(pTCPServerV4 != NULL) return GetAsync(pTCPServerV4);

	const APLXML_Base::TCPv4Client_t* pTCPClientV4 = dynamic_cast<const APLXML_Base::TCPv4Client_t*>(apCfg);
	if(pTCPClientV4 != NULL) return GetAsync(pTCPClientV4);

	const APLXML_Base::TCPv6Server_t* pTCPServerV6 = dynamic_cast<const APLXML_Base::TCPv6Server_t*>(apCfg);
	if(pTCPServerV6 != NULL) return GetAsync(pTCPServerV6);

	const APLXML_Base::TCPv6Client_t* pTCPClientV6 = dynamic_cast<const APLXML_Base::TCPv6Client_t*>(apCfg);
	if(pTCPClientV6 != NULL) return GetAsync(pTCPClientV6);

	const APLXML_Base::UDPv4Server_t* pUDPServerV4 = dynamic_cast<const APLXML_Base::UDPv4Server_t*>(apCfg);
	if(pUDPServerV4 != NULL) return GetAsync(pUDPServerV4);

	const APLXML_Base::UDPv4Client_t* pUDPClientV4 = dynamic_cast<const APLXML_Base::UDPv4Client_t*>(apCfg);
	if(pUDPClientV4 != NULL) return GetAsync(pUDPClientV4);

	const APLXML_Base::UDPv6Server_t* pUDPServerV6 = dynamic_cast<const APLXML_Base::UDPv6Server_t*>(apCfg);
	if(pUDPServerV6 != NULL) return GetAsync(pUDPServerV6);

	const APLXML_Base::UDPv6Client_t* pUDPClientV6 = dynamic_cast<const APLXML_Base::UDPv6Client_t*>(apCfg);
	if(pUDPClientV6 != NULL) return GetAsync(pUDPClientV6);

	throw Exception(LOCATION, "Unknown PhysicalLayerDescriptor_t");
}
예제 #2
0
void
HTMLScriptElement::FreezeUriAsyncDefer()
{
  if (mFrozen) {
    return;
  }

  // variation of this code in nsSVGScriptElement - check if changes
  // need to be transfered when modifying
  if (HasAttr(kNameSpaceID_None, nsGkAtoms::src)) {
    nsAutoString src;
    GetSrc(src);
    NS_NewURI(getter_AddRefs(mUri), src);
    // At this point mUri will be null for invalid URLs.
    mExternal = true;

    bool defer, async;
    GetAsync(&async);
    GetDefer(&defer);

    mDefer = !async && defer;
    mAsync = async;
  }

  mFrozen = true;
}
예제 #3
0
void  WRTHttpRequest::send(WRTHttpResponse* response)
{
	_response = response;
	std::wstring sURL;
	Uri^ uri;	
	switch (getRequestType())
    {
        case WRTHttpRequest::kHttpGet:	// HTTP GET
		{			
			sURL=stringToWstring(_url.c_str(),sURL);
			String^ tUrl= ref new String(sURL.c_str());					
			convertURL(tUrl,&uri);				
            GetAsync(uri);
		}
            break;            
        case WRTHttpRequest::kHttpPost: // HTTP POST
		{
			sURL=stringToWstring(_url.c_str(),sURL);
			String^ tUrl= ref new String(sURL.c_str());					
			convertURL(tUrl,&uri);
			std::wstring content;
			content=stringToWstring(_requestData.data(),content);
            PostAsync(uri,content);
		}
            break;

        case WRTHttpRequest::kHttpPut:
                
            break;

        case WRTHttpRequest::kHttpDelete:
                
            break;            
        default:
            CCAssert(true, "CCHttpClient: unkown request type, only GET and POSt are supported");
            break;
    }                
}
예제 #4
0
void WorkerTable::Get(Blob keys, 
                      const GetOption* option) {
  MONITOR_BEGIN(WORKER_TABLE_SYNC_GET)
  Wait(GetAsync(keys, option));
  MONITOR_END(WORKER_TABLE_SYNC_GET)
}