sipexstateacceptingsip.cpp

来自「an example for sip for symbian」· C++ 代码 · 共 82 行

CPP
82
字号
/*
* ==============================================================================
*  Name        : SIPExStateAcceptingSIP.cpp
*  Part of     : SIPExEngine
*  Interface   : 
*  Description : 
*  Version     : 
*
*  Copyright (c) 2004-2006 Nokia Corporation.
*  This material, including documentation and any related 
*  computer programs, is protected by copyright controlled by 
*  Nokia Corporation.
* ==============================================================================
*/

// INCLUDES
#include    "SIPExStateAcceptingSIP.h"
#include    "SIPExGameEngine.h"
#include    "SIPExSIPEngine.h"

// -----------------------------------------------------------------------------
// TSIPExState::SocketState
// Changes the active state according the new state of the Socket engine.
// If the socket is connected the game is reseted first and the turn is given
// to the remote peer.
// If not connected, info UI and set Registered to a new active state.
// -----------------------------------------------------------------------------
//
void TSIPExStateAcceptingSIP::SocketState( 
    CSIPExEngine* aContext, 
    TInt aNewState )
    {
    aContext->SetPeer( CSIPExEngine::EServer );
    switch (aNewState)
        {
        case CSIPExSocketEngine::ENotConnected:
            ChangeState( aContext, aContext->iStateRegistered );
            aContext->InfoL( KNotConnected() );
            break;
        case CSIPExSocketEngine::EConnected:
            aContext->ResetGame();
            ChangeState( aContext, aContext->iStateRemote );
            aContext->StatusInfoL( KWaitingRemote() );
            aContext->InfoL( KConnected() );
            break;

        case CSIPExSocketEngine::ETimedOut:
            ChangeState( aContext, aContext->iStateRegistered );
            aContext->InfoL( KTimedOut() );
            break;
        default:
            break;
        }
    }


// -----------------------------------------------------------------------------
// TSIPExStateAcceptingSIP::EndGameL
// The SIP session will be ended.
// -----------------------------------------------------------------------------
//
void TSIPExStateAcceptingSIP::EndGameL( CSIPExEngine* aContext )
    {
    aContext->SIPEngine()->EndSessionL();
    }

// -----------------------------------------------------------------------------
// TSIPExStateAcceptingSIP::InvitationCancelled
// The invitation is cancelled. The active state is changed to the registered
// and the socket engine is destroyed.
// -----------------------------------------------------------------------------
//
void TSIPExStateAcceptingSIP::InvitationCancelled( CSIPExEngine* aContext)
    {
    ChangeState( aContext, aContext->iStateRegistered );
    TRAPD( ignore, aContext->SocketEngineL()->Stop() );
    aContext->DestroySocketEngine();
    }
    
// End of file

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?