home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / lib / perl5 / Glib / KeyFile.pod < prev    next >
Encoding:
Text File  |  2006-06-19  |  10.7 KB  |  693 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 * $key_file (Glib::KeyFile) 
  70.  
  71. =item * $group_name (string) 
  72.  
  73. =item * $key (string) 
  74.  
  75. =back
  76.  
  77. Retrieves a boolean value from $key inside $group_name.
  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 * $key_file (Glib::KeyFile) 
  88.  
  89. =item * $group_name (string) 
  90.  
  91. =item * $key (string) 
  92.  
  93. =back
  94.  
  95. Retrieves a list of booleans from $key inside $group_name.
  96.  
  97. =back
  98.  
  99. =head2 $key_file->B<set_boolean_list> ($group_name, $key, ...)
  100.  
  101. =over
  102.  
  103. =over
  104.  
  105. =item * $key_file (Glib::KeyFile) 
  106.  
  107. =item * $group_name (string) 
  108.  
  109. =item * $key (string) 
  110.  
  111. =item * ... (list) list of booleans
  112.  
  113. =back
  114.  
  115. Sets a list of strings in $key inside $group_name.  If $key cannot be found
  116. then it is created.  If $group_name cannob be found then it is created.
  117.  
  118. =back
  119.  
  120. =head2 $key_file->B<set_boolean> ($group_name, $key, $boolean)
  121.  
  122. =over
  123.  
  124. =over
  125.  
  126. =item * $key_file (Glib::KeyFile) 
  127.  
  128. =item * $group_name (string) 
  129.  
  130. =item * $key (string) 
  131.  
  132. =item * $value (scalar) 
  133.  
  134. =back
  135.  
  136. Sets a boolean value to $key inside $group_name.
  137. If $key is not found, it is created.
  138.  
  139. =back
  140.  
  141. =head2 string = $key_file-E<gt>B<get_comment> ($group_name=undef, $key=undef)
  142.  
  143. =over
  144.  
  145. =over
  146.  
  147. =item * $group_name (string or undef) 
  148.  
  149. =item * $key (string or undef) 
  150.  
  151. =back
  152.  
  153. Retreives a comment above $key from $group_name.  If $key is undef then
  154. $comment will be read from above $group_name.  If both $key and $group_name
  155. are undef, then $comment will be read from above the first group in the file.
  156.  
  157. May croak with a L<Glib::Error> in $@ on failure.
  158.  
  159. =back
  160.  
  161. =head2 $key_file-E<gt>B<set_comment> ($group_name, $key, $comment)
  162.  
  163. =over
  164.  
  165. =over
  166.  
  167. =item * $group_name (string or undef) 
  168.  
  169. =item * $key (string or undef) 
  170.  
  171. =item * $comment (string) 
  172.  
  173. =back
  174.  
  175. Places a comment above $key from $group_name.  If $key is undef then $comment
  176. will be written above $group_name.  If both $key and $group_name are undef,
  177. then $comment will be written above the first group in the file.
  178.  
  179. May croak with a L<Glib::Error> in $@ on failure.
  180.  
  181. =back
  182.  
  183. =head2 list = $key_file->B<get_groups>
  184.  
  185. =over
  186.  
  187. Returns the list of groups inside the key_file.
  188.  
  189. =back
  190.  
  191. =head2 boolean = $key_file-E<gt>B<has_group> ($group_name)
  192.  
  193. =over
  194.  
  195. =over
  196.  
  197. =item * $group_name (string) 
  198.  
  199. =back
  200.  
  201. Checks whether $group_name is present in $key_file.
  202.  
  203. =back
  204.  
  205. =head2 boolean = $key_file-E<gt>B<has_key> ($group_name, $key)
  206.  
  207. =over
  208.  
  209. =over
  210.  
  211. =item * $group_name (string) 
  212.  
  213. =item * $key (string) 
  214.  
  215. =back
  216.  
  217. Checks whether $group_name has $key in it.
  218.  
  219. May croak with a L<Glib::Error> in $@ on failure.
  220.  
  221. =back
  222.  
  223. =head2 integer = $key_file->B<get_integer> ($group_name, $key)
  224.  
  225. =over
  226.  
  227. =over
  228.  
  229. =item * $key_file (Glib::KeyFile) 
  230.  
  231. =item * $group_name (string) 
  232.  
  233. =item * $key (string) 
  234.  
  235. =back
  236.  
  237. Retrieves an integer value from $key inside $group_name.
  238.  
  239. =back
  240.  
  241. =head2 list = $key_file->B<get_integer_list> ($group_name, $key)
  242.  
  243. =over
  244.  
  245. =over
  246.  
  247. =item * $key_file (Glib::KeyFile) 
  248.  
  249. =item * $group_name (string) 
  250.  
  251. =item * $key (string) 
  252.  
  253. =back
  254.  
  255. Retrieves a list of integers from $key inside $group_name.
  256.  
  257. =back
  258.  
  259. =head2 $key_file->B<set_integer_list> ($group_name, $key, ...)
  260.  
  261. =over
  262.  
  263. =over
  264.  
  265. =item * $key_file (Glib::KeyFile) 
  266.  
  267. =item * $group_name (string) 
  268.  
  269. =item * $key (string) 
  270.  
  271. =item * ... (list) list of integers
  272.  
  273. =back
  274.  
  275. Sets a list of strings in $key inside $group_name.  If $key cannot be found
  276. then it is created.  If $group_name cannob be found then it is created.
  277.  
  278. =back
  279.  
  280. =head2 $key_file->B<set_boolean> ($group_name, $key, $integer)
  281.  
  282. =over
  283.  
  284. =over
  285.  
  286. =item * $key_file (Glib::KeyFile) 
  287.  
  288. =item * $group_name (string) 
  289.  
  290. =item * $key (string) 
  291.  
  292. =item * $value (scalar) 
  293.  
  294. =back
  295.  
  296. Sets an integer value to $key inside $group_name.
  297. If $key is not found, it is created.
  298.  
  299. =back
  300.  
  301. =head2 list = $key_file->B<get_keys> ($group_name)
  302.  
  303. =over
  304.  
  305. =over
  306.  
  307. =item * $group_name (string) 
  308.  
  309. =back
  310.  
  311. Returns the list of keys inside a group of the key file.
  312.  
  313. May croak with a L<Glib::Error> in $@ on failure.
  314.  
  315. =back
  316.  
  317. =head2 $key_file-E<gt>B<set_list_separator> ($separator)
  318.  
  319. =over
  320.  
  321. =over
  322.  
  323. =item * $separator (string) 
  324.  
  325. =back
  326.  
  327. Sets the list separator character.
  328.  
  329. =back
  330.  
  331. =head2 boolean = $key_file->B<load_from_data> ($data, $flags)
  332.  
  333. =over
  334.  
  335. =over
  336.  
  337. =item * $buf (scalar) 
  338.  
  339. =item * $flags (Glib::KeyFileFlags) 
  340.  
  341. =back
  342.  
  343. Parses a string containing a key file structure.
  344.  
  345. May croak with a L<Glib::Error> in $@ on failure.
  346.  
  347. =back
  348.  
  349. =head2 boolean = $key_file->B<load_from_data_dirs> ($file, $flags)
  350.  
  351. =head2 (boolean, scalar) = $key_file->B<load_from_data_dirs> ($file, $flags)
  352.  
  353. =over
  354.  
  355. =over
  356.  
  357. =item * $file (string) 
  358.  
  359. =item * $flags (Glib::KeyFileFlags) 
  360.  
  361. =back
  362.  
  363.  
  364. Parses a key file, searching it inside the data directories.
  365. In scalar context, it returns a boolean value (true on success, false otherwise);
  366. in array context, it returns a boolean value and the full path of the file.
  367.  
  368. May croak with a L<Glib::Error> in $@ on failure.
  369.  
  370. =back
  371.  
  372. =head2 boolean = $key_file->B<load_from_file> ($file, $flags)
  373.  
  374. =over
  375.  
  376. =over
  377.  
  378. =item * $file (string) 
  379.  
  380. =item * $flags (Glib::KeyFileFlags) 
  381.  
  382. =back
  383.  
  384. Parses a key file.
  385.  
  386. May croak with a L<Glib::Error> in $@ on failure.
  387.  
  388. =back
  389.  
  390. =head2 string = $key_file-E<gt>B<get_locale_string> ($group_name, $key, $locale=undef)
  391.  
  392. =over
  393.  
  394. =over
  395.  
  396. =item * $group_name (string) 
  397.  
  398. =item * $key (string) 
  399.  
  400. =item * $locale (string or undef) 
  401.  
  402. =back
  403.  
  404. Returns the value associated with $key under $group_name translated in the
  405. given $locale if available.  If $locale is undef then the current locale is
  406. assumed.
  407.  
  408. May croak with a L<Glib::Error> in $@ on failure.
  409.  
  410. =back
  411.  
  412. =head2 list = $key_file-E<gt>B<get_locale_string_list> ($group_name, $key, $locale)
  413.  
  414. =over
  415.  
  416. =over
  417.  
  418. =item * $group_name (string) 
  419.  
  420. =item * $key (string) 
  421.  
  422. =item * $locale (string) 
  423.  
  424. =back
  425.  
  426.  
  427.  
  428. May croak with a L<Glib::Error> in $@ on failure.
  429.  
  430. =back
  431.  
  432. =head2 $key_file-E<gt>B<set_locale_string_list> ($group_name, $key, $locale, ...)
  433.  
  434. =over
  435.  
  436. =over
  437.  
  438. =item * $group_name (string) 
  439.  
  440. =item * $key (string) 
  441.  
  442. =item * $locale (string) 
  443.  
  444. =item * ... (list) 
  445.  
  446. =back
  447.  
  448. Associates a list of string values for $key and $locale under $group_name.
  449. If the translation for $key cannot be found then it is created.
  450.  
  451. =back
  452.  
  453. =head2 $key_file-E<gt>B<set_locale_string> ($group_name, $key, $locale, $string)
  454.  
  455. =over
  456.  
  457. =over
  458.  
  459. =item * $group_name (string) 
  460.  
  461. =item * $key (string) 
  462.  
  463. =item * $locale (string) 
  464.  
  465. =item * $string (string) 
  466.  
  467. =back
  468.  
  469. =back
  470.  
  471. =head2 $key_file-E<gt>B<remove_comment> ($group_name=undef, $key=undef)
  472.  
  473. =over
  474.  
  475. =over
  476.  
  477. =item * $group_name (string or undef) 
  478.  
  479. =item * $key (string or undef) 
  480.  
  481. =back
  482.  
  483. Removes a comment from a group in a key file.  If $key is undef, the comment
  484. will be removed from above $group_name.  If both $key and $group_name are
  485. undef, the comment will be removed from the top of the key file.
  486.  
  487. May croak with a L<Glib::Error> in $@ on failure.
  488.  
  489. =back
  490.  
  491. =head2 $key_file-E<gt>B<remove_group> ($group_name)
  492.  
  493. =over
  494.  
  495. =over
  496.  
  497. =item * $group_name (string) 
  498.  
  499. =back
  500.  
  501. Removes a group from a key file.
  502.  
  503. May croak with a L<Glib::Error> in $@ on failure.
  504.  
  505. =back
  506.  
  507. =head2 $key_file-E<gt>B<remove_key> ($group_name, $key)
  508.  
  509. =over
  510.  
  511. =over
  512.  
  513. =item * $group_name (string) 
  514.  
  515. =item * $key (string) 
  516.  
  517. =back
  518.  
  519. Removes a key from $group_name.
  520.  
  521. May croak with a L<Glib::Error> in $@ on failure.
  522.  
  523. =back
  524.  
  525. =head2 string = $key_file-E<gt>B<get_start_group> 
  526.  
  527. =over
  528.  
  529. Returns the first group inside a key file.
  530.  
  531. =back
  532.  
  533. =head2 string = $key_file->B<get_string> ($group_name, $key)
  534.  
  535. =over
  536.  
  537. =over
  538.  
  539. =item * $key_file (Glib::KeyFile) 
  540.  
  541. =item * $group_name (string) 
  542.  
  543. =item * $key (string) 
  544.  
  545. =back
  546.  
  547. Retrieves a string value from $key inside $group_name.
  548.  
  549. =back
  550.  
  551. =head2 list = $key_file->B<get_string_list> ($group_name, $key)
  552.  
  553. =over
  554.  
  555. =over
  556.  
  557. =item * $key_file (Glib::KeyFile) 
  558.  
  559. =item * $group_name (string) 
  560.  
  561. =item * $key (string) 
  562.  
  563. =back
  564.  
  565. Retrieves a list of strings from $key inside $group_name.
  566.  
  567. =back
  568.  
  569. =head2 $key_file->B<set_string_list> ($group_name, $key, ...)
  570.  
  571. =over
  572.  
  573. =over
  574.  
  575. =item * $key_file (Glib::KeyFile) 
  576.  
  577. =item * $group_name (string) 
  578.  
  579. =item * $key (string) 
  580.  
  581. =item * ... (list) list of strings
  582.  
  583. =back
  584.  
  585. Sets a list of strings in $key inside $group_name.  The strings will be escaped
  586. if contain special characters.  If $key cannot be found then it is created.  If
  587. $group_name cannob be found then it is created.
  588.  
  589. =back
  590.  
  591. =head2 $key_file->B<set_boolean> ($group_name, $key, $string)
  592.  
  593. =over
  594.  
  595. =over
  596.  
  597. =item * $key_file (Glib::KeyFile) 
  598.  
  599. =item * $group_name (string) 
  600.  
  601. =item * $key (string) 
  602.  
  603. =item * $value (scalar) 
  604.  
  605. =back
  606.  
  607. Sets a string value to $key inside $group_name.  The string will be escaped if
  608. it containes special characters.
  609. If $key is not found, it is created.
  610.  
  611. =back
  612.  
  613. =head2 string = $key_file-E<gt>B<to_data> 
  614.  
  615. =over
  616.  
  617. Returns the key file as a string.
  618.  
  619. May croak with a L<Glib::Error> in $@ on failure.
  620.  
  621. =back
  622.  
  623. =head2 string = $key_file-E<gt>B<get_value> ($group_name, $key)
  624.  
  625. =over
  626.  
  627. =over
  628.  
  629. =item * $group_name (string) 
  630.  
  631. =item * $key (string) 
  632.  
  633. =back
  634.  
  635. Retrieves the literal value of $key inside $group_name.
  636.  
  637. May croak with a L<Glib::Error> in $@ on failure.
  638.  
  639. =back
  640.  
  641. =head2 $key_file-E<gt>B<set_value> ($group_name, $key, $value)
  642.  
  643. =over
  644.  
  645. =over
  646.  
  647. =item * $group_name (string) 
  648.  
  649. =item * $key (string) 
  650.  
  651. =item * $value (string) 
  652.  
  653. =back
  654.  
  655. Sets the literal value of $key inside $group_name.
  656. If $key cannot be found, it is created.
  657. If $group_name cannot be found, it is created.
  658.  
  659. =back
  660.  
  661.  
  662. =head1 ENUMS AND FLAGS
  663.  
  664. =head2 flags Glib::KeyFileFlags
  665.  
  666.  
  667.  
  668. =over
  669.  
  670. =item * 'none' / 'G_KEY_FILE_NONE'
  671.  
  672. =item * 'keep-comments' / 'G_KEY_FILE_KEEP_COMMENTS'
  673.  
  674. =item * 'keep-translations' / 'G_KEY_FILE_KEEP_TRANSLATIONS'
  675.  
  676. =back
  677.  
  678.  
  679.  
  680. =head1 SEE ALSO
  681.  
  682. L<Glib>
  683.  
  684. =head1 COPYRIGHT
  685.  
  686. Copyright (C) 2003-2005 by the gtk2-perl team.
  687.  
  688. This software is licensed under the LGPL.  See L<Glib> for a full notice.
  689.  
  690.  
  691. =cut
  692.  
  693.