// Generated by gmmproc 2.66.3 -- DO NOT MODIFY! #ifndef _GIOMM_TLSPASSWORD_H #define _GIOMM_TLSPASSWORD_H #include #include #include /* Copyright (C) 2012 The giomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see . */ #include #ifndef DOXYGEN_SHOULD_SKIP_THIS using GTlsPassword = struct _GTlsPassword; using GTlsPasswordClass = struct _GTlsPasswordClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gio { class GIOMM_API TlsPassword_Class; } // namespace Gio #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gio { /** @addtogroup giommEnums giomm Enums and Flags */ /** * @var TlsPasswordFlags TLS_PASSWORD_NONE * No flags. * * @var TlsPasswordFlags TLS_PASSWORD_RETRY * The password was wrong, and the user should retry. * * @var TlsPasswordFlags TLS_PASSWORD_MANY_TRIES * Hint to the user that the password has been * wrong many times, and the user may not have many chances left. * * @var TlsPasswordFlags TLS_PASSWORD_FINAL_TRY * Hint to the user that this is the last try to get * this password right. * * @enum TlsPasswordFlags * * Various flags for the password. * * @newin{2,30} * * @ingroup giommEnums * @par Bitwise operators: * %TlsPasswordFlags operator|(TlsPasswordFlags, TlsPasswordFlags)
* %TlsPasswordFlags operator&(TlsPasswordFlags, TlsPasswordFlags)
* %TlsPasswordFlags operator^(TlsPasswordFlags, TlsPasswordFlags)
* %TlsPasswordFlags operator~(TlsPasswordFlags)
* %TlsPasswordFlags& operator|=(TlsPasswordFlags&, TlsPasswordFlags)
* %TlsPasswordFlags& operator&=(TlsPasswordFlags&, TlsPasswordFlags)
* %TlsPasswordFlags& operator^=(TlsPasswordFlags&, TlsPasswordFlags)
*/ enum TlsPasswordFlags { TLS_PASSWORD_NONE = 0x0, TLS_PASSWORD_RETRY = 1 << 1, TLS_PASSWORD_MANY_TRIES = 1 << 2, TLS_PASSWORD_FINAL_TRY = 1 << 3 }; /** @ingroup giommEnums */ inline TlsPasswordFlags operator|(TlsPasswordFlags lhs, TlsPasswordFlags rhs) { return static_cast(static_cast(lhs) | static_cast(rhs)); } /** @ingroup giommEnums */ inline TlsPasswordFlags operator&(TlsPasswordFlags lhs, TlsPasswordFlags rhs) { return static_cast(static_cast(lhs) & static_cast(rhs)); } /** @ingroup giommEnums */ inline TlsPasswordFlags operator^(TlsPasswordFlags lhs, TlsPasswordFlags rhs) { return static_cast(static_cast(lhs) ^ static_cast(rhs)); } /** @ingroup giommEnums */ inline TlsPasswordFlags operator~(TlsPasswordFlags flags) { return static_cast(~static_cast(flags)); } /** @ingroup giommEnums */ inline TlsPasswordFlags& operator|=(TlsPasswordFlags& lhs, TlsPasswordFlags rhs) { return (lhs = static_cast(static_cast(lhs) | static_cast(rhs))); } /** @ingroup giommEnums */ inline TlsPasswordFlags& operator&=(TlsPasswordFlags& lhs, TlsPasswordFlags rhs) { return (lhs = static_cast(static_cast(lhs) & static_cast(rhs))); } /** @ingroup giommEnums */ inline TlsPasswordFlags& operator^=(TlsPasswordFlags& lhs, TlsPasswordFlags rhs) { return (lhs = static_cast(static_cast(lhs) ^ static_cast(rhs))); } } // namespace Gio #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Glib { template <> class GIOMM_API Value : public Glib::Value_Flags { public: static GType value_type() G_GNUC_CONST; }; } // namespace Glib #endif /* DOXYGEN_SHOULD_SKIP_THIS */ namespace Gio { /** TlsPassword - TLS Passwords for prompting. * Holds a password used in TLS. * @newin{2,36} */ class GIOMM_API TlsPassword : public Glib::Object { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: using CppObjectType = TlsPassword; using CppClassType = TlsPassword_Class; using BaseObjectType = GTlsPassword; using BaseClassType = GTlsPasswordClass; // noncopyable TlsPassword(const TlsPassword&) = delete; TlsPassword& operator=(const TlsPassword&) = delete; private: friend class TlsPassword_Class; static CppClassType tlspassword_class_; protected: explicit TlsPassword(const Glib::ConstructParams& construct_params); explicit TlsPassword(GTlsPassword* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: TlsPassword(TlsPassword&& src) noexcept; TlsPassword& operator=(TlsPassword&& src) noexcept; ~TlsPassword() noexcept override; /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GTlsPassword* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GTlsPassword* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GTlsPassword* gobj_copy(); private: protected: explicit TlsPassword(const Glib::ustring& description, TlsPasswordFlags flags = Gio::TLS_PASSWORD_NONE); public: /** Create a new TlsPassword object. * * @param flags The password flags. * @param description Description of what the password is for. * @return The newly allocated password object. */ static Glib::RefPtr create(const Glib::ustring& description, TlsPasswordFlags flags = Gio::TLS_PASSWORD_NONE); /** Get the password value. If @a length is not nullptr then it will be * filled in with the length of the password value. (Note that the * password value is not nul-terminated, so you can only pass nullptr * for @a length in contexts where you know the password will have a * certain fixed length.) * * @newin{2,30} * * @param length Location to place the length of the password. * @return The password value (owned by the password object). */ const guchar* get_value(gsize& length) const; /// A get_value() convenience overload. const guchar* get_value() const; /** Set the value for this password. The @a value will be copied by the password * object. * * Specify the @a length, for a non-nul-terminated password. Pass -1 as * @a length if using a nul-terminated password, and @a length will be * calculated automatically. (Note that the terminating nul is not * considered part of the password in this case.) * * @newin{2,30} * * @param value The new password value. * @param length The length of the password, or -1. */ void set_value(const guchar* value, gssize length = -1); // This function does not copy the value as g_tls_password_set_value() does. // It keeps a reference to the original value and expects it to be freed // later in a specified GDestroyNotify callback. Ignore it for now. /** Get a description string about what the password will be used for. * * @newin{2,30} * * @return The description of the password. */ Glib::ustring get_description() const; /** Set a description string about what the password will be used for. * * @newin{2,30} * * @param description The description of the password. */ void set_description(const Glib::ustring& description); /** Get flags about the password. * * @newin{2,30} * * @return The flags about the password. */ TlsPasswordFlags get_flags() const; /** Set flags about the password. * * @newin{2,30} * * @param flags The flags about the password. */ void set_flags(TlsPasswordFlags flags); /** Get a user readable translated warning. Usually this warning is a * representation of the password flags returned from * g_tls_password_get_flags(). * * @newin{2,30} * * @return The warning. */ Glib::ustring get_warning() const; /** Set a user readable translated warning. Usually this warning is a * representation of the password flags returned from * g_tls_password_get_flags(). * * @newin{2,30} * * @param warning The user readable warning. */ void set_warning(const Glib::ustring& warning); /** Description of what the password is for. * * Default value: "" * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< Glib::ustring > property_description() ; /** Description of what the password is for. * * Default value: "" * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Glib::ustring > property_description() const; /** Flags about the password. * * Default value: TLS_PASSWORD_NONE * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< TlsPasswordFlags > property_flags() ; /** Flags about the password. * * Default value: TLS_PASSWORD_NONE * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< TlsPasswordFlags > property_flags() const; /** Warning about the password. * * Default value: "" * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< Glib::ustring > property_warning() ; /** Warning about the password. * * Default value: "" * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Glib::ustring > property_warning() const; virtual const guchar* get_value_vfunc(gsize& length) const; //TODO? (See g_tls_password_set_value_full() comment above): _WRAP_VFUNC(void set_value(guchar* value, gssize length, GDestroyNotify destroy), "set_value") virtual Glib::ustring get_default_warning_vfunc() const; public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; } // namespace Gio namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gio::TlsPassword */ GIOMM_API Glib::RefPtr wrap(GTlsPassword* object, bool take_copy = false); } #endif /* _GIOMM_TLSPASSWORD_H */