1 /* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 * in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the License 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11 * or implied. See the License for the specific language governing permissions and limitations under 12 * the License. 13 */ 14 15 package art; 16 17 /** 18 * This is a definition of generically exposed implementations by the CTS JVMTI agent. 19 */ 20 public class Main { 21 // Load the given class with the given classloader, and bind all native methods to corresponding 22 // C methods in the agent. Will abort if any of the steps fail. bindAgentJNI(String className, ClassLoader classLoader)23 public static native void bindAgentJNI(String className, ClassLoader classLoader); 24 // Same as above, giving the class directly. bindAgentJNIForClass(Class<?> klass)25 public static native void bindAgentJNIForClass(Class<?> klass); 26 27 // General functionality shared between tests. setTag(Object o, long tag)28 public static native void setTag(Object o, long tag); 29 getTag(Object o)30 public static native long getTag(Object o); 31 } 32