AdvXDecoderApp::AdvXDecoderApp() : m_dirClient( m_ioService ) { m_bDirEnabled= false; m_dirConnCookie = 0; m_xmlHttpClient.SetCallback( this ); //m_xmlHttpClient.SetUrl(); m_dirClient.SetCallback( this ); m_ioService.addTimerHandle( this ); m_ioService.addThreadHandle( this ); m_streamManager.setEncAgent( this ); m_dwFreeRqstTransNum = 0; m_beatCount = 0; //m_pWatchDogMsg = NULL; mt_reqCnt1 = 0; mt_reqCnt2 = 0; mt_respCnt1 = 0; mt_respCnt2 = 0; m_bAutoRestart = false; if (!CIntelAnalyCard::buildconfig()) { mydebug("Build xml config failed!\n"); } else { mydebug("Init xml config successful!\n"); } g_saveImageDirectory = "C:\\advRtsp\\"; }
void N_VLinearSum_NrnThread(realtype a, N_Vector x, realtype b, N_Vector y, N_Vector z) { apass bpass xpass ypass zpass nrn_multithread_job(vlinearsum); mydebug("vlinearsum\n"); /*pr(z);*/ }
bool DirClient::RequestOpenDevice( const DEVICE_PATH& path, unsigned long transNum ) { mydebug("DirClient::RequestOpenDevice Start ... \n"); if( !m_hDirSock.isValid() ) return false; if( !m_pAppRegistMsg ) return false; DIR_MSG_TERMINAL_START_DEVICE_REQ msg; msg.MsgHeader.ProtocolVersion = IDVR_MSG_VERSION; msg.MsgHeader.TransactionNumber = 0; msg.MsgHeader.Msg = DIR_MSG_TYPE_TERMINAL_START_DEVICE_REQ; msg.MsgHeader.Length = sizeof( DIR_MSG_TERMINAL_START_DEVICE_REQ ); msg.TransNum = transNum; msg.DeviceGuid = path.gDeviceId; msg.DeviceDirGuid = path.gDirId; msg.DeviceGatewayGuid = path.gGatewayId; msg.DeviceIVSGuid = path.gIVSId; msg.DeviceEntityType = path.wEntityType; msg.DeviceUnitType = path.wDeviceUnitType; msg.DeviceID = path.dwDeviceNum; msg.TerminalGuid = m_pAppRegistMsg->ClientGuid; msg.TerminalType = m_pAppRegistMsg->AppType; msg.TerminalNetType = 0; msg.TerminalIP = m_pAppRegistMsg->ClientIP; msg.TerminalPort = 0; return m_hDirSock.send( (const char*)&msg, msg.MsgHeader.Length ) == msg.MsgHeader.Length; }
void N_VScale_NrnThread(realtype c, N_Vector x, N_Vector z) { cpass xpass zpass nrn_multithread_job(vscale); mydebug("vscale\n"); /*pr(z);*/ }
void AdvXDecoderApp::OnRegistComplete( void* pContext ) { mydebug("AdvXDecoderApp::OnRegistComplete() Start ... \n"); assert((unsigned long)pContext == m_dirConnCookie ); //m_decoderSet.clear(); RegistXDecoder(); #if 1 ADDR_PAIR addr; for( int i=0; i<(int)m_decoderSet.size(); i++ ) { mydebug("Every channel softDecoder this->OnStartDeviceRequest() Start ... \n"); this->OnStartDeviceRequest( m_decoderSet[i].getGuid(), addr ); } #endif }
void AdvXDecoderApp::OnOpenDeviceRespond( const GUID& devId, const STREAM_ADDR& strmAddr, int result, unsigned long transNum ) { mydebug("AdvXDecoderApp::OnOpenDeviceRespond Start ... \n"); if( BaseConfig::getTraceEnabled() ) { OutputDebugString( "Receive Open Device Response!\n" ); } mt_respCnt2++; RequestOpenDeviceContext* pInterContext = NULL; ContextMap::iterator iter = m_openDevContextMap.find( transNum ); if( iter != m_openDevContextMap.end() ) { pInterContext = (RequestOpenDeviceContext*)(*iter).second; m_openDevContextMap.erase( iter ); } if( pInterContext ) { pInterContext->m_devPath.addrStrm.addrGrp = strmAddr.addrGrp; IEncRequester* pRequester = (IEncRequester*)pInterContext->m_pContext; if( pRequester ) { if( BaseConfig::getTraceEnabled() ) { OutputDebugString( result==1?"Request Open Device OK!\n":"Request Open Device Failed!\n" ); } pRequester->onStartResult( pInterContext->m_strmId, result==1?ER_S_OK:ER_E_FAIL, pInterContext->m_devPath, transNum ); pRequester->Release(); } delete pInterContext; } }
void DirClient::OnSocketConnect( TcpSocketHandle& hSocket, int nResult ) { if( nResult != 0 ) //Failed { mydebug("OnSocketConnect connect directory ... FAILED!%d\n",GetLastError()); Disconnect(); void* pContext = hSocket.getContext(); if( m_pCallback ) m_pCallback->OnConnectError( pContext ); return; } mydebug("OnSocketConnect connect directory ... OK!\n"); DoRegistApp( true ); }
void AdvXDecoderApp::OnStartDeviceRequest( const GUID& devId, const ADDR_PAIR& addr ) { RequestInst reqInst(devId, MATRIX_INFO); RequestSet::iterator iter = std::find( m_rqstSet.begin(), m_rqstSet.end(), reqInst ); if( iter == m_rqstSet.end() ) m_rqstSet.push_back( reqInst ); mydebug("m_xmlHttpClient.GetMatrixInfo( devId ) Start ... \n"); m_xmlHttpClient.GetMatrixInfo( devId ); }
void DirClient::OnReceiveOpenDeviceResp( void* pPacket ) { PDIR_MSG_TERMINAL_START_DEVICE_RESP pMsg = (PDIR_MSG_TERMINAL_START_DEVICE_RESP)pPacket; STREAM_ADDR strmAddr; strmAddr.addrIVS.dwIP = pMsg->sIP; strmAddr.addrIVS.wPort = pMsg->sPort; strmAddr.addrGrp.dwIP = pMsg->mIP; strmAddr.addrGrp.wPort = pMsg->mPort; mydebug("DirClient::OnReceiveOpenDeviceResp Start (DevID:%s,result %d) ... \n", CAdvGeneralHelp::GUIDToString(pMsg->DeviceGuid).c_str(),pMsg->Result); if( m_pCallback ) m_pCallback->OnOpenDeviceRespond( pMsg->DeviceGuid, strmAddr, pMsg->Result, pMsg->TransNum ); }
void AdvXDecoderApp::OnGetMatrixInfo( const GUID& decId, const MatrixItemSet& matrixInfo, void* pContext ) { mydebug("AdvXDecoderApp::OnGetMatrixInfo() Start ... \n"); RequestInst reqInst(decId, MATRIX_INFO); RequestSet::iterator iter = std::find( m_rqstSet.begin(), m_rqstSet.end(), reqInst ); if( iter != m_rqstSet.end() ) { m_rqstSet.erase( iter ); DecoderSet::iterator dec_iter = std::find( m_decoderSet.begin(), m_decoderSet.end(), decId ); if( dec_iter != m_decoderSet.end() ) (*dec_iter)->setMatrixInfo( matrixInfo ); } }
static icalcomponent *get_server_objects(ECalBackend3e *cb, const char *query) { GError *local_err = NULL; char *servercal; icalcomponent *ical; if (!e_cal_backend_3e_open_connection(cb, &local_err)) { g_warning("Sync failed. Can't open connection to the 3e server. (%s)", local_err->message); g_error_free(local_err); return NULL; } servercal = ESClient_queryObjects(cb->priv->conn, cb->priv->calspec, query, &local_err); if (local_err) { g_clear_error(&local_err); } e_cal_backend_3e_close_connection(cb); if (servercal == NULL) { return NULL; } ical = icalcomponent_new_from_string(servercal); mydebug("===========\n%s\n==========\n\n", servercal); g_free (servercal); if (ical == NULL) { return NULL; } return ical; }
bool DirClient::DoRegistApp( bool bReg ) { if( m_pAppRegistMsg==NULL ) { assert( bReg ); m_pAppRegistMsg = new DIR_MSG_APP_REGIST_REQ; m_pAppRegistMsg->MsgHeader.ProtocolVersion = IDVR_MSG_VERSION; m_pAppRegistMsg->MsgHeader.TransactionNumber = 0; m_pAppRegistMsg->MsgHeader.Msg = DIR_MSG_TYPE_APP_REGIST_REQ; m_pAppRegistMsg->MsgHeader.Length = sizeof( DIR_MSG_APP_REGIST_REQ ); m_pAppRegistMsg->AppType = IDVR_APP_INTEL_ANALY_SITE; } void* pContext = m_hDirSock.getContext(); if( bReg ) { static bool s_bInited = false; if( m_pCallback ) { m_pCallback->OnConnect( m_pAppRegistMsg->ClientGuid, m_pAppRegistMsg->ClientIP, pContext ); } else if( !s_bInited ) { CoCreateGuid( &m_pAppRegistMsg->ClientGuid ); m_pAppRegistMsg->ClientIP = ::GetLocalIP(); } s_bInited = true; } m_hDirSock.send( (const char*)m_pAppRegistMsg, m_pAppRegistMsg->MsgHeader.Length ); mydebug("DoRegistApp send RegisteMsg ... OK!\n"); if( m_pCallback && bReg ) m_pCallback->OnRegistComplete( pContext ); return true; }
void N_VConst_NrnThread(realtype c, N_Vector z) { cpass zpass nrn_multithread_job(vconst); mydebug("vconst\n"); }
void N_VCompare_NrnThread(realtype c, N_Vector x, N_Vector z) { cpass xpass zpass nrn_multithread_job(vcompare); mydebug("vcompare\n"); }
void N_VAddConst_NrnThread(N_Vector x, realtype b, N_Vector z) { bpass xpass zpass nrn_multithread_job(vaddconst); mydebug("vaddconst\n"); }
void N_VInv_NrnThread(N_Vector x, N_Vector z) { xpass zpass nrn_multithread_job(vinv); mydebug("vinv\n"); }
void N_VAbs_NrnThread(N_Vector x, N_Vector z) { xpass zpass nrn_multithread_job(vabs); mydebug("vabs\n"); }
void N_VDiv_NrnThread(N_Vector x, N_Vector y, N_Vector z) { xpass ypass zpass nrn_multithread_job(vdiv); mydebug("vdiv\n"); }
void N_VProd_NrnThread(N_Vector x, N_Vector y, N_Vector z) { xpass ypass zpass nrn_multithread_job(vprod); mydebug("vprod\n"); }
bool AdvXDecoderApp::RegistXDecoder() { mydebug("AdvXDecoderApp::RegistXDecoder() Start ...\n"); int nOutCount = BaseConfig::getNoCardTest()?8:CIntelAnalyCard::GetChannelCount(); int nVideoCnt = nOutCount;//Decoder700xConfig::getVideoCount(); int nAudioCnt = 0;//Decoder700xConfig::getAudioCount(); //if( nVideoCnt==Decoder700xConfig::NO_CHANNEL_LIMITE || nVideoCnt>nOutCount ) // nVideoCnt = nOutCount; int nEntityCnt = 1+nVideoCnt+nAudioCnt; int len = sizeof(UnitEntity)*(nEntityCnt) + sizeof(UnitConfig) + sizeof(VideoDecoderConfig)*nVideoCnt + sizeof(AudioDecoderConfig)*nAudioCnt; char* pBuf = new char[ len ]; UnitEntity* pEntity = (UnitEntity*)pBuf; pEntity->Guid = Decoder700xConfig::getUnitGuid(); pEntity->State = IDVR_ENTITY_ACTIVE; pEntity->Type = IDVR_ENTITY_UNIT; int n=sizeof(UnitEntity); UnitConfig* pUnitConfig = (UnitConfig*)(pEntity+1); pUnitConfig->bWithAudio = true; strcpy( pUnitConfig->FirmwareVersion, Decoder700xConfig::getFirmwareVersion().c_str() ); pUnitConfig->FirmwareVersionSize = 64; pUnitConfig->Gateway = 0; pUnitConfig->IPAdress = ::GetLocalIP(); pUnitConfig->MulticastIP = 0; strcpy( pUnitConfig->ProductName, Decoder700xConfig::getProductName().c_str() ); pUnitConfig->ProductNameSize = 64; pUnitConfig->SubnetMask = 0; pUnitConfig->UnitCategory = IDVR_UNIT_CATEGORY_VRU; strcpy( pUnitConfig->UnitName, Decoder700xConfig::getUnitName().c_str() ); pUnitConfig->UnitNameSize = 64; pUnitConfig->VsipPort = 0; pEntity = (UnitEntity*)(pUnitConfig+1); //ULONG _iType[3] = {0x1004,0x1004,0x1005}; //ULONG _iChan[3] = {1,2,1}; //nVideoCnt = (nVideoCnt > 3)?3:nVideoCnt; GUID _idTemp = Decoder700xConfig::getUnitGuid(); for( int i=0; i<nVideoCnt; i++ ) { const Decoder700xVideoConfig& cfg = Decoder700xConfig::getVideoCfg(i,_idTemp,CIntelAnalyCard::m_infoCard.vtChannels[i].iIndex, 1004); pEntity->Guid = cfg.m_guid; pEntity->State = IDVR_ENTITY_ACTIVE; pEntity->Type = IDVR_ENTITY_VIDEODECODER; VideoDecoderConfig* pVideoDecoderConfig = (VideoDecoderConfig*)(pEntity+1); pVideoDecoderConfig->AnalogFormat = cfg.m_analogFormat; pEntity = (UnitEntity*)(pVideoDecoderConfig+1); DecoderSet::iterator iter = std::find( m_decoderSet.begin(), m_decoderSet.end(), cfg.m_guid ); if( iter == m_decoderSet.end() ) { //DecoderProxy* pDecoder = new SoftDecoder( i ); //每个解码卡通道创建一个softDecoder对象,softDecoder是DecoderProxy的子类 SoftDecoder* pDecoder = new SoftDecoder( i ); mydebug("new SoftDecoder( %d ) Start ... \n",i); pDecoder->m_guidAssociateEnc = cfg.m_guid; pDecoder->Start(); //只能调用一次 pDecoder->init(); mydebug("*** Associate Encoder Manager and Decoder *** ... \n",i); pDecoder->setProvider( &m_streamManager ); m_decoderSet.push_back( DecoderProxyHolder( pDecoder, cfg.m_guid ) ); } else{ mydebug("SoftDecoder init ... \n"); (*iter)->init(); } } mydebug("m_dirClient.RegistDevice() Start ... \n"); int _iDevType = ADV_MAKE_DEVICE_ID(ADV_VENDOR_MDIP,ADV_INTEL_ANALYSE,AV_NONE); bool bRes = m_dirClient.RegistDevice( _iDevType, nEntityCnt, pBuf, len ); delete []pBuf; return bRes; }