home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / lib / perl5 / Glib / KeyFile.pod < prev    next >
Encoding:
Text File  |  2008-11-04  |  12.3 KB  |  790 lines

  1. =head1 NAME
  2.  
  3. Glib::KeyFile -  Parser for .ini-like files
  4.  
  5. =for position SYNOPSIS
  6.  
  7. =head1 SYNOPSIS
  8.  
  9.   use Glib;
  10.  
  11.   $data .= $_ while (<DATA>);
  12.  
  13.   $f = Glib::KeyFile->new;
  14.   $f->load_from_data($data);
  15.   if ($f->has_group('Main') && $f->has_key('Main', 'someotherkey')) {
  16.       $val = $f->get_integer('Main', 'someotherkey');
  17.       print $val . "\n";
  18.   }
  19.   0;
  20.   __DATA__
  21.   # a comment
  22.   [MainSection]
  23.   somekey=somevalue
  24.   someotherkey=42
  25.   someboolkey=true
  26.   listkey=1;1;2;3;5;8;13;21
  27.   localekey=Good Morning
  28.   localekey[it]=Buon giorno
  29.   localekey[es]=Buenas dias
  30.   localekey[fr]=Bonjour
  31.  
  32. =for position DESCRIPTION
  33.  
  34. =head1 DESCRIPTION
  35.  
  36. B<Glib::KeyFile> lets you parse, edit or create files containing groups of
  37. key-value pairs, which we call key files for lack of a better name. Several
  38. freedesktop.org specifications use key files now, e.g the Desktop Entry
  39. Specification and the Icon Theme Specification.
  40.  
  41. The syntax of key files is described in detail in the Desktop Entry
  42. Specification, here is a quick summary: Key files consists of groups of
  43. key-value pairs, interspersed with comments.
  44.  
  45. =cut
  46.  
  47.  
  48.  
  49. =for object Glib::KeyFile Parser for .ini-like files
  50. =cut
  51.  
  52.  
  53.  
  54.  
  55. =head1 METHODS
  56.  
  57. =head2 keyfile = Glib::KeyFile-E<gt>B<new> 
  58.  
  59. =over
  60.  
  61. =back
  62.  
  63. =head2 boolean = $key_file->B<get_boolean> ($group_name, $key)
  64.  
  65. =over
  66.  
  67. =over
  68.  
  69. =item * $group_name (string) 
  70.  
  71. =item * $key (string) 
  72.  
  73. =back
  74.  
  75. Retrieves a boolean value from $key inside $group_name.
  76.  
  77. May croak with a L<Glib::Error> in $@ on failure.
  78.  
  79. =back
  80.  
  81. =head2 list = $key_file->B<get_boolean_list> ($group_name, $key)
  82.  
  83. =over
  84.  
  85. =over
  86.  
  87. =item * $group_name (string) 
  88.  
  89. =item * $key (string) 
  90.  
  91. =back
  92.  
  93. Retrieves a list of booleans from $key inside $group_name.
  94.  
  95. May croak with a L<Glib::Error> in $@ on failure.
  96.  
  97. =back
  98.  
  99. =head2 $key_file-E<gt>B<set_boolean_list> ($group_name, $key, ...)
  100.  
  101. =over
  102.  
  103. =over
  104.  
  105. =item * $group_name (string) 
  106.  
  107. =item * $key (string) 
  108.  
  109. =item * ... (list) list of booleans
  110.  
  111. =back
  112.  
  113. Sets a list of booleans in $key inside $group_name.  If $key cannot be found
  114. then it is created.  If $group_name cannot be found then it is created.
  115.  
  116. =back
  117.  
  118. =head2 $key_file-E<gt>B<set_boolean> ($group_name, $key, $value)
  119.  
  120. =over
  121.  
  122. =over
  123.  
  124. =item * $group_name (string) 
  125.  
  126. =item * $key (string) 
  127.  
  128. =item * $value (boolean) 
  129.  
  130. =back
  131.  
  132. Sets a boolean value to $key inside $group_name.
  133. If $key is not found, it is created.
  134.  
  135. =back
  136.  
  137. =head2 string = $key_file-E<gt>B<get_comment> ($group_name=undef, $key=undef)
  138.  
  139. =over
  140.  
  141. =over
  142.  
  143. =item * $group_name (string or undef) 
  144.  
  145. =item * $key (string or undef) 
  146.  
  147. =back
  148.  
  149. Retreives a comment above $key from $group_name.  If $key is undef then
  150. $comment will be read from above $group_name.  If both $key and $group_name
  151. are undef, then $comment will be read from above the first group in the file.
  152.  
  153. May croak with a L<Glib::Error> in $@ on failure.
  154.  
  155. =back
  156.  
  157. =head2 $key_file-E<gt>B<set_comment> ($group_name, $key, $comment)
  158.  
  159. =over
  160.  
  161. =over
  162.  
  163. =item * $group_name (string or undef) 
  164.  
  165. =item * $key (string or undef) 
  166.  
  167. =item * $comment (string) 
  168.  
  169. =back
  170.  
  171. Places a comment above $key from $group_name.  If $key is undef then $comment
  172. will be written above $group_name.  If both $key and $group_name are undef,
  173. then $comment will be written above the first group in the file.
  174.  
  175. May croak with a L<Glib::Error> in $@ on failure.
  176.  
  177. =back
  178.  
  179. =head2 double = $key_file-E<gt>B<get_double> ($group_name, $key)
  180.  
  181. =over
  182.  
  183. =over
  184.  
  185. =item * $group_name (string) 
  186.  
  187. =item * $key (string) 
  188.  
  189. =back
  190.  
  191. Retrieves a double value from $key inside $group_name.
  192.  
  193. May croak with a L<Glib::Error> in $@ on failure.
  194.  
  195. Since: glib 2.12
  196.  
  197. =back
  198.  
  199. =head2 list = $key_file->B<get_double_list> ($group_name, $key)
  200.  
  201. =over
  202.  
  203. =over
  204.  
  205. =item * $group_name (string) 
  206.  
  207. =item * $key (string) 
  208.  
  209. =back
  210.  
  211. Retrieves a list of doubles from $key inside $group_name.
  212.  
  213. May croak with a L<Glib::Error> in $@ on failure.
  214.  
  215. Since: glib 2.12
  216.  
  217. =back
  218.  
  219. =head2 $key_file-E<gt>B<set_double_list> ($group_name, $key, ...)
  220.  
  221. =over
  222.  
  223. =over
  224.  
  225. =item * $group_name (string) 
  226.  
  227. =item * $key (string) 
  228.  
  229. =item * ... (list) list of doubles
  230.  
  231. =back
  232.  
  233. Sets a list of doubles in $key inside $group_name.  If $key cannot be found
  234. then it is created.  If $group_name cannot be found then it is created.
  235.  
  236. Since: glib 2.12
  237.  
  238. =back
  239.  
  240. =head2 $key_file-E<gt>B<set_double> ($group_name, $key, $value)
  241.  
  242. =over
  243.  
  244. =over
  245.  
  246. =item * $group_name (string) 
  247.  
  248. =item * $key (string) 
  249.  
  250. =item * $value (double) 
  251.  
  252. =back
  253.  
  254. Sets a double value to $key inside $group_name.
  255. If $key is not found, it is created.
  256.  
  257. Since: glib 2.12
  258.  
  259. =back
  260.  
  261. =head2 list = $key_file->B<get_groups>
  262.  
  263. =over
  264.  
  265. Returns the list of groups inside the key_file.
  266.  
  267. =back
  268.  
  269. =head2 boolean = $key_file-E<gt>B<has_group> ($group_name)
  270.  
  271. =over
  272.  
  273. =over
  274.  
  275. =item * $group_name (string) 
  276.  
  277. =back
  278.  
  279. Checks whether $group_name is present in $key_file.
  280.  
  281. =back
  282.  
  283. =head2 boolean = $key_file-E<gt>B<has_key> ($group_name, $key)
  284.  
  285. =over
  286.  
  287. =over
  288.  
  289. =item * $group_name (string) 
  290.  
  291. =item * $key (string) 
  292.  
  293. =back
  294.  
  295. Checks whether $group_name has $key in it.
  296.  
  297. May croak with a L<Glib::Error> in $@ on failure.
  298.  
  299. =back
  300.  
  301. =head2 integer = $key_file->B<get_integer> ($group_name, $key)
  302.  
  303. =over
  304.  
  305. =over
  306.  
  307. =item * $group_name (string) 
  308.  
  309. =item * $key (string) 
  310.  
  311. =back
  312.  
  313. Retrieves an integer value from $key inside $group_name.
  314.  
  315. May croak with a L<Glib::Error> in $@ on failure.
  316.  
  317. =back
  318.  
  319. =head2 list = $key_file->B<get_integer_list> ($group_name, $key)
  320.  
  321. =over
  322.  
  323. =over
  324.  
  325. =item * $group_name (string) 
  326.  
  327. =item * $key (string) 
  328.  
  329. =back
  330.  
  331. Retrieves a list of integers from $key inside $group_name.
  332.  
  333. May croak with a L<Glib::Error> in $@ on failure.
  334.  
  335. =back
  336.  
  337. =head2 $key_file-E<gt>B<set_integer_list> ($group_name, $key, ...)
  338.  
  339. =over
  340.  
  341. =over
  342.  
  343. =item * $group_name (string) 
  344.  
  345. =item * $key (string) 
  346.  
  347. =item * ... (list) list of integers
  348.  
  349. =back
  350.  
  351. Sets a list of doubles in $key inside $group_name.  If $key cannot be found
  352. then it is created.  If $group_name cannot be found then it is created.
  353.  
  354. =back
  355.  
  356. =head2 $key_file-E<gt>B<set_integer> ($group_name, $key, $value)
  357.  
  358. =over
  359.  
  360. =over
  361.  
  362. =item * $group_name (string) 
  363.  
  364. =item * $key (string) 
  365.  
  366. =item * $value (integer) 
  367.  
  368. =back
  369.  
  370. Sets an integer value to $key inside $group_name.
  371. If $key is not found, it is created.
  372.  
  373. =back
  374.  
  375. =head2 list = $key_file->B<get_keys> ($group_name)
  376.  
  377. =over
  378.  
  379. =over
  380.  
  381. =item * $group_name (string) 
  382.  
  383. =back
  384.  
  385. Returns the list of keys inside a group of the key file.
  386.  
  387. May croak with a L<Glib::Error> in $@ on failure.
  388.  
  389. =back
  390.  
  391. =head2 $key_file-E<gt>B<set_list_separator> ($separator)
  392.  
  393. =over
  394.  
  395. =over
  396.  
  397. =item * $separator (string) 
  398.  
  399. =back
  400.  
  401. Sets the list separator character.
  402.  
  403. =back
  404.  
  405. =head2 boolean = $key_file-E<gt>B<load_from_data> ($buf, $flags)
  406.  
  407. =over
  408.  
  409. =over
  410.  
  411. =item * $buf (scalar) 
  412.  
  413. =item * $flags (Glib::KeyFileFlags) 
  414.  
  415. =back
  416.  
  417. Parses a string containing a key file structure.
  418.  
  419. May croak with a L<Glib::Error> in $@ on failure.
  420.  
  421. =back
  422.  
  423. =head2 boolean = $key_file->B<load_from_data_dirs> ($file, $flags)
  424.  
  425. =head2 (boolean, scalar) = $key_file->B<load_from_data_dirs> ($file, $flags)
  426.  
  427. =over
  428.  
  429. =over
  430.  
  431. =item * $file (string) 
  432.  
  433. =item * $flags (Glib::KeyFileFlags) 
  434.  
  435. =back
  436.  
  437.  
  438. Parses a key file, searching for it inside the data directories.
  439. In scalar context, it returns a boolean value (true on success, false otherwise);
  440. in array context, it returns a boolean value and the full path of the file.
  441.  
  442. May croak with a L<Glib::Error> in $@ on failure.
  443.  
  444. =back
  445.  
  446. =head2 boolean = $key_file->B<load_from_dirs> ($file, $flags, @search_dirs)
  447.  
  448. =head2 (boolean, scalar) = $key_file->B<load_from_dirs> ($file, $flags, @search_dirs)
  449.  
  450. =over
  451.  
  452. =over
  453.  
  454. =item * $file (string) 
  455.  
  456. =item * $flags (Glib::KeyFileFlags) 
  457.  
  458. =item * ... (list) 
  459.  
  460. =back
  461.  
  462.  
  463. Parses a key file, searching for it inside the specified directories.
  464. In scalar context, it returns a boolean value (true on success, false otherwise);
  465. in array context, it returns a boolean value and the full path of the file.
  466.  
  467. May croak with a L<Glib::Error> in $@ on failure.
  468.  
  469. Since: glib 2.14
  470.  
  471. =back
  472.  
  473. =head2 boolean = $key_file-E<gt>B<load_from_file> ($file, $flags)
  474.  
  475. =over
  476.  
  477. =over
  478.  
  479. =item * $file (string) 
  480.  
  481. =item * $flags (Glib::KeyFileFlags) 
  482.  
  483. =back
  484.  
  485. Parses a key file.
  486.  
  487. May croak with a L<Glib::Error> in $@ on failure.
  488.  
  489. =back
  490.  
  491. =head2 string = $key_file-E<gt>B<get_locale_string> ($group_name, $key, $locale=undef)
  492.  
  493. =over
  494.  
  495. =over
  496.  
  497. =item * $group_name (string) 
  498.  
  499. =item * $key (string) 
  500.  
  501. =item * $locale (string or undef) 
  502.  
  503. =back
  504.  
  505. Returns the value associated with $key under $group_name translated in the
  506. given $locale if available.  If $locale is undef then the current locale is
  507. assumed.
  508.  
  509. May croak with a L<Glib::Error> in $@ on failure.
  510.  
  511. =back
  512.  
  513. =head2 list = $key_file-E<gt>B<get_locale_string_list> ($group_name, $key, $locale)
  514.  
  515. =over
  516.  
  517. =over
  518.  
  519. =item * $group_name (string) 
  520.  
  521. =item * $key (string) 
  522.  
  523. =item * $locale (string) 
  524.  
  525. =back
  526.  
  527.  
  528.  
  529. May croak with a L<Glib::Error> in $@ on failure.
  530.  
  531. =back
  532.  
  533. =head2 $key_file-E<gt>B<set_locale_string_list> ($group_name, $key, $locale, ...)
  534.  
  535. =over
  536.  
  537. =over
  538.  
  539. =item * $group_name (string) 
  540.  
  541. =item * $key (string) 
  542.  
  543. =item * $locale (string) 
  544.  
  545. =item * ... (list) 
  546.  
  547. =back
  548.  
  549. Associates a list of string values for $key and $locale under $group_name.
  550. If the translation for $key cannot be found then it is created.
  551.  
  552. =back
  553.  
  554. =head2 $key_file-E<gt>B<set_locale_string> ($group_name, $key, $locale, $string)
  555.  
  556. =over
  557.  
  558. =over
  559.  
  560. =item * $group_name (string) 
  561.  
  562. =item * $key (string) 
  563.  
  564. =item * $locale (string) 
  565.  
  566. =item * $string (string) 
  567.  
  568. =back
  569.  
  570. =back
  571.  
  572. =head2 $key_file-E<gt>B<remove_comment> ($group_name=undef, $key=undef)
  573.  
  574. =over
  575.  
  576. =over
  577.  
  578. =item * $group_name (string or undef) 
  579.  
  580. =item * $key (string or undef) 
  581.  
  582. =back
  583.  
  584. Removes a comment from a group in a key file.  If $key is undef, the comment
  585. will be removed from above $group_name.  If both $key and $group_name are
  586. undef, the comment will be removed from the top of the key file.
  587.  
  588. May croak with a L<Glib::Error> in $@ on failure.
  589.  
  590. =back
  591.  
  592. =head2 $key_file-E<gt>B<remove_group> ($group_name)
  593.  
  594. =over
  595.  
  596. =over
  597.  
  598. =item * $group_name (string) 
  599.  
  600. =back
  601.  
  602. Removes a group from a key file.
  603.  
  604. May croak with a L<Glib::Error> in $@ on failure.
  605.  
  606. =back
  607.  
  608. =head2 $key_file-E<gt>B<remove_key> ($group_name, $key)
  609.  
  610. =over
  611.  
  612. =over
  613.  
  614. =item * $group_name (string) 
  615.  
  616. =item * $key (string) 
  617.  
  618. =back
  619.  
  620. Removes a key from $group_name.
  621.  
  622. May croak with a L<Glib::Error> in $@ on failure.
  623.  
  624. =back
  625.  
  626. =head2 string = $key_file-E<gt>B<get_start_group> 
  627.  
  628. =over
  629.  
  630. Returns the first group inside a key file.
  631.  
  632. =back
  633.  
  634. =head2 string = $key_file->B<get_string> ($group_name, $key)
  635.  
  636. =over
  637.  
  638. =over
  639.  
  640. =item * $group_name (string) 
  641.  
  642. =item * $key (string) 
  643.  
  644. =back
  645.  
  646. Retrieves a string value from $key inside $group_name.
  647.  
  648. May croak with a L<Glib::Error> in $@ on failure.
  649.  
  650. =back
  651.  
  652. =head2 list = $key_file->B<get_string_list> ($group_name, $key)
  653.  
  654. =over
  655.  
  656. =over
  657.  
  658. =item * $group_name (string) 
  659.  
  660. =item * $key (string) 
  661.  
  662. =back
  663.  
  664. Retrieves a list of strings from $key inside $group_name.
  665.  
  666. May croak with a L<Glib::Error> in $@ on failure.
  667.  
  668. =back
  669.  
  670. =head2 $key_file-E<gt>B<set_string_list> ($group_name, $key, ...)
  671.  
  672. =over
  673.  
  674. =over
  675.  
  676. =item * $group_name (string) 
  677.  
  678. =item * $key (string) 
  679.  
  680. =item * ... (list) list of strings
  681.  
  682. =back
  683.  
  684. Sets a list of strings in $key inside $group_name.  The strings will be escaped
  685. if contain special characters.  If $key cannot be found then it is created.  If
  686. $group_name cannot be found then it is created.
  687.  
  688. =back
  689.  
  690. =head2 $key_file-E<gt>B<set_string> ($group_name, $key, $value)
  691.  
  692. =over
  693.  
  694. =over
  695.  
  696. =item * $group_name (string) 
  697.  
  698. =item * $key (string) 
  699.  
  700. =item * $value (string) 
  701.  
  702. =back
  703.  
  704. Sets a string value to $key inside $group_name.  The string will be escaped if
  705. it containes special characters.
  706. If $key is not found, it is created.
  707.  
  708. =back
  709.  
  710. =head2 string = $key_file-E<gt>B<to_data> 
  711.  
  712. =over
  713.  
  714. Returns the key file as a string.
  715.  
  716. May croak with a L<Glib::Error> in $@ on failure.
  717.  
  718. =back
  719.  
  720. =head2 string = $key_file-E<gt>B<get_value> ($group_name, $key)
  721.  
  722. =over
  723.  
  724. =over
  725.  
  726. =item * $group_name (string) 
  727.  
  728. =item * $key (string) 
  729.  
  730. =back
  731.  
  732. Retrieves the literal value of $key inside $group_name.
  733.  
  734. May croak with a L<Glib::Error> in $@ on failure.
  735.  
  736. =back
  737.  
  738. =head2 $key_file-E<gt>B<set_value> ($group_name, $key, $value)
  739.  
  740. =over
  741.  
  742. =over
  743.  
  744. =item * $group_name (string) 
  745.  
  746. =item * $key (string) 
  747.  
  748. =item * $value (string) 
  749.  
  750. =back
  751.  
  752. Sets the literal value of $key inside $group_name.
  753. If $key cannot be found, it is created.
  754. If $group_name cannot be found, it is created.
  755.  
  756. =back
  757.  
  758.  
  759. =head1 ENUMS AND FLAGS
  760.  
  761. =head2 flags Glib::KeyFileFlags
  762.  
  763.  
  764.  
  765. =over
  766.  
  767. =item * 'none' / 'G_KEY_FILE_NONE'
  768.  
  769. =item * 'keep-comments' / 'G_KEY_FILE_KEEP_COMMENTS'
  770.  
  771. =item * 'keep-translations' / 'G_KEY_FILE_KEEP_TRANSLATIONS'
  772.  
  773. =back
  774.  
  775.  
  776.  
  777. =head1 SEE ALSO
  778.  
  779. L<Glib>
  780.  
  781. =head1 COPYRIGHT
  782.  
  783. Copyright (C) 2003-2008 by the gtk2-perl team.
  784.  
  785. This software is licensed under the LGPL.  See L<Glib> for a full notice.
  786.  
  787.  
  788. =cut
  789.  
  790.