示例#1
0
void
ES_RemoteDebugFrontend::ThreadStartedL(unsigned dbg_runtime_id, unsigned dbg_thread_id, unsigned dbg_parent_thread_id, ThreadType type, const uni_char *namespace_uri, const uni_char *event_type, const ES_DebugRuntimeInformation *runtimeinfo)
{
	ES_DebugMessage *message = current_message = new (ELeave) ES_DebugMessage;

	ES_ThreadStartedMessagePart *body = new (ELeave) ES_ThreadStartedMessagePart;
	message->AddPart(body);

	body->runtime_id = dbg_runtime_id;
	body->thread_id = dbg_thread_id;
	body->parent_thread_id = dbg_parent_thread_id;
	body->thread_type = type;

	if (type == THREAD_TYPE_EVENT)
	{
		ES_DebugMessagePart::SetString16L(body->event_namespace_uri, body->event_namespace_uri_length, namespace_uri);
		ES_DebugMessagePart::SetString16L(body->event_type, body->event_type_length, event_type);
	}

	ES_RemoteAddRuntimeInformationL(message, runtimeinfo);

	current_message = NULL;

	SendL(message);
}
示例#2
0
// -----------------------------------------------------------------------------
// CMceItcSender::SendL
// -----------------------------------------------------------------------------
//
void CMceItcSender::SendL( TMceIds& aIds,
             		       TMceItcFunctions aITCFunction,
                           CMceMsgBase& aMessage,
            			   HBufC8* aBody,
            			   TBool aTakeOwnershipOfBody )
    {
    MCECLI_DEBUG("CMceItcSender::SendL(message,body), Entry");
    
    aMessage.EncodeL();
    TPtr8 externalizedMessage = aMessage.EncodeBuffer().Ptr(0);

    Mem::FillZ( &iITCMsgArgs, sizeof( iITCMsgArgs ) );
    aIds.iMsgType = aMessage.Type();
        
    iITCMsgArgs.Set( EMceItcArgContext, &externalizedMessage );
    
    if ( aBody )
        {
        iITCMsgArgs.Set( EMceItcArgMessageContent, aBody );    
        }
    else
        {
        iITCMsgArgs.Set( EMceItcArgMessageContent, &iEmptyBody );
        }
    SendL( aIds, aITCFunction );
    if ( aTakeOwnershipOfBody )
    	{
    	delete aBody;	
    	}

    MCECLI_DEBUG("CMceItcSender::SendL(message,body), Exit");
    }
示例#3
0
void
ES_RemoteDebugFrontend::EvalReplyL(unsigned tag, EvalStatus status, const ES_DebugValue &result)
{
	ES_DebugMessage *message = current_message = new (ELeave) ES_DebugMessage;

	ES_EvalReplyMessagePart *body = new (ELeave) ES_EvalReplyMessagePart;
	message->AddPart(body);

	body->tag = tag;
	body->status = status;

	if (status == EVAL_STATUS_FINISHED || status == EVAL_STATUS_EXCEPTION)
	{
		ES_DebugReturnValue returnvalue;

		returnvalue.function.id = 0;
		returnvalue.value = result;
		returnvalue.next = NULL;

		ES_RemoteAddReturnValuesL(message, &returnvalue, status == EVAL_STATUS_EXCEPTION);
	}

	current_message = NULL;

	SendL(message);
}
示例#4
0
void
ES_RemoteDebugFrontend::ExamineReplyL(unsigned tag, unsigned objects_count, ES_DebugObjectProperties *objects)
{
	ES_DebugMessage *message = current_message = new (ELeave) ES_DebugMessage;

	ES_ExamineReplyMessagePart *body = new (ELeave) ES_ExamineReplyMessagePart;
	message->AddPart(body);

	body->tag = tag;

	for (unsigned oindex = 0; oindex < objects_count; ++oindex)
	{
		ES_DebugObjectProperties &properties = objects[oindex];
		unsigned properties_count = properties.properties_count;

		body->AddObjectL(properties.object.id, properties_count);
		message->AddObjectInfoL(properties.object);

		for (unsigned pindex = 0; pindex < properties_count; ++pindex)
		{
			body->SetPropertyL(properties.properties[pindex].name, properties.properties[pindex].value);

			if (properties.properties[pindex].value.type == VALUE_OBJECT)
				message->AddObjectInfoL(properties.properties[pindex].value.value.object);
		}
	}

	current_message = NULL;

	SendL(message);
}
// ---------------------------------------------------------------------------------
// CUpnpTmClientProfileService::ActionReceivedLD
// @param aAction action received from the client
// ---------------------------------------------------------------------------------
//
void CUpnpTmClientProfileService::ActionReceivedLD( CUpnpAction* aAction )
{
    OstTraceFunctionEntry0( CUPNPTMCLIENTPROFILESERVICE_ACTIONRECEIVEDLD_ENTRY );
    if ( !aAction )
    {
        User::Leave( KErrNotFound );
    }
    CleanupStack::PushL( aAction );
    TUpnpErrorCode eCode = EHttpOk;

    // Get the name, saves calls in the if-else statements
    TPtrC8 name( aAction->Name() );
    // Verify the action and do the operation(s)
    if ( name.Compare( KGetMaxNumProfiles ) == 0 )
    {
        eCode = GetMaxNumProfilesActionL( aAction );
    }
    else if ( name.Compare( KSetClientProfile ) == 0 )
    {
        eCode = SetClientProfileActionL( aAction );
    }
    else if ( name.Compare( KGetClientProfile ) == 0 )
    {
        eCode = GetClientProfileActionL ( aAction );
    }
    else
    {
        eCode = EInvalidAction;
    }
    SendL( aAction, eCode );
    CleanupStack::PopAndDestroy( aAction );
    OstTraceFunctionExit0( CUPNPTMCLIENTPROFILESERVICE_ACTIONRECEIVEDLD_EXIT );
}
示例#6
0
void
ES_RemoteDebugFrontend::NewScriptL(unsigned dbg_runtime_id, ES_DebugScriptData *data, const ES_DebugRuntimeInformation *runtimeinfo)
{
	ES_DebugMessage *message = current_message = new (ELeave) ES_DebugMessage;

	ES_NewScriptMessagePart *body = new (ELeave) ES_NewScriptMessagePart;
	message->AddPart(body);

	body->runtime_id = dbg_runtime_id;
	body->script_id = data->script_no;

	if (uni_str_eq(data->type, "inline"))
		body->script_type = ES_NewScriptMessagePart::SCRIPT_TYPE_INLINE;
	else if (uni_str_eq(data->type, "linked"))
		body->script_type = ES_NewScriptMessagePart::SCRIPT_TYPE_LINKED;
	else if (uni_str_eq(data->type, "generated"))
		body->script_type = ES_NewScriptMessagePart::SCRIPT_TYPE_GENERATED;
	else
		body->script_type = ES_NewScriptMessagePart::SCRIPT_TYPE_OTHER;

	ES_DebugMessagePart::SetString16L(body->source, body->source_length, data->source);

	if (body->script_type == ES_NewScriptMessagePart::SCRIPT_TYPE_LINKED)
		ES_DebugMessagePart::SetString16L(body->uri, body->uri_length, data->url);

	ES_RemoteAddRuntimeInformationL(message, runtimeinfo);

	current_message = NULL;

	SendL(message);
}
示例#7
0
// -----------------------------------------------------------------------------
// CMceItcSender::ReadArrayL 
// -----------------------------------------------------------------------------
//
CDesC8Array* CMceItcSender::ReadArrayL( TMceIds& aIds,
				                        TMceItcFunctions aITCFunction, 
				                        const TDesC8& aData )
	{
    MCECLI_DEBUG("CMceItcSender::ReadArrayL(inout), Entry");
	
    Mem::FillZ( &iITCMsgArgs, sizeof( iITCMsgArgs ) );
    aIds.iMsgType = KMceNotAssigned;

    CMceMsgTextArray* textArray = new (ELeave) CMceMsgTextArray();
    CleanupStack::PushL( textArray );
    
	HBufC8* arrayBuf = HBufC8::NewLC( KMceMaxSizeInReadStream );
	TPtr8 arrayBufPtr = arrayBuf->Des();
	arrayBufPtr.Copy( aData );
    iITCMsgArgs.Set ( EMceItcArgContext, &arrayBufPtr );
    SendL ( aIds, aITCFunction );

    textArray->DecodeL( *arrayBuf );

    CDesC8Array* array = textArray->iArray;
    
    CleanupStack::PopAndDestroy( arrayBuf );//arrayBuf
    CleanupStack::PopAndDestroy( textArray );//textArray
    
    MCECLI_DEBUG("CMceItcSender::ReadArrayL(inout), Exit");
    return array;
		
	}
// -----------------------------------------------------------------------------
// CTcpResponseSender::ConnectionFailedL
// -----------------------------------------------------------------------------
//
void CTcpResponseSender::ConnectionFailedL()
	{
	// Safety check, although shouldn't ever exceed array bounds at this point
	if ( IndexWithinBounds() )
	    {
	    iResultArray[ iCurrentIndex ]->SetFailed( ETrue );
	    }
	SendL();
	}
示例#9
0
void
ES_RemoteDebugFrontend::StoppedAtL(unsigned dbg_runtime_id, unsigned dbg_thread_id, const ES_DebugStoppedAtData &data)
{
	ES_DebugMessage *message = current_message = new (ELeave) ES_DebugMessage;

	ES_StoppedAtMessagePart *body = new (ELeave) ES_StoppedAtMessagePart;
	message->AddPart(body);

	body->runtime_id = dbg_runtime_id;
	body->thread_id = dbg_thread_id;
	body->position = data.position;

	ES_RemoteAddReturnValuesL(message, data.dbg_return_value, FALSE);
	delete data.dbg_return_value;

	if (data.exception)
	{
		ES_ExceptionThrownMessagePart *exceptionthrown = new (ELeave) ES_ExceptionThrownMessagePart;
		message->AddPart(exceptionthrown);

		ES_DebugMessagePart::SetValueL(exceptionthrown->exception, *data.exception);

		if (data.exception->type == VALUE_OBJECT)
			message->AddObjectInfoL(data.exception->value.object);
	}

	if (data.breakpoint_id != 0)
	{
		ES_BreakpointTriggeredMessagePart *breakpointtriggered = new (ELeave) ES_BreakpointTriggeredMessagePart;
		message->AddPart(breakpointtriggered);

		breakpointtriggered->id = data.breakpoint_id;
	}

	if (data.heapdata)
	{
		ES_HeapStatisticsMessagePart *heapstatistics = new (ELeave) ES_HeapStatisticsMessagePart;
		message->AddPart(heapstatistics);

		heapstatistics->load_factor = data.heapdata->load_factor;
		heapstatistics->unsigneds[0] = data.heapdata->num_collections;
		heapstatistics->unsigneds[1] = data.heapdata->ms_collecting;
		heapstatistics->unsigneds[2] = data.heapdata->bytes_heap_limit;
		heapstatistics->unsigneds[3] = data.heapdata->bytes_allocated;
		heapstatistics->unsigneds[4] = data.heapdata->bytes_reclaimed;
		heapstatistics->unsigneds[5] = data.heapdata->bytes_in_heap;
		heapstatistics->unsigneds[6] = data.heapdata->bytes_in_heap_peak;
		heapstatistics->unsigneds[7] = data.heapdata->bytes_live_after_gc;
		heapstatistics->unsigneds[8] = data.heapdata->bytes_free_after_gc;
		heapstatistics->unsigneds[9] = data.heapdata->objects_live_after_gc;
		heapstatistics->unsigneds[10] = data.heapdata->objects_free_after_gc;
	}

	current_message = NULL;

	SendL(message);
}
示例#10
0
// -----------------------------------------------------------------------------
// CMceItcSender::ReadL
// -----------------------------------------------------------------------------
//
void CMceItcSender::ReadL( TMceIds& aIds,
		                   TMceItcFunctions aITCFunction,
                           TDes8& aData )
    {
    MCECLI_DEBUG("CMceItcSender::ReadL, Entry");
    Mem::FillZ( &iITCMsgArgs, sizeof( iITCMsgArgs ) );
    aIds.iMsgType = EMceItcMsgTypeReadString;

    iITCMsgArgs.Set( EMceItcArgContext, &aData );
        
    SendL( aIds, aITCFunction );
    
    MCECLI_DEBUG("CMceItcSender::ReadL, Exit");
    }
示例#11
0
// -----------------------------------------------------------------------------
// CMceItcSender::SendL
// -----------------------------------------------------------------------------
//
void CMceItcSender::SendL( TMceIds& aIds,
		    TMceItcFunctions aITCFunction,
            TUint32& aData )
    {
    MCECLI_DEBUG("CMceItcSender::SendL(TUin32), Entry");

    Mem::FillZ( &iITCMsgArgs, sizeof( iITCMsgArgs ) );
    TPckgBuf<TUint32> mceDataPckg( aData );

    iITCMsgArgs.Set( EMceItcArgId, &mceDataPckg );
        
    SendL( aIds, aITCFunction );   
    
    MCECLI_DEBUG("CMceItcSender::SendL(TUin32), Exit");
    }
示例#12
0
void
ES_RemoteDebugFrontend::SendHelloL()
{
	ES_DebugMessage *message = current_message = new (ELeave) ES_DebugMessage;

	ES_HelloMessagePart *body = new (ELeave) ES_HelloMessagePart;
	message->AddPart(body);

	char buffer[256]; /* ARRAY OK jl 2008-02-07 */
	unsigned length = g_uaManager->GetUserAgentStr(buffer, sizeof buffer, UA_Opera);

	ES_DebugMessagePart::SetString8L(body->os, body->os_length, g_op_system_info->GetOSStr(UA_Opera));
	ES_DebugMessagePart::SetString16L(body->platform, body->platform_length, g_op_system_info->GetPlatformStr());
	ES_DebugMessagePart::SetString8L(body->useragent, body->useragent_length, buffer, length);

	current_message = NULL;

	SendL(message);
}
示例#13
0
void
ES_RemoteDebugFrontend::ThreadFinishedL(unsigned dbg_runtime_id, unsigned dbg_thread_id, ThreadStatus status, ES_DebugReturnValue *dbg_return_value)
{
	ES_DebugMessage *message = current_message = new (ELeave) ES_DebugMessage;

	ES_ThreadFinishedMessagePart *body = new (ELeave) ES_ThreadFinishedMessagePart;
	message->AddPart(body);

	body->runtime_id = dbg_runtime_id;
	body->thread_id = dbg_thread_id;
	body->status = status;

	ES_RemoteAddReturnValuesL(message, dbg_return_value, status == THREAD_STATUS_EXCEPTION);
	delete dbg_return_value;

	current_message = NULL;

	SendL(message);
}
// -----------------------------------------------------------------------------
// COMASuplWapListener::ProcessPushMsgL
// Extracts the SUPL INIT request from the WAP Push message. 
// -----------------------------------------------------------------------------
//
void COMASuplWapListener::ProcessPushMsgL()
    {
    iTrace->Trace( _L( "COMASuplWapListener::ProcessPushMsgL() Start" ), KTraceFileName, __LINE__ );

    // Extract SUPL INIT request from the push message
    TPtrC8 msgPtr;
    iState = EComplete;
    TBool exist = iMessage->GetMessageBody( msgPtr );

    if (!exist)
        {
        iErrCode = KErrNotFound;
        IdleComplete();
        iTrace->Trace( _L( "Unable to extract SUPL payload" ), KTraceFileName, __LINE__ );
        return;
        }

    TRAP( iErrCode, SendL( msgPtr ) );
    IdleComplete();
    }
示例#15
0
// -----------------------------------------------------------------------------
// CMceItcSender::ReadStringL
// -----------------------------------------------------------------------------
//
HBufC8* CMceItcSender::ReadStringL(TMceIds& aIds,
				TMceItcFunctions aITCFunction )
	{

    MCECLI_DEBUG("CMceItcSender::ReadStringL, Entry");
	
    Mem::FillZ(&iITCMsgArgs, sizeof(iITCMsgArgs));
    aIds.iMsgType = KMceNotAssigned;

    
	HBufC8* string = HBufC8::NewLC( KMceMaxSizeInSessionAsDesc );
	TPtr8 stringPtr = string->Des();
    iITCMsgArgs.Set (EMceItcArgContext, &stringPtr);
    SendL (aIds,aITCFunction);
    
    CleanupStack::Pop( string );
    
    MCECLI_DEBUG("CMceItcSender::ReadStringL, Exit");
    return string;

	}
// ----------------------------------------------------------------------------------------------
// CUpnpTmAppServerService::ActionReceivedLD
// @param aAction action received from the client
// ----------------------------------------------------------------------------------------------
//
void CUpnpTmAppServerService::ActionReceivedLD( CUpnpAction* aAction )
    {
    OstTraceFunctionEntry0( CUPNPTMAPPSERVERSERVICE_ACTIONRECEIVEDLD_ENTRY );
    if ( !aAction )
        {
        User::Leave( KErrNotFound );
        }
    CleanupStack::PushL( aAction );
    TUpnpErrorCode eCode = EHttpOk;
    
    // Get the name, saves calls in the if-else statements
    TPtrC8 name( aAction->Name() );
    // Verify the action and do the operation(s)
    if ( name.Compare( KGetApplicationList ) == 0 )
        {
        eCode = GetAppListActionL( aAction );
        }
    else if ( name.Compare( KLaunchApp ) == 0 )
        {
        eCode = LaunchAppActionL( aAction );
        }
    else if ( name.Compare( KTerminateApp ) == 0 )
        {
        eCode = TerminateAppActionL ( aAction );
        }
    else if ( name.Compare( KGetAppStatus) == 0 )
        {
        eCode = GetAppStatusActionL( aAction );
        }
    else
        {
        eCode = EInvalidAction;
        }
    SendL( aAction, eCode );
    CleanupStack::PopAndDestroy( aAction );
    OstTraceFunctionExit0( CUPNPTMAPPSERVERSERVICE_ACTIONRECEIVEDLD_EXIT );
    }
示例#17
0
void
ES_RemoteDebugFrontend::BacktraceReplyL(unsigned tag, unsigned length, ES_DebugStackFrame *stack)
{
	ES_DebugMessage *message = current_message = new (ELeave) ES_DebugMessage;

	ES_BacktraceReplyMessagePart *body = new (ELeave) ES_BacktraceReplyMessagePart;
	message->AddPart(body);

	body->tag = tag;
	body->stack_length = length;
	body->stack = new (ELeave) ES_DebugStackFrame[length];

	for (unsigned index = 0; index < length; ++index)
	{
		body->stack[index] = stack[index];
		body->stack[index].function.info = NULL;

		message->AddObjectInfoL(stack[index].function);
	}

	current_message = NULL;

	SendL(message);
}
示例#18
0
// -----------------------------------------------------------------------------
// CTcpResponseSender::CompletedL
// -----------------------------------------------------------------------------
//   
void CTcpResponseSender::CompletedL()
    {
    iResolving = EFalse;
	SendL();
    }