1*65c59e02SInna Palant /* 2*65c59e02SInna Palant * Copyright (c) Facebook, Inc. and its affiliates. 3*65c59e02SInna Palant * 4*65c59e02SInna Palant * Licensed under the Apache License, Version 2.0 (the "License"); 5*65c59e02SInna Palant * you may not use this file except in compliance with the License. 6*65c59e02SInna Palant * You may obtain a copy of the License at 7*65c59e02SInna Palant * 8*65c59e02SInna Palant * http://www.apache.org/licenses/LICENSE-2.0 9*65c59e02SInna Palant * 10*65c59e02SInna Palant * Unless required by applicable law or agreed to in writing, software 11*65c59e02SInna Palant * distributed under the License is distributed on an "AS IS" BASIS, 12*65c59e02SInna Palant * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*65c59e02SInna Palant * See the License for the specific language governing permissions and 14*65c59e02SInna Palant * limitations under the License. 15*65c59e02SInna Palant */ 16*65c59e02SInna Palant 17*65c59e02SInna Palant #pragma once 18*65c59e02SInna Palant 19*65c59e02SInna Palant #include <fbjni/fbjni.h> 20*65c59e02SInna Palant 21*65c59e02SInna Palant namespace facebook { 22*65c59e02SInna Palant namespace jni { 23*65c59e02SInna Palant 24*65c59e02SInna Palant class JFile : public JavaClass<JFile> { 25*65c59e02SInna Palant public: 26*65c59e02SInna Palant static constexpr const char* kJavaDescriptor = "Ljava/io/File;"; 27*65c59e02SInna Palant 28*65c59e02SInna Palant // Define a method that calls into the represented Java class getAbsolutePath()29*65c59e02SInna Palant std::string getAbsolutePath() { 30*65c59e02SInna Palant static const auto method = 31*65c59e02SInna Palant getClass()->getMethod<jstring()>("getAbsolutePath"); 32*65c59e02SInna Palant return method(self())->toStdString(); 33*65c59e02SInna Palant } 34*65c59e02SInna Palant }; 35*65c59e02SInna Palant 36*65c59e02SInna Palant } // namespace jni 37*65c59e02SInna Palant } // namespace facebook 38