Esempio n. 1
0
bool CGUIDialogNumeric::OnAction(const CAction &action)
{
  if (action.GetID() == ACTION_NEXT_ITEM)
    OnNext();
  else if (action.GetID() == ACTION_PREV_ITEM)
    OnPrevious();
  else if (action.GetID() == ACTION_BACKSPACE)
    OnBackSpace();
  else if (action.GetID() == ACTION_ENTER)
    OnOK();
  else if (action.GetID() >= REMOTE_0 && action.GetID() <= REMOTE_9)
    OnNumber(action.GetID() - REMOTE_0);
  else if (action.GetID() >= KEY_VKEY && action.GetID() < KEY_ASCII)
  { // input from the keyboard (vkey, not ascii)
    BYTE b = action.GetID() & 0xFF;
    if (b == XBMCVK_LEFT) OnPrevious();
    else if (b == XBMCVK_RIGHT) OnNext();
    else if (b == XBMCVK_RETURN || b == XBMCVK_NUMPADENTER) OnOK();
    else if (b == XBMCVK_BACK) OnBackSpace();
    else if (b == XBMCVK_ESCAPE) OnCancel();
  }
  else if (action.GetID() >= KEY_ASCII) // FIXME make it KEY_UNICODE
  { // input from the keyboard
    if (action.GetUnicode() == 10 || action.GetUnicode() == 13) OnOK(); // enter
    else if (action.GetUnicode() == 8) OnBackSpace(); // backspace
    else if (action.GetUnicode() == 27) OnCancel(); // escape
    else if (action.GetUnicode() >= 48 && action.GetUnicode() < 58)  // number
      OnNumber(action.GetUnicode() - 48);
  }
  else
    return CGUIDialog::OnAction(action);
  return true;
}
Esempio n. 2
0
LRESULT CFlashPlayerDlg::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	UINT_PTR nIDEvent = (UINT_PTR)wParam;
	if(nIDEvent == TIMER_HIDE_CURSOR) {
		while(ShowCursor(FALSE)>=0);
		KillTimer(TIMER_HIDE_CURSOR);
	} else {
		VARIANT_BOOL bPlaying;
		pFlashPtr->get_Playing(&bPlaying);
		if(bPlaying && IsFlashPlaying()) {
			if(!m_changing) {
				long m_fnow = 0;
				pFlashPtr->CurrentFrame(&m_fnow);
				int pos = (int)((double)m_fnow / (double)m_fnumber * 100.0);
				if(g_pTaskbarList) g_pTaskbarList->SetProgressValue(this->m_hWnd, pos, 100);
				m_control.SetPos(pos);
			}
		} else if(now_state == 4) {
			long m_fnow = 0;
			pFlashPtr->CurrentFrame(&m_fnow);
			if(m_fnow >= m_fnumber - 3)
				OnNext();
		}
	}
	return 0;
}
Esempio n. 3
0
bool CGUIDialogNumeric::OnMessage(CGUIMessage& message)
{
  switch ( message.GetMessage() )
  {
  case GUI_MSG_WINDOW_INIT:
    {
      m_bConfirmed = false;
      m_bCanceled = false;
      m_dirty = false;
      return CGUIDialog::OnMessage(message);
    }
    break;

  case GUI_MSG_CLICKED:
    {
      int iControl = message.GetSenderId();
      m_bConfirmed = false;
      m_bCanceled = false;
      if (CONTROL_NUM0 <= iControl && iControl <= CONTROL_NUM9)  // User numeric entry via dialog button UI
      {
        OnNumber(iControl - 10);
        return true;
      }
      else if (iControl == CONTROL_PREVIOUS)
      {
        OnPrevious();
        return true;
      }
      else if (iControl == CONTROL_NEXT)
      {
        OnNext();
        return true;
      }
      else if (iControl == CONTROL_BACKSPACE)
      {
        OnBackSpace();
        return true;
      }
      else if (iControl == CONTROL_ENTER)
      {
        OnOK();
        return true;
      }
    }
    break;

  case GUI_MSG_SET_TEXT:
    SetMode(m_mode, message.GetLabel());

    // close the dialog if requested
    if (message.GetParam1() > 0)
      OnOK();
    break;
  }
  return CGUIDialog::OnMessage(message);
}
Esempio n. 4
0
bool CGUIDialogNumeric::OnAction(const CAction &action)
{
  if (action.GetID() >= ACTION_MOVE_LEFT &&  action.GetID() <= ACTION_MOVE_DOWN)
    m_autoClosing = false;

  if (action.GetID() == ACTION_CLOSE_DIALOG || action.GetID() == ACTION_PREVIOUS_MENU)
    OnCancel();
  else if (action.GetID() == ACTION_NEXT_ITEM)
    OnNext();
  else if (action.GetID() == ACTION_PREV_ITEM)
    OnPrevious();
  else if (action.GetID() == ACTION_BACKSPACE)
    OnBackSpace();
  else if (action.GetID() == ACTION_ENTER)
    OnOK();
  else if (action.GetID() >= REMOTE_0 && action.GetID() <= REMOTE_9)
    OnNumber(action.GetID() - REMOTE_0);
  else if (action.GetID() >= KEY_VKEY && action.GetID() < KEY_ASCII)
  { // input from the keyboard (vkey, not ascii)
    BYTE b = action.GetID() & 0xFF;
    if (b == 0x25) OnPrevious();     // left
    else if (b == 0x27) OnNext();  // right
    else if (b == 0x0D) OnOK();         // enter
    else if (b == 0x08) OnBackSpace();    // backspace
    else if (b == 0x1B) OnCancel();        // escape
  }
  else if (action.GetID() >= KEY_ASCII) // FIXME make it KEY_UNICODE
  { // input from the keyboard
    if (action.GetUnicode() == 10 || action.GetUnicode() == 13) OnOK(); // enter
    else if (action.GetUnicode() == 8) OnBackSpace(); // backspace
    else if (action.GetUnicode() == 27) OnCancel(); // escape
    else if (action.GetUnicode() >= 48 && action.GetUnicode() < 58)  // number
      OnNumber(action.GetUnicode() - 48);
  }
  else
    return CGUIDialog::OnAction(action);
  return true;
}
Esempio n. 5
0
void CMainWindow::UpdateFade()
{
	if(m_trackLength != 0)
	{
		if(m_frames >= m_trackLength)
		{
			unsigned int itemCount = m_playlist.GetItemCount();
			if((m_currentPlaylistItem + 1) == itemCount)
			{
				if(m_repeatMode == PLAYLIST_REPEAT)
				{
					m_currentPlaylistItem = 0;
					OnPlaylistItemDblClick(m_currentPlaylistItem);
				}
				else if(m_repeatMode == PLAYLIST_SHUFFLE)
				{
					OnNext();
				}
				else
				{
					Reset();
					UpdatePlaybackButtons();
				}
			}
			else
			{
				OnNext();
			}
		}
		else if(m_frames >= m_fadePosition)
		{
			float currentRatio = static_cast<float>(m_frames - m_fadePosition) / static_cast<float>(m_trackLength - m_fadePosition);
			float currentVolume = (1.0f - currentRatio) * m_volumeAdjust;
			m_virtualMachine.SetVolumeAdjust(currentVolume);
		}
	}
}
Esempio n. 6
0
bool CGUIDialogNumeric::OnMessage(CGUIMessage& message)
{
  switch ( message.GetMessage() )
  {
  case GUI_MSG_WINDOW_INIT:
    {
      m_bConfirmed = false;
      m_bCanceled = false;
      m_dirty = false;
      m_autoCloseTime = 0;
      return CGUIDialog::OnMessage(message);
    }
    break;

  case GUI_MSG_CLICKED:
    {
      int iControl = message.GetSenderId();
      m_bConfirmed = false;
      m_bCanceled = false;
      if (CONTROL_NUM0 <= iControl && iControl <= CONTROL_NUM9)  // User numeric entry via dialog button UI
      {
        OnNumber(iControl - 10);
        return true;
      }
      else if (iControl == CONTROL_PREVIOUS)
      {
        OnPrevious();
        return true;
      }
      else if (iControl == CONTROL_NEXT)
      {
        OnNext();
        return true;
      }
      else if (iControl == CONTROL_BACKSPACE)
      {
        OnBackSpace();
        return true;
      }
      else if (iControl == CONTROL_ENTER)
      {
        OnOK();
        return true;
      }
    }
    break;
  }
  return CGUIDialog::OnMessage(message);
}
Esempio n. 7
0
BOOL CUIDialog::PreTranslateMessage(MSG* pMsg)
{
	// Tratar o sobe desce do joystick...
	if(pMsg->message == WM_KEYDOWN || pMsg->message == WM_KEYUP)
	{
		if(pMsg->lParam == 1 && pMsg->wParam < 132)
		{
			if(pMsg->wParam == VK_DOWN)
				OnNext();
			else if(pMsg->wParam == VK_UP)
				OnPrev();
		}
	}

	return CDialogEx::PreTranslateMessage(pMsg);
}
Esempio n. 8
0
void QuickFindBar::OnEnter(wxCommandEvent& e)
{
    wxUnusedVar(e);

    if(!m_findWhat->GetValue().IsEmpty()) {
        clConfig::Get().AddQuickFindSearchItem(m_findWhat->GetValue());
        // Update the search history
        DoUpdateSearchHistory();
    }

    bool shift = wxGetKeyState(WXK_SHIFT);
    if(shift) {
        OnPrev(e);
    } else {
        OnNext(e);
    }
}
Esempio n. 9
0
void QuickFindBar::OnButtonNext(wxCommandEvent& e) { OnNext(e); }
Esempio n. 10
0
/*----------------------------------------------------------------------
|   PLT_MediaRenderer::OnAction
+---------------------------------------------------------------------*/
NPT_Result
PLT_MediaRenderer::OnAction(PLT_ActionReference&          action,
                            const PLT_HttpRequestContext& context)
{
    NPT_COMPILER_UNUSED(context);

    /* parse the action name */
    NPT_String name = action->GetActionDesc().GetName();

    // since all actions take an instance ID and we only support 1 instance
    // verify that the Instance ID is 0 and return an error here now if not
    NPT_String serviceType = action->GetActionDesc().GetService()->GetServiceType();
    if (serviceType.Compare("urn:schemas-upnp-org:service:AVTransport:1", true) == 0) {
        if (NPT_FAILED(action->VerifyArgumentValue("InstanceID", "0"))) {
            action->SetError(718, "Not valid InstanceID");
            return NPT_FAILURE;
        }
    }
    serviceType = action->GetActionDesc().GetService()->GetServiceType();
    if (serviceType.Compare("urn:schemas-upnp-org:service:RenderingControl:1", true) == 0) {
        if (NPT_FAILED(action->VerifyArgumentValue("InstanceID", "0"))) {
            action->SetError(702, "Not valid InstanceID");
            return NPT_FAILURE;
        }
    }

    /* Is it a ConnectionManager Service Action ? */
    if (name.Compare("GetCurrentConnectionInfo", true) == 0) {
        return OnGetCurrentConnectionInfo(action);
    }

    /* Is it a AVTransport Service Action ? */
    if (name.Compare("Next", true) == 0) {
        return OnNext(action);
    }
    if (name.Compare("Pause", true) == 0) {
        return OnPause(action);
    }
    if (name.Compare("Play", true) == 0) {
        return OnPlay(action);
    }
    if (name.Compare("Previous", true) == 0) {
        return OnPrevious(action);
    }
    if (name.Compare("Seek", true) == 0) {
        return OnSeek(action);
    }
    if (name.Compare("Stop", true) == 0) {
        return OnStop(action);
    }
    if (name.Compare("SetAVTransportURI", true) == 0) {
        return OnSetAVTransportURI(action);
    }
    if (name.Compare("SetNextAVTransportURI", true) == 0) {
        return OnSetNextAVTransportURI(action);
    }
    if (name.Compare("SetPlayMode", true) == 0) {
        return OnSetPlayMode(action);
    }

    /* Is it a RendererControl Service Action ? */
    if (name.Compare("SetVolume", true) == 0) {
        return OnSetVolume(action);
    }
    if (name.Compare("SetVolumeDB", true) == 0) {
        return OnSetVolumeDB(action);
    }
    if (name.Compare("GetVolumeDBRange", true) == 0) {
        return OnGetVolumeDBRange(action);

    }
    if (name.Compare("SetMute", true) == 0) {
        return OnSetMute(action);
    }

    // other actions rely on state variables
    NPT_CHECK_LABEL_WARNING(action->SetArgumentsOutFromStateVariable(), failure);
    return NPT_SUCCESS;

failure:
    action->SetError(401,"No Such Action.");
    return NPT_FAILURE;
}
Esempio n. 11
0
LRESULT CFlashPlayerDlg::OnCmdKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	if(wParam != CMD_KEY)
		return FALSE;
	if(m_keydowning)
		return  FALSE;
	m_keydowning = true;
	CString cmd, value;
	if(GetKeyCommand(lParam, cmd, value)) {
		if( cmd == _T("quit")) {
			pFlashPtr->Stop();
			CloseDialog(0);
		} else if( cmd == _T("pause")) {
			if(IsFlashPlaying())
				pFlashPtr->Stop();
			else
				pFlashPtr->Play();
		} else if( cmd == _T("vo_fullscreen")) {
			FullScreen();
		} else if( cmd == _T("vo_ontop")) {
			if(! m_ontop) {
				::SetWindowPos(this->m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
				m_ontop = true;
			} else {
				::SetWindowPos(this->m_hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
				m_ontop = false;
			}
		} else if( cmd == _T("keep_aspect")) {
			int type;
			pFlashPtr->get_ScaleMode(&type);
			if(type == 0)
				pFlashPtr->put_ScaleMode(1);
			else if(type == 1)
				pFlashPtr->put_ScaleMode(2);
			else if(type == 2)
				pFlashPtr->put_ScaleMode(3);
			else if(type == 3)
				pFlashPtr->put_ScaleMode(4);
			else
				pFlashPtr->put_ScaleMode(0);
		} else if( cmd == _T("seek")) {
			int val = _ttoi(value);
			long m_fnow = 0;
			pFlashPtr->CurrentFrame(&m_fnow);
			long seek = m_fnow + (val * 5);
			if(seek > 0 && seek < m_fnumber) {
				pFlashPtr->GotoFrame(seek);
				pFlashPtr->Play();
			} else if (seek <= 0) {
				pFlashPtr->GotoFrame(0);
				pFlashPtr->Play();
			} else if (seek >= m_fnumber) {
				pFlashPtr->GotoFrame(m_fnumber);
				pFlashPtr->Play();
			}
		} else if( cmd == _T("pt_step")) {
			int val = _ttoi(value);
			if(val > 0)
				OnNext();
			else if(val < 0)
				OnPre();
		}
	}
	m_keydowning = false;
	return TRUE;
}
Esempio n. 12
0
long CMainWindow::OnCommand(unsigned short nID, unsigned short nCmd, HWND hControl)
{
	if(!IsWindowEnabled(m_hWnd))
	{
		return TRUE;
	}

	switch(nID)
	{
	case ID_FILE_ABOUT:
		OnAbout();
		break;
	case ID_FILE_ENABLEREVERB:
		OnClickReverbEnabled();
		break;
	case ID_FILE_EXIT:
		DestroyWindow(m_hWnd);
		break;
	case ID_FILE_NEXTTRACK:
		OnNext();
		break;
	case ID_FILE_PREVIOUSTRACK:
		OnPrev();
		break;
	case IDC_PAUSE_BUTTON:
	case ID_FILE_PAUSE:
		OnPause();
		break;
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 0:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 1:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 2:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 3:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 4:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 5:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 6:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 7:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 8:
	case ID_FILE_AUDIOPLUGIN_PLUGIN_0 + 9:
		ChangeAudioPlugin(nID - ID_FILE_AUDIOPLUGIN_PLUGIN_0);
		break;
	case ID_FILE_CHARENCODING_ENCODING_0 + 0:
	case ID_FILE_CHARENCODING_ENCODING_0 + 1:
	case ID_FILE_CHARENCODING_ENCODING_0 + 2:
	case ID_FILE_CHARENCODING_ENCODING_0 + 3:
	case ID_FILE_CHARENCODING_ENCODING_0 + 4:
	case ID_FILE_CHARENCODING_ENCODING_0 + 5:
	case ID_FILE_CHARENCODING_ENCODING_0 + 6:
	case ID_FILE_CHARENCODING_ENCODING_0 + 7:
	case ID_FILE_CHARENCODING_ENCODING_0 + 8:
	case ID_FILE_CHARENCODING_ENCODING_0 + 9:
		ChangeCharEncoding(nID - ID_FILE_CHARENCODING_ENCODING_0);
		break;
	case IDC_CONFIG_BUTTON:
		OnConfig();
		break;
	case IDC_LOOPMODE_BUTTON:
		OnRepeat();
		break;
	case IDC_PREVTAB_BUTTON:
		OnPrevPanel();
		break;
	case IDC_NEXTTAB_BUTTON:
		OnNextPanel();
		break;
	case IDC_EJECT_BUTTON:
		OnFileOpen();
		break;
	}
	return TRUE;
}
Esempio n. 13
0
void CQueryWizardDialog::OnOK() {
	OnNext();
	CDialog::OnOK();
}
Esempio n. 14
0
EMenuAction CMenuBase::Update (void)
{
    // Increase time elapsed in this menu mode
    m_MenuModeTime += m_pTimer->GetDeltaTime ();

    // If we don't have to exit this menu mode yet
    if (!m_HaveToExit)
    {
        // If NEXT control is pressed
        if (m_pInput->GetMainInput().TestNext())
        {
            // Don't play menu next sound because the choices of the user
            // could not be correct and we may have to play an error sound instead.
            
            OnNext ();
        }
        // If PREVIOUS control is pressed
        else if (m_pInput->GetMainInput().TestPrevious())
        {
            // Play the menu previous sound
            m_pSound->PlaySample (SAMPLE_MENU_PREVIOUS);

            OnPrevious ();
        }
        // If UP control is pressed
        else if (m_pInput->GetMainInput().TestUp())
        {
            // Play the menu beep sound
            m_pSound->PlaySample (SAMPLE_MENU_BEEP);

            OnUp ();
        }
        // If DOWN control is pressed
        else if (m_pInput->GetMainInput().TestDown())
        {
            // Play the menu beep sound
            m_pSound->PlaySample (SAMPLE_MENU_BEEP);

            OnDown ();
        }
        // If LEFT control is pressed
        else if (m_pInput->GetMainInput().TestLeft())
        {
            // Play the menu beep sound
            m_pSound->PlaySample (SAMPLE_MENU_BEEP);

            OnLeft ();
        }
        // If RIGHT control is pressed
        else if (m_pInput->GetMainInput().TestRight())
        {
            // Play the menu beep sound
            m_pSound->PlaySample (SAMPLE_MENU_BEEP);

            OnRight ();
        }

        // Update the menu screen
        OnUpdate ();
    }
    // If the transition has been entirely done (enough time has elapsed)
    else if (m_MenuModeTime >= m_ExitMenuModeTime + TRANSITION_DURATION)
    {
        // It's OK to exit now!
        // Ask for the menu action we saved
        return m_ExitMenuAction;
    }

    // Don't have to change menu mode nor game mode
    return MENUACTION_NONE;
}
Esempio n. 15
0
LRESULT CFlashPlayerDlg::OnNextM(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
	OnNext();
	return 0;
}
Esempio n. 16
0
//--------------------------------------------------------------------------------------------
//
//--------------------------------------------------------------------------------------------
tApVrfCalibrationWizard::tApVrfCalibrationWizard( tPilotController& pilotDevice, QWidget* pParent )
: tDialog( tDialog::Partial, pParent )
, m_CalibrationStep( eCS_Initial )
, m_pText( 0 )
, m_pYesAct( 0 )
, m_pNoAct( 0 )
, m_pCancelAct( 0 )
, m_pMovePortBtn( 0 )
, m_pNextAct( 0 )
, m_pCloseAct( 0 )
, m_pDummyAct( 0 )
, m_pDummy2Act( 0 )
, m_TurnState( eTS_Normal )
, m_PilotDevice( pilotDevice )
{
    setWindowTitle( tr( "Virtual Rudder Feedback Calibration" ) );

    QGridLayout* pLayout = new QGridLayout;
    pLayout->setContentsMargins( 30, 0, 10, 0 );
    pLayout->setSpacing( 5 );
    
    m_pText = new QLabel( tr( "Use wheel to center the rudder." ) );
    m_pText->setWordWrap(true);
    m_pText->setMinimumHeight( m_pText->fontMetrics().height() * 3 + 20 );

    m_pMovePortBtn = new tPushButton();
    m_pMovePortBtn->hide();
    Connect( m_pMovePortBtn, SIGNAL( pressed() ), this, SLOT( OnLeftBtnPressed() ) );
    Connect( m_pMovePortBtn, SIGNAL( released() ), this, SLOT( OnLeftBtnReleased() ) );

    pLayout->addWidget( m_pText, 0, 0, 1, 3 );
    pLayout->addWidget( m_pMovePortBtn, 0, 4, 1, 1 );

    setLayout( pLayout );

    m_pNextAct = new tAction( tr( "Next", "button" ), this );
    Connect( m_pNextAct, SIGNAL( triggered() ), this, SLOT( OnNext() ) );

    m_pCancelAct = new tAction( tr( "Cancel", "button" ), this );
    Connect( m_pCancelAct, SIGNAL( triggered() ), this, SLOT( reject() ) );

    m_pYesAct = new tAction( tr( "Yes", "button" ), this );
    Connect( m_pYesAct, SIGNAL( triggered() ), this, SLOT( OnYes() ) );

    m_pNoAct = new tAction( tr( "No", "button" ), this );
    Connect( m_pNoAct, SIGNAL( triggered() ), this, SLOT( OnNo() ) );

    m_pCloseAct = new tAction( tr( "Close", "button" ), this );
    Connect( m_pCloseAct, SIGNAL( triggered() ), this, SLOT( accept() ) );

    m_pDummyAct = new tAction( this );
    m_pDummyAct->setSeparator( true );
    m_pDummy2Act = new tAction( this );
    m_pDummy2Act->setSeparator( true );
 
    // add dummy to provide space for max of 3 softkeys
    m_ActionList << m_pDummyAct << m_pNextAct << m_pCancelAct;    
    setSoftKeys( m_ActionList, true );

    SoftKeyBar()->SetFocus( m_pNextAct );

    // Connect to the pilot virtual device for rudder test mode changes
    Connect( m_PilotDevice.GetRudderTestInterface(), SIGNAL( RudderTestModeChanged(tDriveProxy::eRudderTestMode) ),
             this, SLOT( OnRudderTestModeChanged(tDriveProxy::eRudderTestMode) ) );
}
Esempio n. 17
0
NPT_Result
GPAC_MediaRenderer::OnAction(PLT_ActionReference&          action,
                            const PLT_HttpRequestContext& context)
{
    NPT_COMPILER_UNUSED(context);

    /* parse the action name */
    NPT_String name = action->GetActionDesc().GetName();

	m_ip_src = context.GetRemoteAddress().GetIpAddress().ToString();

	/* Is it a ConnectionManager Service Action ? */
    if (name.Compare("GetCurrentConnectionIDs", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetProtocolInfo", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetCurrentConnectionInfo", true) == 0) {
        return OnGetCurrentConnectionInfo(action);
    }
    if (name.Compare("StopForMigration", true) == 0) {
		NPT_String res = m_pUPnP->OnMigrate();
        m_pMigrationService->SetStateVariable("MigrationStatus", "OK");
        m_pMigrationService->SetStateVariable("MigrationMetaData", res);

		if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }

    /* Is it a AVTransport Service Action ? */

    // since all actions take an instance ID and we only support 1 instance
    // verify that the Instance ID is 0 and return an error here now if not
    NPT_String serviceType = action->GetActionDesc().GetService()->GetServiceType();
    if (serviceType.Compare("urn:schemas-upnp-org:service:AVTransport:1", true) == 0) {
        if (NPT_FAILED(action->VerifyArgumentValue("InstanceID", "0"))) {
            action->SetError(802,"Not valid InstanceID.");
            return NPT_FAILURE;
        }
    }

    if (name.Compare("GetCurrentTransportActions", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetDeviceCapabilities", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetMediaInfo", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetPositionInfo", true) == 0) {
		if (m_pUPnP->m_pTerm->root_scene) {
			char szVal[100];

			m_pAVService->SetStateVariable("CurrentTrack", "0");
			format_time_string(szVal, m_Duration);
			m_pAVService->SetStateVariable("CurrentTrackDuration", szVal);

			m_pAVService->SetStateVariable("CurrentTrackMetadata", "");
			m_pAVService->SetStateVariable("CurrentTrackURI", "");
			format_time_string(szVal, m_Time);
			m_pAVService->SetStateVariable("RelativeTimePosition", szVal);
			m_pAVService->SetStateVariable("AbsoluteTimePosition", szVal);
			m_pAVService->SetStateVariable("RelativeCounterPosition", "2147483647"); // means NOT_IMPLEMENTED
			m_pAVService->SetStateVariable("AbsoluteCounterPosition", "2147483647"); // means NOT_IMPLEMENTED
		} else {
			if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
				return NPT_FAILURE;
			}
		}
        return NPT_SUCCESS;
    }
    if (name.Compare("GetTransportInfo", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetTransportSettings", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("Next", true) == 0) {
        return OnNext(action);
    }
    if (name.Compare("Pause", true) == 0) {
        return OnPause(action);
    }
    if (name.Compare("Play", true) == 0) {
        return OnPlay(action);
    }
    if (name.Compare("Previous", true) == 0) {
        return OnPrevious(action);
    }
    if (name.Compare("Seek", true) == 0) {
        return OnSeek(action);
    }
    if (name.Compare("Stop", true) == 0) {
        return OnStop(action);
    }
    if (name.Compare("SetAVTransportURI", true) == 0) {
        return OnSetAVTransportURI(action);
    }
    if (name.Compare("SetPlayMode", true) == 0) {
        return OnSetPlayMode(action);
    }

    /* Is it a RendererControl Service Action ? */
    if (serviceType.Compare("urn:schemas-upnp-org:service:RenderingControl:1", true) == 0) {
        /* we only support master channel */
        if (NPT_FAILED(action->VerifyArgumentValue("Channel", "Master"))) {
            action->SetError(402,"Invalid Args.");
            return NPT_FAILURE;
        }
    }

    if (name.Compare("GetVolume", true) == 0) {
        NPT_CHECK_SEVERE(action->SetArgumentsOutFromStateVariable());
        return NPT_SUCCESS;
    }

    if (name.Compare("GetMute", true) == 0) {
        NPT_CHECK_SEVERE(action->SetArgumentsOutFromStateVariable());
        return NPT_SUCCESS;
    }

    if (name.Compare("SetVolume", true) == 0) {
          return OnSetVolume(action);
    }

    if (name.Compare("SetMute", true) == 0) {
          return OnSetMute(action);
    }

    action->SetError(401,"No Such Action.");
    return NPT_FAILURE;
}
Esempio n. 18
0
/*----------------------------------------------------------------------
|   PLT_MediaRenderer::OnAction
+---------------------------------------------------------------------*/
NPT_Result
PLT_MediaRenderer::OnAction(PLT_ActionReference& action, NPT_SocketInfo* info /* = NULL */)
{
    NPT_COMPILER_UNUSED(info);

    /* parse the action name */
    NPT_String name = action->GetActionDesc()->GetName();

    /* Is it a ConnectionManager Service Action ? */
    if (name.Compare("GetCurrentConnectionIDs", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetProtocolInfo", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }    
    if (name.Compare("GetCurrentConnectionInfo", true) == 0) {
        return OnGetCurrentConnectionInfo(action);
    }  

    /* Is it a AVTransport Service Action ? */

    // since all actions take an instance ID and we only support 1 instance
    // verify that the Instance ID is 0 and return an error here now if not
    NPT_String serviceType = action->GetActionDesc()->GetService()->GetServiceType();
    if (serviceType.Compare("urn:schemas-upnp-org:service:AVTransport:1", true) == 0) {
        if (NPT_FAILED(action->VerifyArgumentValue("InstanceID", "0"))) {
            action->SetError(802,"Not valid InstanceID.");
            return NPT_FAILURE;
        }
    }

    if (name.Compare("GetCurrentTransportActions", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetDeviceCapabilities", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetMediaInfo", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetPositionInfo", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetTransportInfo", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("GetTransportSettings", true) == 0) {
        if (NPT_FAILED(action->SetArgumentsOutFromStateVariable())) {
            return NPT_FAILURE;
        }
        return NPT_SUCCESS;
    }
    if (name.Compare("Next", true) == 0) {
        return OnNext(action);
    }
    if (name.Compare("Pause", true) == 0) {
        return OnPause(action);
    }
    if (name.Compare("Play", true) == 0) {
        return OnPlay(action);
    }
    if (name.Compare("Previous", true) == 0) {
        return OnPrevious(action);
    }
    if (name.Compare("Seek", true) == 0) {
        return OnSeek(action);
    }
    if (name.Compare("Stop", true) == 0) {
        return OnStop(action);
    }
    if (name.Compare("SetAVTransportURI", true) == 0) {
        return OnSetAVTransportURI(action);
    }
    if (name.Compare("SetPlayMode", true) == 0) {
        return OnSetPlayMode(action);
    }

    action->SetError(401,"No Such Action.");
    return NPT_FAILURE;
}
Esempio n. 19
0
void QuickFindBar::OnButtonNext(wxFlatButtonEvent& e) { OnNext(e); }