コード例 #1
0
STDMETHODIMP CSubPicProviderExWrapper::NonDelegatingQueryInterface( REFIID riid, void** ppv )
{
    return
        QI(ISubPicProvider)
        QI(ISubPicProviderEx)
        __super::NonDelegatingQueryInterface(riid, ppv);    
}
コード例 #2
0
bool CSystemObjectWrapper::GetInterfaces(ISystemUnknown *piUnknown)
{
    m_piObject=QI(ISystemObject,piUnknown);
    if(m_piObject){m_piSerializable=QI(ISystemSerializable,piUnknown);}
    if(!m_piObject){ReleaseInterfaces();return false;}
    return true;
}
コード例 #3
0
ファイル: L_LED.cpp プロジェクト: EstebanQuerol/Black_FORTE
// TODO: rename to L_DO for digital output
void FORTE_L_LED::executeEvent(int pa_nEIID){
  unsigned int nPort = PORT() - 1; /** HW port # (not LMS port #) */
  unsigned int nType = T();

  QO() = QI();

  switch (pa_nEIID){

    case scm_nEventINITID:
      if(true == QI()){
        if(!FORTE_L_S_PORT::lmsIsLTsensor(nType))
          QO() = false;
      }
      sendOutputEvent(scm_nEventINITOID);
      break;
    case scm_nEventREQID:
      /* void CL_Sltled::lmsLtLedInit(cyg_int32 pa_unPortNum) */
      if(true == QI()){
        if(true == Q())
          lmsLtLedOn(nPort);
        else
          lmsLtLedOff(nPort);
      }
      sendOutputEvent(scm_nEventCNFID);
      break;
  }
}
コード例 #4
0
ファイル: Digital.cpp プロジェクト: EstebanQuerol/Black_FORTE
void FORTE_Digital::executeEvent(int pa_nEIID){
  QO() = QI();
  STATUS() = 0;
  switch (pa_nEIID){
    case scm_nEventINITID:
      if(true == QI()){
        libcbc_init(); //TODO: only call once //initialises the CBC Library :)
        if(PORT() >= 8 && PORT() <= 15){ //digital PORTS!!
          m_nPort = PORT();
        }
      }
      else{
        QO() = false;
        STATUS() = 1;
      }
      sendOutputEvent(scm_nEventINITOID);
      break;
    case scm_nEventREQID:
      if(true == QI()){
        STATUS() = digital(m_nPort);
      }
      sendOutputEvent(scm_nEventCNFID);
      break;
  }
}
コード例 #5
0
ファイル: BaseSplitter.cpp プロジェクト: DanHenebry/mpc-hc
STDMETHODIMP CBaseSplitterFilter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    CheckPointer(ppv, E_POINTER);

    *ppv = nullptr;

    if (m_pInput && riid == __uuidof(IFileSourceFilter)) {
        return E_NOINTERFACE;
    }

    return
        QI(IFileSourceFilter)
        QI(IMediaSeeking)
        QI(IAMOpenProgress)
        QI2(IAMMediaContent)
        QI2(IAMExtendedSeeking)
        QI(IKeyFrameInfo)
        QI(IBufferInfo)
        QI(IPropertyBag)
        QI(IPropertyBag2)
        QI(IDSMPropertyBag)
        QI(IDSMResourceBag)
        QI(IDSMChapterBag)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #6
0
ファイル: SubPicImpl.cpp プロジェクト: Cyberbeing/xy-VSFilter
STDMETHODIMP CSubPicExAllocatorImpl::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    return
        QI(ISubPicExAllocator)
        QI(ISubPicAllocator)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #7
0
void FORTE_TrkEclipse::executeEvent(int pa_nEIID){
  QO() = QI();
  switch (pa_nEIID){
    case scm_nEventREQID:
      if(true == QI()){
        //TODO: test with and without type casts
        track_update(); // get new image data
        COUNT() = static_cast<TForteInt16>(track_count(CH()));

        if(COUNT() > I_BLOB()){ // there is at least I_BLOBs on CH()
          SIZE() = static_cast<TForteInt16>(track_size(CH(), I_BLOB())); //
          FRAME() = static_cast<TForteInt16>(track_get_frame()); //
          CONFIDENCE() = static_cast<TForteInt16>(track_confidence(CH(), I_BLOB()));
          X() = static_cast<TForteInt16>(track_x(CH(), I_BLOB())); // get image  data
          Y() = static_cast<TForteInt16>(track_y(CH(), I_BLOB())); //    and data
          MAJOR() = static_cast<TForteInt16>(track_major_axis(CH(), I_BLOB())); // get image  data
          MINOR() = static_cast<TForteInt16>(track_minor_axis(CH(), I_BLOB())); //    and data

          if(true == INFO()){
            if(COUNT() > I_BLOB()){ // there is a blob
              printf("On Channel=%d  Eclipse Blob#%d is at (X,Y,MAJOR,MINOR)=(%d,%d,%d,%d)\n", (int) CH(), (int) I_BLOB(), (int) X(), (int) Y(), (int) MAJOR(), (int) MINOR());
              printf("\t Confidence=%d; Size=%d;Frame=%d\n", (int) CONFIDENCE(), (int) SIZE(), (int) FRAME());
            }
            else{
              printf("No Blob#%i in sight on Color Channel %i\n", (int) I_BLOB(), (int) CH());
            }
          }

        }

      }
      sendOutputEvent(scm_nEventCNFID);
      break;
  }
}
コード例 #8
0
ファイル: AsyncReader.cpp プロジェクト: slavanap/ssifSource
STDMETHODIMP CAsyncFileReader::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    CheckPointer(ppv, E_POINTER);

    return
        QI(IAsyncReader)
        QI(ISyncReader)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #9
0
ファイル: ISubPic.cpp プロジェクト: Fluffiest/splayer
STDMETHODIMP ISubPicAllocatorPresenterImpl::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
	//SVP_LogMsg5(L"ISubPic %s" , CStringFromGUID(riid));
	return 
		QI(ISubPicAllocatorPresenter)
		QI(ISubPicAllocatorPresenterRender)
		QI(ISubPicAllocatorPresenter2)
		__super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #10
0
ファイル: SubtitleSource.cpp プロジェクト: Samangan/mpc-hc
STDMETHODIMP CSubtitleSource::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
	CheckPointer(ppv, E_POINTER);

	return
		QI(IFileSourceFilter)
		QI(IAMFilterMiscFlags)
		__super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #11
0
ファイル: OutputPin.cpp プロジェクト: cynics/LAVFilters
STDMETHODIMP CLAVOutputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
  CheckPointer(ppv, E_POINTER);

  return 
    QI(IMediaSeeking)
    QI(ILAVPinInfo)
    __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #12
0
ファイル: VTSReader.cpp プロジェクト: AeonAxan/mpc-hc
STDMETHODIMP CVTSReader::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    CheckPointer(ppv, E_POINTER);

    return
        QI(IFileSourceFilter)
        QI(ITrackInfo)
        QI(IDSMChapterBag)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #13
0
STDMETHODIMP CSubPicAllocatorPresenterImpl::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{

    return
        QI(ISubPicAllocatorPresenter)
        QI(ISubPicAllocatorPresenter2)
        QI(ISubRenderOptions)
        QI(ISubRenderConsumer)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #14
0
FBL_Begin_Namespace

/**********************************************************************************************/
void Clone_Current_Value( 
	VALUE_TYPE	inFldType, 
	I_Field_Ptr inSourceFld, 
	I_Field_Ptr inTargetFld )
{		
	switch( inFldType )
	{		
		case 	kTypeSound:
		case 	kTypeMovie:
		case 	kTypeBLOB:
// Commented because this way we must read/write TEXT as STRING to avoid
// double read/write (we use FirstRecord()/NextRecord() for source table and therefore 
// src TEXT field already has its value).		
//		case 	kTypeText:
		case	kTypePicture:
		{	
			try
			{
				if( inSourceFld->get_IsNull() == false )
				{
					I_FldBlob_Ptr sourceBlobFld = QI( inSourceFld, I_FldBlob );
					FBL_CHECK( sourceBlobFld );
					vuint32 datasize = sourceBlobFld->get_DataSize();

					if( datasize )
					{
						MemPtr<char> theData( datasize );
						sourceBlobFld->ReadData( theData, datasize );						
						I_FldBlob_Ptr targetBlobFld = QI( inTargetFld, I_FldBlob );
						targetBlobFld->WriteData( theData, datasize );				
					}
					else
					{
						// Zero data but not sql-NULL.
						I_FldBlob_Ptr targetBlobFld = QI( inTargetFld, I_FldBlob );
						targetBlobFld->WriteData( nullptr, 0 );
					}
				}
			}
			catch(...)
			{
			}			
		} break;

		default: 
		{
			// Common case:
			inTargetFld->put_Value( inSourceFld->get_Value() );

		} break;
	}
}
コード例 #15
0
STDMETHODIMP CRenderedHdmvSubtitle::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    CheckPointer(ppv, E_POINTER);
    *ppv = NULL;

    return
        QI(IPersist)
        QI(ISubStream)
        QI(ISubPicProvider)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #16
0
ファイル: BaseMuxerInputPin.cpp プロジェクト: AeonAxan/mpc-hc
STDMETHODIMP CBaseMuxerInputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    CheckPointer(ppv, E_POINTER);

    return
        QI(IBaseMuxerRelatedPin)
        QI(IPropertyBag)
        QI(IPropertyBag2)
        QI(IDSMPropertyBag)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #17
0
STDMETHODIMP CLAVSubtitleConsumer::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
  CheckPointer(ppv, E_POINTER);

  *ppv = nullptr;

  return
    QI(ISubRenderConsumer)
    QI(ISubRenderConsumer2)
    __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #18
0
void FORTE_ST_SET_PARM::executeEvent(int pa_nEIID){
  switch(pa_nEIID){
    case scm_nEventREQID:
      QO() = QI();
      if(true == QI()) {
        executeRQST();
      } else {
		  STATUS() = "Not Ready";
      }
      sendOutputEvent(scm_nEventCNFID);
      break;
  }
}
コード例 #19
0
ファイル: BaseSplitter.cpp プロジェクト: DanHenebry/mpc-hc
STDMETHODIMP CBaseSplitterOutputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    CheckPointer(ppv, E_POINTER);

    return
        //      riid == __uuidof(IMediaSeeking) ? m_pFilter->QueryInterface(riid, ppv) :
        QI(IMediaSeeking)
        QI(IPropertyBag)
        QI(IPropertyBag2)
        QI(IDSMPropertyBag)
        QI(IBitRateInfo)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #20
0
STDMETHODIMP CWavPackSplitterFilter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
	CheckPointer(ppv, E_POINTER);

	return
		QI2(IAMMediaContent)
		QI(IPropertyBag)
		QI(IPropertyBag2)
		QI(IDSMResourceBag)
		QI(IDSMChapterBag)
		QI(IDSMPropertyBag)
		__super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #21
0
	DECLARE_IUNKNOWN
	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv)
	{
		return 
			QI(IPropertyPageSite)
			__super::NonDelegatingQueryInterface(riid, ppv);
	}
コード例 #22
0
ファイル: StreamSwitcher.cpp プロジェクト: EchoLiao/mpc-hc
STDMETHODIMP CStreamSwitcherInputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    return
        QI(IStreamSwitcherInputPin)
        IsConnected() && GetCLSID(GetFilterFromPin(GetConnected())) == __uuidof(NeroAudioDecoder) && QI(IPinConnection)
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #23
0
ファイル: SubPicImpl.cpp プロジェクト: Cyberbeing/xy-VSFilter
STDMETHODIMP CSubPicExImpl::NonDelegatingQueryInterface( REFIID riid, void** ppv )
{
    return
        QI(ISubPicEx)
        (riid == __uuidof(ISubPic)) ? GetInterface( static_cast<ISubPicEx*>(this), ppv) :
        __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #24
0
ファイル: BL_IX.cpp プロジェクト: EstebanQuerol/Black_FORTE
void FORTE_BL_IX::executeEvent(int pa_nEIID){
  switch(pa_nEIID){
    case scm_nEventINITID:
    	delete m_poGPIO;
    	m_poGPIO = NULL;
		if(QI() == true){
			char * pacBuffer =  new char[PARAMS().length() + 3];
			PARAMS().toString(pacBuffer, sizeof(char)*(PARAMS().length() + 3));
			if (verifyInput(pacBuffer, PARAMS().length() + 2)){
				STATUS() = "OK";
				QO() = true;
			}else{
				STATUS() = "Input PARAM error";
				QO() = false;
			}
			delete[] pacBuffer;
		}else{
			STATUS() = "INIT- OK";
			QO() = false;
		}
		sendOutputEvent(scm_nEventINITOID);
		break;
	case scm_nEventREQID:
		if(m_poGPIO != NULL){
			IN() = m_poGPIO->isHigh();
			STATUS() = "OK";
		}else{
			IN() = false;
			STATUS() = "Not initialized";
		}
		sendOutputEvent(scm_nEventCNFID);
		break;
  }
}
コード例 #25
0
STDMETHODIMP CVideoInputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
  CheckPointer(ppv, E_POINTER);

  return
    QI(IPinSegmentEx)
    __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #26
0
ファイル: DSMPropertyBag.cpp プロジェクト: Fluffiest/splayer
STDMETHODIMP CDSMChapterBag::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
    CheckPointer(ppv, E_POINTER);

	return
		QI(IDSMChapterBag)
		 __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #27
0
ファイル: LibraryReader.cpp プロジェクト: wozio/mpc-hc
STDMETHODIMP CLibraryReader::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
  CheckPointer(ppv, E_POINTER);

  return
    QI(IFileSourceFilter)
    __super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #28
0
ファイル: StreamDriveThru.cpp プロジェクト: Strongc/playasa
STDMETHODIMP CStreamDriveThruFilter::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
	CheckPointer(ppv, E_POINTER);

	return 
		QI(IMediaSeeking)
		__super::NonDelegatingQueryInterface(riid, ppv);
}
コード例 #29
0
void FORTE_X20DI9371::executeEvent(int pa_nEIID){
  switch (pa_nEIID){
    case scm_nEventINITID:
      if(QI() == true){
        m_bInitOk = false;

        CEplStackWrapper &eplStack = CEplStackWrapper::getInstance();

        // Get settings for intputs
        CProcessImageMatrix* moduleIOs = eplStack.getProcessImageMatrixOut()->getModuleEntries(CNID(), MODID());

        if(moduleIOs){
          // Inputs (process inputs) always start with i = 1
          // Check xap.xml if a BitUnused is present
          for(unsigned int i = 1; i < moduleIOs->getNrOfEntries() - 1; i++){
            m_oEplMapping.m_lCurrentValues.push_back(new SEplMapping::SEplMappingValues(moduleIOs->getEntry(i)[0], moduleIOs->getEntry(i)[1], moduleIOs->getEntry(i)[2]));
          }

          delete moduleIOs;

          eplStack.registerCallback((IEplCNCallback*) this);

          m_bInitOk = true;
        }
      }
      QO() = QI();
      CNIDO() = CNID();
      sendOutputEvent(scm_nEventINITOID);
      break;
    case scm_nEventREQID:
      if(QI() == true && m_bInitOk){
        m_oSync.lock();
        SEplMapping::TEplMappingList::Iterator itEnd = m_oEplMapping.m_lCurrentValues.end();
        SEplMapping::TEplMappingList::Iterator it = m_oEplMapping.m_lCurrentValues.begin();
        for(int i = 3; i < m_pstInterfaceSpec->m_nNumDOs && it != itEnd; i++, ++it){
          bool ioVal = false;
          ioVal = *(it->m_pchCurrentValue) != 0x00;
          *static_cast<CIEC_BOOL*>(getDO(i)) = ioVal;
        }
        m_oSync.unlock();
      }
      QO() = QI();
      sendOutputEvent(scm_nEventCNFID);
      break;
  }
}
コード例 #30
0
STDMETHODIMP CLAVVideoSubtitleInputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv)
{
  CheckPointer(ppv, E_POINTER);

  return
    QI(IKsPropertySet)
    __super::NonDelegatingQueryInterface(riid, ppv);
}