48 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
49 #endif
50 {
51 jvmtiEnv* jvmti;
52 JNIEnv* jni = NULL;
53 Options* options = NULL;
54 const char* agentName;
55 jvmtiCapabilities caps;
56
57 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
58 return JNI_ERR;
59
60 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
61
62 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
63 return NSK_FALSE;
64
65 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
66 return JNI_ERR;
67
68 if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(&caps)) ) {
69 return JNI_ERR;
70 }
71
72 NSK_DISPLAY1("%s: potential capabilities:\n", agentName);
73
74 printCapabilities(caps);
75
76 NSK_DISPLAY1("%s: trying to get all potential capabilities:\n", agentName);
77
78 if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) {
79 return JNI_ERR;
80 }
81
82 NSK_DISPLAY1("%s: initialization was done\n", agentName);
83
84 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
85 return JNI_ERR;
86
87 nsk_aod_agentFinished(jni, agentName, 1);
88
89 return JNI_OK;
90 }
91
92 }
|
48 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
49 #endif
50 {
51 jvmtiEnv* jvmti;
52 JNIEnv* jni = NULL;
53 Options* options = NULL;
54 const char* agentName;
55 jvmtiCapabilities caps;
56
57 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
58 return JNI_ERR;
59
60 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
61
62 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
63 return NSK_FALSE;
64
65 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
66 return JNI_ERR;
67
68 if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(&caps))) {
69 return JNI_ERR;
70 }
71
72 NSK_DISPLAY1("%s: potential capabilities:\n", agentName);
73
74 printCapabilities(caps);
75
76 NSK_DISPLAY1("%s: trying to get all potential capabilities:\n", agentName);
77
78 if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
79 return JNI_ERR;
80 }
81
82 NSK_DISPLAY1("%s: initialization was done\n", agentName);
83
84 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
85 return JNI_ERR;
86
87 nsk_aod_agentFinished(jni, agentName, 1);
88
89 return JNI_OK;
90 }
91
92 }
|