///////////////////////////////////////////////////////////////////////////////////////// // Command::Command //! Create a revertible command //! //! \param[in] id - Command identifier //! \param[in] exec - Callable target which implements executing command //! \param[in] undo - Callable target which implements reverting command ///////////////////////////////////////////////////////////////////////////////////////// Command(CommandId id, execute_t exec, revert_t undo) : Ident(id), Icon(resource_id(id)), Decoder(resource_id(id)), Permanent(false), ExecuteFn(exec), RevertFn(undo) {}
void log_t::resource_gain_event( player_t* p, int resource, double amount, double actual_amount, gain_t* source ) { if ( ! write_timestamp( p -> sim ) ) return; // FIXME! Unable to tell from which player this resource gain occurred, so we assume it is from the player himself. if ( resource == RESOURCE_HEALTH ) { util_t::fprintf( p -> sim -> log_file, "SPELL_PERIODIC_HEAL,%s,%s,%d,\"%s\",0x%X,%d,%d,nil\n", p -> id(), p -> id(), ( source -> id ? source -> id : default_id( p -> sim, source -> name() ) ), source -> name(), school_id( SCHOOL_PHYSICAL ), ( int ) actual_amount, ( int ) ( amount - actual_amount ) ); } else { util_t::fprintf( p -> sim -> log_file, "SPELL_ENERGIZE,%s,%s,%d,\"%s\",0x%X,%d,%d\n", p -> id(), p -> id(), ( source -> id ? source -> id : default_id( p -> sim, source -> name() ) ), source -> name(), school_id( SCHOOL_PHYSICAL ), ( int ) actual_amount, resource_id( resource ) ); } }
// --------------------------------------------------------- // CDpMif::RunL // This method handles received message from Isc Api and // renews read from Isc Api. // --------------------------------------------------------- // void CDpMif::RunL() { OstTrace0( TRACE_NORMAL, CDPMIF_RUNL, "CDpMif::RunL" ); LOGM1("CDpMif::RunL - Port %d", iDataPort.PortUnit() ); // we are always signaled from PhoNet ReceiveMessage if ( KErrNoMemory == iStatus.Int() ) { LOGM(" ==> KErrNoMemory"); OstTrace0( TRACE_NORMAL, DUP1_CDPMIF_RUNL, "CDpMif:: ==> KErrNoMemory" ); // deallocate current message if ( iMsgReceiveBuffer ) { delete iMsgReceiveBuffer; iMsgReceiveBuffer = NULL; iReceiveMessage.Set( NULL, 0, 0 ); } //no else // ISA Handle receive // Trying to allocate a new message iMsgReceiveBuffer = HBufC8::NewL( ISI_HEADER_SIZE + iLen ); _LIT( KPanicStr, "Dataport - CDpMif::RunL" ); __ASSERT_ALWAYS( iMsgReceiveBuffer, User::Panic( KPanicStr, KErrNoMemory ) ); iReceiveMessage.Set( iMsgReceiveBuffer->Des() ); iLen = 0; if ( !IsActive() ) { iDataPort.ISAHandle().Receive( iStatus, iReceiveMessage, iLen ); SetActive(); } //no else } else { OstTrace0( TRACE_NORMAL, DUP2_CDPMIF_RUNL, "CDpMif:: ==> ISI-message received" ); OstPrintIsiMessage( iReceiveMessage ); LOGM(" ==> ISI-message received"); LOGMESSAGE( iReceiveMessage ); TIsiReceiveC receivedMsg( iReceiveMessage ); TUint8 resource_id( receivedMsg.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) ); TUint8 message_id( receivedMsg.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); switch ( resource_id ) { case PN_NAMESERVICE: { switch ( message_id ) { case PNS_NAME_ADD_RESP: { LOG(" ==> PNS_NAME_ADD_RESP received"); OstTrace0( TRACE_NORMAL, DUP4_CDPMIF_RUNL, "CDpMif:: ==> PNS_NAME_ADD_RESP received" ); TUint8 reason( receivedMsg.Get8bit( ISI_HEADER_SIZE + PNS_NAME_ADD_RESP_OFFSET_REASON ) ); TInt error( KErrNone ); switch ( reason ) { case PN_NAME_OK: { LOG(" ==> PN_NAME_OK"); OstTrace0( TRACE_NORMAL, DUP5_CDPMIF_RUNL, "CDpMif:: ==> PN_NAME_OK" ); error = KErrNone; break; } default: { LOG1(" ==> reason: %d", reason ); OstTraceExt1( TRACE_NORMAL, DUP6_CDPMIF_RUNL, "CDpMif:: ==> reason: %hhu", reason ); error = KErrGeneral; } } iDataPort.SignalPif( error ); break; } case PNS_NAME_REMOVE_RESP: { LOG(" ==> PNS_NAME_REMOVE_RESP received"); OstTrace0( TRACE_NORMAL, DUP7_CDPMIF_RUNL, "CDpMif:: ==> PNS_NAME_REMOVE_RESP received" ); break; } default: { LOG1(" ==> Unknown message received. ID: %d", message_id ); OstTraceExt1( TRACE_NORMAL, DUP8_CDPMIF_RUNL, "CDpMif:: ==> Unknown message received. ID: %hhu", message_id ); } } break; } case PN_PIPE: { switch ( message_id ) { case PNS_PEP_CTRL_REQ: { LOG(" ==> PNS_PEP_CTRL_REQ received"); OstTrace0( TRACE_NORMAL, DUP9_CDPMIF_RUNL, "CDpMif:: ==> PNS_PEP_CTRL_REQ received" ); HandlePepCtrlReq( receivedMsg ); break; } case PNS_PEP_STATUS_IND: { LOG(" ==> PNS_PEP_STATUS_IND received"); OstTrace0( TRACE_NORMAL, DUP10_CDPMIF_RUNL, "CDpMif:: ==> PNS_PEP_STATUS_IND received" ); HandlePepStatusInd( receivedMsg ); break; } default: { LOG1(" ==> Unknown message received. ID: %d", message_id ); OstTraceExt1( TRACE_NORMAL, DUP11_CDPMIF_RUNL, "CDpMif:: ==> Unknown message received. ID: %hhu", message_id ); } } break; } default: { LOG1(" ==> Unknown message received. ID: %d", message_id ); OstTraceExt1( TRACE_NORMAL, DUP12_CDPMIF_RUNL, "CDpMif:: ==> Unknown message received. ID: %hhu", message_id ); } } iReceiveMessage.Zero(); // Check if pipe is removed if ( PNS_NAME_REMOVE_RESP == message_id && CDpPif::EDpPipeDisconnected == iPifDcs.PipeState() ) { // Check if DataPort is ready to be deleted if ( iDataPort.IsReadyToDestruct() ) { iDataPort.DeleteDataPort(); } //no else } else { // Renew read User::LeaveIfError( Read() ); } } }
///////////////////////////////////////////////////////////////////////////////////////// // Command::Command //! Create a permanent command //! //! \param[in] id - Command identifier (Defining name, description, and icon resource) //! \param[in] exec - Callable target which implements executing command ///////////////////////////////////////////////////////////////////////////////////////// Command(CommandId id, execute_t exec) : Ident(id), Icon(resource_id(id)), Decoder(resource_id(id)), Permanent(true), ExecuteFn(exec) {}