Пример #1
0
Switch::Switch(const GraphicsInfo &r_GfxInfo):m_OutputPin(SWITCH_FANOUT,PinInfo(r_GfxInfo.IMG->GetWidth(),r_GfxInfo.IMG->GetHeight()/2))
{
	ON=false;
	m_GfxInfo.x1 = r_GfxInfo.x1;
	m_GfxInfo.y1 = r_GfxInfo.y1;
	m_GfxInfo.x2 = r_GfxInfo.x2;
	m_GfxInfo.y2 = r_GfxInfo.y2;
	m_GfxInfo.IMG = r_GfxInfo.IMG;
	m_GfxInfo.IMGsel=r_GfxInfo.IMGsel;
	Level=0;
	m_Label = "-";
}
Пример #2
0
// -----------------------------------------------------------------------------
// CWimPin::RunL()
// Different phases are handled here
// iPhase = EEnablePinQueryStart: Sends enable PIN query message to server.
// iPhase = EEnablePinQueryEnd: Deallocates pckgbuffer used for message sending
//                              and completes request with received error code.
// iPhase = EDisablePinQueryStart: Sends disable PIN query message to server.
// iPhase = EDisablePinQueryEnd: Deallocates pckgbuffer used for message sending
//                               and completes request with received error code.
// iPhase = EChangePinStart: Sends change PIN message to server. 
// iPhase = EChangePinEnd: Dealloactes pckgbuffer used for message sending and 
//                         completes request with received error code.
// iPhase = EUnblockPinStart: Sends unblock PIN message to server
// iPhase = EUnblockPinEnd: Deallocates pckgbuffer used for message sending
//                               and completes request with received error code.
// iPhase = EVerifyPinStart: Sends verify PIN message to server.
// iPhase = EVerifyPinEnd:Deallocates pckgbuffer used for message sending
//                               and completes request with received error code.
// -----------------------------------------------------------------------------
//
void CWimPin::RunL()
    {
    _WIMTRACE ( _L( "CWimPin::RunL Start()" ) );
    if( iStatus.Int() == KErrCancel )
        {
        User::RequestComplete( iClientStatus, KErrCancel );
    	return;
        }
        
    switch( iPhase ) 
        {
        case EEnablePinQueryStart:
            {
            _WIMTRACE ( _L( "CWimPin::RunL EEnablePinQueryStart" ) );
            iCurrentPhase = EEnablePinQueryStart;
            
            PinParams( iPinParams );
            iPinStateRequest.iEnable = ETrue; //Enable PIN query
            iClientSession->EnableDisablePinQueryL( iReference,
                                                    iPinStateRequest,
                                                    iPinParams,
                                                    iStatus );
            iPhase = EEnablePinQueryEnd;
            SetActive();
            break;
            }
        case EEnablePinQueryEnd:
            {
            iCurrentPhase = EEnablePinQueryEnd;
            
            iClientSession->DeallocMemoryFromEnableDisablePinQuery();
            
            iReceivedStatus = iStatus.Int();
            iPhase = EUpdatePinStatus;
            SignalOwnStatusAndComplete();
            break;
            }
        case EDisablePinQueryStart:
            {
            _WIMTRACE ( _L( "CWimPin::RunL EDisablePinQueryStart" ) );
            iCurrentPhase = EDisablePinQueryStart;
            
            PinParams( iPinParams );
            iPinStateRequest.iEnable = EFalse; //Disable PIN query
            iClientSession->EnableDisablePinQueryL( iReference,
                                                        iPinStateRequest,
                                                        iPinParams,
                                                        iStatus );
            iPhase = EDisablePinQueryEnd;
            SetActive();
            break;
            }
        case EDisablePinQueryEnd:
            {
            
            iCurrentPhase = EDisablePinQueryEnd;
            
            iClientSession->DeallocMemoryFromEnableDisablePinQuery();
            
            iReceivedStatus = iStatus.Int();
            iPhase = EUpdatePinStatus;
            SignalOwnStatusAndComplete();
            break;
            }
        case EChangePinStart:
            {
            _WIMTRACE ( _L( "CWimPin::RunL EChangePinStart" ) );
            iCurrentPhase = EChangePinStart;

            
            PinParams( iPinParams );            
            iClientSession->PinOperationL( iReference,
                                           iPinParams, 
                                           EChangePINReq, 
                                           iStatus );
            iPhase = EChangePinEnd;
            SetActive();
            break;
            }
        case EChangePinEnd:
            {
            
            iCurrentPhase = EChangePinEnd;
            
            iClientSession->DeallocMemoryFromEnableDisablePinQuery();
            
            iReceivedStatus = iStatus.Int();
            iPhase = EUpdatePinStatus;
            SignalOwnStatusAndComplete();
            break;
            }
        case EUnblockPinStart:
            {
            _WIMTRACE ( _L( "CWimPin::RunL EUnblockPinStart" ) );
            iCurrentPhase = EUnblockPinStart;
            
            PinParams( iPinParams );
            iClientSession->PinOperationL( iReference, 
                                           iPinParams,
                                           EUnblockPinReq,
                                           iStatus );
            iPhase = EUnblockPinEnd;
            SetActive();
            break;
            }
        case EUnblockPinEnd:
            {
            
            iCurrentPhase = EUnblockPinEnd;
            
            iClientSession->DeallocMemoryFromEnableDisablePinQuery();
            
            iReceivedStatus = iStatus.Int();
            iPhase = EUpdatePinStatus;
            SignalOwnStatusAndComplete();
            break;
            }
        case EVerifyPinStart:
            {
            _WIMTRACE ( _L( "CWimPin::RunL EVerfiyPinStart" ) );
            iCurrentPhase = EVerifyPinStart;
            
            PinParams( iPinParams );
            iClientSession->PinOperationL( iReference, 
                                           iPinParams,
                                           EVerifyPinReq,
                                           iStatus );
            iPhase = EVerifyPinEnd;
            SetActive();
            break;
            }
        case EVerifyPinEnd:
            {
            
            iCurrentPhase = EVerifyPinEnd;
            
            iClientSession->DeallocMemoryFromEnableDisablePinQuery();
            
            iReceivedStatus = iStatus.Int();
            iPhase = EUpdatePinStatus;
            SignalOwnStatusAndComplete();
            break;
            }
        case EUpdatePinStatus:
            {
            _WIMTRACE ( _L( "CWimPin::RunL EUpdatePinStatus" ) );
            iCurrentPhase = EUpdatePinStatus;
            
            PinInfo( iStatus );
            iPhase = EUpdatePinStatusDone;
            SetActive();
            break;	
            }
        case EUpdatePinStatusDone:
            {
            
            iCurrentPhase = EUpdatePinStatusDone;
            
             if ( iStatus.Int() == KErrNone )
		        {
		        TPtr label = iLabel->Des();
		        label.Copy( iPinStruct.iLabel.Ptr(), iPinStruct.iLabel.Length() );
		        label.ZeroTerminate();
		        iPinStatus = iPinStruct.iStatus;
		        iPinNumber = iPinStruct.iPinNumber;
		        
		        User::RequestComplete( iClientStatus, iReceivedStatus );
		        }
		     else
		        {
		        User::RequestComplete( iClientStatus, iStatus.Int() );	
		        }   
        	break;
            }
        default:
            {
            break;
            }
        }
    }