1 package org
.eclipse
.linuxtools
.internal
.lttng
.jni_v2_6
;
2 /*******************************************************************************
3 * Copyright (c) 2009, 2011 Ericsson, MontaVista Software
5 * All rights reserved. This program and the accompanying materials are
6 * made available under the terms of the Eclipse Public License v1.0 which
7 * accompanies this distribution, and is available at
8 * http://www.eclipse.org/legal/epl-v10.html
11 * William Bourque (wbourque@gmail.com) - Initial API and implementation
12 * Yufen Kuo (ykuo@mvista.com) - add support to allow user specify trace library path
13 * Yufen Kuo (ykuo@mvista.com) - bug 340341: handle gracefully when native library failed to initialize
14 *******************************************************************************/
16 import org
.eclipse
.linuxtools
.internal
.lttng
.jni
.common
.Jni_C_Pointer_And_Library_Id
;
17 import org
.eclipse
.linuxtools
.internal
.lttng
.jni
.exception
.JniException
;
18 import org
.eclipse
.linuxtools
.lttng
.jni
.JniTrace
;
19 import org
.eclipse
.linuxtools
.lttng
.jni
.JniTracefile
;
22 * <b><u>JniTrace_v2_6</u></b>
24 * JniTrace version to support Lttng traceformat of version 2.6.<br>
25 * This class extend abstract class JniTrace with (possibly) version specific implementation (none yet).<br>
27 * It also make sure the correct library is loaded by liblttvlibraryloader.so
30 public class JniTrace_v2_6
extends JniTrace
{
32 // This is the dynamic library name that is passed to the library loader (liblttvlibraryloader.so) to load.
33 // It needs to be a complete name, like "libXYZ.so", unlike java that would take "XYZ". It could also take a complete path.
34 // The library need to be accessible, i.e. LD_LIBRARY_PATH need to be set correctly.
35 private static final String LIBRARY_NAME
= "liblttvtraceread-2.6.so"; //$NON-NLS-1$
38 * Forbid access to the default constructor
40 protected JniTrace_v2_6() {
44 public JniTrace_v2_6(String newpath
) throws JniException
{
48 public JniTrace_v2_6(String newpath
, boolean newPrintDebug
) throws JniException
{
49 super(newpath
, newPrintDebug
);
52 public JniTrace_v2_6(JniTrace_v2_6 oldTrace
) {
56 public JniTrace_v2_6(Jni_C_Pointer_And_Library_Id newPtr
, boolean newPrintDebug
) throws JniException
{
57 super(newPtr
, newPrintDebug
);
61 * Get the trace library name
64 * Get the version specific native trace library name
66 * @return The native trace library name
69 public String
getTraceLibName() {
74 * Allocate (call constructor for) a new JniTracefile.<p>
76 * This method is made to bypass limitation related to abstract class, see comment in JniTrace
78 * @return JniTracefile a newly allocated JniTracefile
80 * @see org.eclipse.linuxtools.lttng.jni.JniTrace
83 public JniTracefile
allocateNewJniTracefile(Jni_C_Pointer_And_Library_Id newPtr
, JniTrace newParentTrace
) throws JniException
{
84 return new JniTracefile_v2_6(newPtr
, newParentTrace
);