diff -r 5b9d4d8641ce -r ae255c9aa552 sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi.perfcounters/src/com/nokia/carbide/cpp/pi/internal/perfcounters/PecTraceAdapterFactory.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi.perfcounters/src/com/nokia/carbide/cpp/pi/internal/perfcounters/PecTraceAdapterFactory.java Wed Jun 23 15:05:09 2010 +0300 @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ +package com.nokia.carbide.cpp.pi.internal.perfcounters; + +import org.eclipse.core.runtime.IAdapterFactory; + +import com.nokia.carbide.cpp.internal.pi.analyser.NpiInstanceRepository; +import com.nokia.carbide.cpp.internal.pi.model.ICPUScale; +import com.nokia.carbide.cpp.internal.pi.model.ParsedTraceData; +import com.nokia.carbide.cpp.internal.pi.model.TraceDataRepository; +import com.nokia.carbide.cpp.pi.peccommon.PecCommonTrace; + +public class PecTraceAdapterFactory implements IAdapterFactory { + + /* + * (non-Javadoc) + * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) + */ + @SuppressWarnings("unchecked") + public Object getAdapter(Object adaptableObject, Class adapterType) { + int uid = NpiInstanceRepository.getInstance().activeUid(); + ParsedTraceData ptd = TraceDataRepository.getInstance().getTrace(uid, PecTrace.class); //$NON-NLS-1$ + if(ptd != null){ + PecCommonTrace pecTrace = (PecCommonTrace) ptd.traceData; + return pecTrace; + } + return null; + } + + /* + * (non-Javadoc) + * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() + */ + @SuppressWarnings("unchecked") + public Class[] getAdapterList() { + return new Class[] {ICPUScale.class}; + } + +}