Linux ns1.utparral.edu.mx 6.8.0-79-generic #79~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 16:54:53 UTC 2 x86_64
Apache/2.4.58 (Unix) OpenSSL/1.1.1w PHP/8.2.12 mod_perl/2.0.12 Perl/v5.34.1
: 10.10.1.9 | : 10.10.1.254
Cant Read [ /etc/named.conf ]
daemon
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
README
+ Create Folder
+ Create File
/
usr /
lib /
x86_64-linux-gnu /
perl5 /
5.34 /
Glib /
[ HOME SHELL ]
Name
Size
Permission
Action
Install
[ DIR ]
drwxr-xr-x
Object
[ DIR ]
drwxr-xr-x
Param
[ DIR ]
drwxr-xr-x
BookmarkFile.pod
12.41
KB
-rw-r--r--
Boxed.pod
761
B
-rw-r--r--
Bytes.pod
1.11
KB
-rw-r--r--
CodeGen.pm
20.73
KB
-rw-r--r--
devel.pod
14.84
KB
-rw-r--r--
Error.pod
4.91
KB
-rw-r--r--
Flags.pod
2.73
KB
-rw-r--r--
GenPod.pm
39.29
KB
-rw-r--r--
index.pod
882
B
-rw-r--r--
KeyFile.pod
11.8
KB
-rw-r--r--
Log.pod
4.16
KB
-rw-r--r--
MainLoop.pod
6.11
KB
-rw-r--r--
MakeHelper.pm
17.69
KB
-rw-r--r--
Markup.pod
422
B
-rw-r--r--
Object.pod
11.67
KB
-rw-r--r--
OptionContext.pod
468
B
-rw-r--r--
OptionGroup.pod
4.6
KB
-rw-r--r--
ParamSpec.pod
11.19
KB
-rw-r--r--
ParseXSDoc.pm
22.53
KB
-rw-r--r--
Signal.pod
2.8
KB
-rw-r--r--
Type.pod
11.73
KB
-rw-r--r--
Utils.pod
4.49
KB
-rw-r--r--
VariantDict.pod
1.23
KB
-rw-r--r--
Variant.pod
6.79
KB
-rw-r--r--
VariantType.pod
2.28
KB
-rw-r--r--
version.pod
6.23
KB
-rw-r--r--
xsapi.pod
39.82
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Type.pod
=head1 NAME Glib::Type - Utilities for dealing with the GLib Type system =cut =for position DESCRIPTION =head1 DESCRIPTION This package defines several utilities for dealing with the GLib type system from Perl. Because of some fundamental differences in how the GLib and Perl type systems work, a fair amount of the binding magic leaks out, and you can find most of that in the C<Glib::Type::register*> functions, which register new types with the GLib type system. Most of the rest of the functions provide introspection functionality, such as listing properties and values and other cool stuff that is used mainly by Glib's reference documentation generator (see L<Glib::GenPod>). =cut =for object Glib::Type Utilities for dealing with the GLib Type system =for flags Glib::SignalFlags =cut =head1 METHODS =head2 list = Glib::Type-E<gt>B<list_ancestors> ($package) =over =item * $package (string) =back List the ancestry of I<package>, as seen by the GLib type system. The important difference is that GLib's type system implements only single inheritance, whereas Perl's @ISA allows multiple inheritance. This returns the package names of the ancestral types in reverse order, with the root of the tree at the end of the list. See also L<list_interfaces ()|/"list = Glib::Type-E<gt>B<list_interfaces> ($package)">. =head2 list = Glib::Type-E<gt>B<list_interfaces> ($package) =over =item * $package (string) =back List the GInterfaces implemented by the type associated with I<package>. The interfaces are returned as package names. =head2 list = Glib::Type-E<gt>B<list_signals> ($package) =over =item * $package (string) =back List the signals associated with I<package>. This lists only the signals for I<package>, not any of its parents. The signals are returned as a list of anonymous hashes which mirror the GSignalQuery structure defined in the C API reference. =over =item - signal_id Numeric id of a signal. It's rare that you'll need this in Gtk2-Perl. =item - signal_name Name of the signal, such as what you'd pass to C<signal_connect>. =item - itype The I<i>nstance I<type> for which this signal is defined. =item - signal_flags GSignalFlags describing this signal. =item - return_type The return type expected from handlers for this signal. If undef or not present, then no return is expected. The type name is mapped to the corresponding Perl package name if it is known, otherwise you get the raw C name straight from GLib. =item - param_types The types of the parameters passed to any callbacks connected to the emission of this signal. The list does not include the instance, which is always first, and the user data from C<signal_connect>, which is always last (unless the signal was connected with "swap", which swaps the instance and the data, but you get the point). =back =head2 list = Glib::Type-E<gt>B<list_values> ($package) =over =item * $package (string) =back List the legal values for the GEnum or GFlags type I<$package>. If I<$package> is not a package name registered with the bindings, this name is passed on to g_type_from_name() to see if it's a registered flags or enum type that just hasn't been registered with the bindings by C<gperl_register_fundamental()> (see Glib::xsapi). If I<$package> is not the name of an enum or flags type, this function will croak. Returns the values as a list of hashes, one hash for each value, containing the value, name and nickname, eg. for Glib::SignalFlags { value => 8, name => 'G_SIGNAL_NO_RECURSE', nick => 'no-recurse' } =head2 string = Glib::Type-E<gt>B<package_from_cname> ($cname) =over =item * $cname (string) =back Convert a C type name to the corresponding Perl package name. If no package is registered to that type, returns I<$cname>. =head2 Glib::Type-E<gt>B<register> ($parent_class, $new_class, ...) =over =item * $parent_class (package) type from which to derive =item * $new_class (package) name of new type =item * ... (list) arguments for creation =back Register a new type with the GLib type system. This is a traffic-cop function. If I<$parent_type> derives from Glib::Object, this passes the arguments through to C<register_object>. If I<$parent_type> is Glib::Flags or Glib::Enum, this strips I<$parent_type> and passes the remaining args on to C<register_enum> or C<register_flags>. See those functions' documentation for more information. =head2 Glib::Type->B<register_enum> ($name, ...) =over =item * $name (string) package name for new enum type =item * ... (list) new enum's values; see description. =back Register and initialize a new Glib::Enum type with the provided "values". This creates a type properly registered GLib so that it can be used for property and signal parameter or return types created with C<< Glib::Type->register >> or C<Glib::Object::Subclass>. The list of values is used to create the "nicknames" that are used in general Perl code; the actual numeric values used at the C level are automatically assigned, starting with 1. If you need to specify a particular numeric value for a nick, use an array reference containing the nickname and the numeric value, instead. You may mix and match the two styles. Glib::Type->register_enum ('MyFoo::Bar', 'value-one', # assigned 1 'value-two', # assigned 2 ['value-three' => 15 ], # explicit 15 ['value-four' => 35 ], # explicit 35 'value-five', # assigned 5 ); If you use the array-ref form, beware: the code performs no validation for unique values. =head2 Glib::Type->B<register_flags> ($name, ...) =over =item * $name (string) package name of new flags type =item * ... (list) flag values, see discussion. =back Register and initialize a new Glib::Flags type with the provided "values". This creates a type properly registered GLib so that it can be used for property and signal parameter or return types created with C<< Glib::Type->register >> or C<Glib::Object::Subclass>. The list of values is used to create the "nicknames" that are used in general Perl code; the actual numeric values used at the C level are automatically assigned, of the form 1<<i, starting with i = 0. If you need to specify a particular numeric value for a nick, use an array reference containing the nickname and the numeric value, instead. You may mix and match the two styles. Glib::Type->register_flags ('MyFoo::Baz', 'value-one', # assigned 1<<0 'value-two', # assigned 1<<1 ['value-three' => 1<<10 ], # explicit 1<<10 ['value-four' => 0x0f ], # explicit 0x0f 'value-five', # assigned 1<<4 ); If you use the array-ref form, beware: the code performs no validation for unique values. =head2 Glib::Type-E<gt>B<register_object> ($parent_package, $new_package, ...) =over =item * $parent_package (string) name of the parent package, which must be a derivative of Glib::Object. =item * $new_package (string) usually __PACKAGE__. =item * ... (list) key/value pairs controlling how the class is created. =back Register I<new_package> as an officially GLib-sanctioned derivative of the (GObject derivative) I<parent_package>. This automatically sets up an @ISA entry for you, and creates a new GObjectClass under the hood. The I<...> parameters are key/value pairs, currently supporting: =over =item signals => HASHREF The C<signals> key contains a hash, keyed by signal names, which describes how to set up the signals for I<new_package>. If the value is a code reference, the named signal must exist somewhere in I<parent_package> or its ancestry; the code reference will be used to override the class closure for that signal. This is the officially sanctioned way to override virtual methods on Glib::Objects. The value may be a string rather than a code reference, in which case the sub with that name in I<new_package> will be used. (The function should not be inherited.) If the value is a hash reference, the key will be the name of a new signal created with the properties defined in the hash. All of the properties are optional, with defaults provided: =over =item class_closure => subroutine or undef Use this code reference (or sub name) as the class closure (that is, the default handler for the signal). If not specified, "do_I<signal_name>", in the current package, is used. =item return_type => package name or undef Return type for the signal. If not specified, then the signal has void return. =item param_types => ARRAYREF Reference to a list of parameter types (package names), I<omitting the instance and user data>. Callbacks connected to this signal will receive the instance object as the first argument, followed by arguments with the types listed here, and finally by any user data that was supplied when the callback was connected. Not specifying this key is equivalent to supplying an empty list, which actually means instance and maybe data. =item flags => Glib::SignalFlags Flags describing this signal's properties. See the GObject C API reference' description of GSignalFlags for a complete description. =item accumulator => subroutine or undef The signal accumulator is a special callback that can be used to collect return values of the various callbacks that are called during a signal emission. Generally, you can omit this parameter; custom accumulators are used to do things like stopping signal propagation by return value or creating a list of returns, etc. See L<Glib::Object::Subclass/SIGNALS> for details. =back =item properties => ARRAYREF Array of Glib::ParamSpec objects, each describing an object property to add to the new type. These properties are available for use by all code that can access the object, regardless of implementation language. See L<Glib::ParamSpec>. This list may be empty; if it is not, the functions C<GET_PROPERTY> and C<SET_PROPERTY> in I<$new_package> will be called to get and set the values. Note that an object property is just a mechanism for getting and setting a value -- it implies no storage. As a convenience, however, Glib::Object provides fallbacks for GET_PROPERTY and SET_PROPERTY which use the property nicknames as hash keys in the object variable for storage. Additionally, you may specify ParamSpecs as a describing hash instead of as an object; this form allows you to supply explicit getter and setter methods which override GET_PROPERY and SET_PROPERTY. The getter and setter are both optional in the hash form. For example: Glib::Type->register_object ('Glib::Object', 'Foo', properties => [ # specified normally Glib::ParamSpec->string (...), # specified explicitly { pspec => Glib::ParamSpec->int (...), set => sub { my ($object, $newval) = @_; ... }, get => sub { my ($object) = @_; ... return $val; }, }, ] ); You can mix the two declaration styles as you like. If you have individual C<get_foo> / C<set_foo> methods with the operative code for a property then the C<get>/C<set> form is a handy way to go straight to that. =item interfaces => ARRAYREF Array of interface package names that the new object implements. Interfaces are the GObject way of doing multiple inheritance, thus, in Perl, the package names will be prepended to @ISA and certain inheritable and overrideable ALLCAPS methods will automatically be called whenever needed. Which methods exactly depends on the interface -- Gtk2::CellEditable for example uses START_EDITING, EDITING_DONE, and REMOVE_WIDGET. =back =cut =head1 SEE ALSO L<Glib> =cut =head1 COPYRIGHT Copyright (C) 2003-2011 by the gtk2-perl team. This software is licensed under the LGPL. See L<Glib> for a full notice. =cut
Close