00001 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 00002 // All rights reserved. 00003 // This component and the accompanying materials are made available 00004 // under the terms of "Eclipse Public License v1.0" 00005 // which accompanies this distribution, and is available 00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html". 00007 // 00008 // Initial Contributors: 00009 // Nokia Corporation - initial contribution. 00010 // 00011 // Contributors: 00012 // 00013 // Description: 00014 // 00015 00016 #include <e32base.h> 00017 #include "cardgamerecv.h" 00018 #include "cardgamebase.h" 00019 00020 00024 CCardGameRecv::CCardGameRecv(CCardGameBase& aParent, RSocket& aSocket) 00025 : CActive(EPriorityNormal), 00026 iParent(aParent), 00027 iSocket(aSocket) 00028 { 00029 CActiveScheduler::Add(this); 00030 } 00031 00035 CCardGameRecv* CCardGameRecv::NewL(CCardGameBase& aParent, RSocket& aSocket) 00036 { 00037 CCardGameRecv* self = new (ELeave) CCardGameRecv(aParent, aSocket); 00038 return self; 00039 } 00040 00041 00045 CCardGameRecv::~CCardGameRecv() 00046 { 00047 Cancel();// Cancel Active Object 00048 } 00049 00053 void CCardGameRecv::RunL() 00054 { 00055 iParent.RecvComplete(iRecvAddr, iStatus.Int()); 00056 } 00057 00061 void CCardGameRecv::RecvFrom(TDes8& aDes) 00062 { 00063 iSocket.RecvFrom(aDes, iRecvAddr, 0, iStatus); 00064 SetActive(); 00065 } 00069 void CCardGameRecv::DoCancel() 00070 { 00071 iSocket.CancelRecv(); 00072 }