// Copyright 2020-2021, Collabora, Ltd. // SPDX-License-Identifier: BSL-1.0 // Author: Rylie Pavlik #pragma once #include "ObjectWrapperBase.h" namespace wrap { namespace android::os { class ParcelFileDescriptor; } // namespace android::os } // namespace wrap namespace wrap { namespace android::os { /*! * Wrapper for android.os.BaseBundle objects. */ class BaseBundle : public ObjectWrapperBase { public: using ObjectWrapperBase::ObjectWrapperBase; static constexpr const char *getTypeName() noexcept { return "android/os/BaseBundle"; } /*! * Wrapper for the containsKey method * * Java prototype: * `public boolean containsKey(java.lang.String);` * * JNI signature: (Ljava/lang/String;)Z * */ bool containsKey(std::string const &key); /*! * Wrapper for the getString method * * Java prototype: * `public java.lang.String getString(java.lang.String);` * * JNI signature: (Ljava/lang/String;)Ljava/lang/String; * */ std::string getString(std::string const &key); /*! * Wrapper for the getString method * * Java prototype: * `public java.lang.String getString(java.lang.String, java.lang.String);` * * JNI signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; * */ std::string getString(std::string const &key, std::string const &defaultValue); /*! * Class metadata */ struct Meta : public MetaBaseDroppable { jni::method_t containsKey; jni::method_t getString; jni::method_t getString1; /*! * Singleton accessor */ static Meta &data() { static Meta instance{}; return instance; } private: Meta(); }; }; /*! * Wrapper for android.os.Bundle objects. */ class Bundle : public BaseBundle { public: using BaseBundle::BaseBundle; static constexpr const char *getTypeName() noexcept { return "android/os/Bundle"; } /*! * Class metadata */ struct Meta : public MetaBaseDroppable { /*! * Singleton accessor */ static Meta &data() { static Meta instance{}; return instance; } private: Meta(); }; }; /*! * Wrapper for android.os.ParcelFileDescriptor objects. */ class ParcelFileDescriptor : public ObjectWrapperBase { public: using ObjectWrapperBase::ObjectWrapperBase; static constexpr const char *getTypeName() noexcept { return "android/os/ParcelFileDescriptor"; } /*! * Wrapper for the adoptFd static method * * Java prototype: * `public static android.os.ParcelFileDescriptor adoptFd(int);` * * JNI signature: (I)Landroid/os/ParcelFileDescriptor; * */ static ParcelFileDescriptor adoptFd(int fd); /*! * Wrapper for the getFd method * * Java prototype: * `public int getFd();` * * JNI signature: ()I * */ int getFd() const; /*! * Wrapper for the detachFd method * * Java prototype: * `public int detachFd();` * * JNI signature: ()I * */ int detachFd(); /*! * Wrapper for the close method * * Java prototype: * `public void close() throws java.io.IOException;` * * JNI signature: ()V * */ void close(); /*! * Wrapper for the checkError method * * Java prototype: * `public void checkError() throws java.io.IOException;` * * JNI signature: ()V * */ void checkError() const; /*! * Class metadata */ struct Meta : public MetaBaseDroppable { jni::method_t adoptFd; jni::method_t getFd; jni::method_t detachFd; jni::method_t close; jni::method_t checkError; /*! * Singleton accessor */ static Meta &data() { static Meta instance{}; return instance; } private: Meta(); }; }; } // namespace android::os } // namespace wrap #include "android.os.impl.h"