11bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe/* Copyright (C) 2017 The Android Open Source Project
21bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
31bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe *
41bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * This file implements interfaces from the file jvmti.h. This implementation
51bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * is licensed under the same terms as the file jvmti.h.  The
61bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * copyright and license information for the file jvmti.h follows.
71bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe *
81bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
91bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
101bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe *
111bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * This code is free software; you can redistribute it and/or modify it
121bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * under the terms of the GNU General Public License version 2 only, as
131bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * published by the Free Software Foundation.  Oracle designates this
141bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * particular file as subject to the "Classpath" exception as provided
151bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * by Oracle in the LICENSE file that accompanied this code.
161bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe *
171bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * This code is distributed in the hope that it will be useful, but WITHOUT
181bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
191bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
201bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * version 2 for more details (a copy is included in the LICENSE file that
211bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * accompanied this code).
221bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe *
231bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * You should have received a copy of the GNU General Public License version
241bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * 2 along with this work; if not, write to the Free Software Foundation,
251bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
261bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe *
271bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
281bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * or visit www.oracle.com if you need additional information or have any
291bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe * questions.
301bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe */
311bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe
3206c42a571358b5e5adb69104b183af8f32f4c07dAndreas Gampe#ifndef ART_OPENJDKJVMTI_TI_PROPERTIES_H_
3306c42a571358b5e5adb69104b183af8f32f4c07dAndreas Gampe#define ART_OPENJDKJVMTI_TI_PROPERTIES_H_
341bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe
351bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe#include "jni.h"
361bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe#include "jvmti.h"
371bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe
381bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampenamespace openjdkjvmti {
391bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe
401bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampeclass PropertiesUtil {
411bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe public:
421bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe  static jvmtiError GetSystemProperties(jvmtiEnv* env, jint* count_ptr, char*** property_ptr);
431bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe
441bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe  static jvmtiError GetSystemProperty(jvmtiEnv* env, const char* property, char** value_ptr);
451bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe
461bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe  static jvmtiError SetSystemProperty(jvmtiEnv* env, const char* property, const char* value);
471bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe};
481bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe
491bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe}  // namespace openjdkjvmti
501bdaf733b472bc79a8e385f0563ffed603a2c93eAndreas Gampe
5106c42a571358b5e5adb69104b183af8f32f4c07dAndreas Gampe#endif  // ART_OPENJDKJVMTI_TI_PROPERTIES_H_
52