epoc32/include/stdapis/glib-2.0/glib/goption.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 0 061f57f2323e
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@2
     1
/* goption.h - Option parser
williamr@2
     2
 *
williamr@2
     3
 *  Copyright (C) 2004  Anders Carlsson <andersca@gnome.org>
williamr@2
     4
 * Portions copyright (c) 2006 Nokia Corporation.  All rights reserved.
williamr@2
     5
 *
williamr@2
     6
 * This library is free software; you can redistribute it and/or
williamr@2
     7
 * modify it under the terms of the GNU Library General Public
williamr@2
     8
 * License as published by the Free Software Foundation; either
williamr@2
     9
 * version 2 of the License, or (at your option) any later version.
williamr@2
    10
 *
williamr@2
    11
 * This library is distributed in the hope that it will be useful,
williamr@2
    12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
williamr@2
    13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
williamr@2
    14
 * Library General Public License for more details.
williamr@2
    15
 *
williamr@2
    16
 * You should have received a copy of the GNU Library General Public
williamr@2
    17
 * License along with this library; if not, write to the
williamr@2
    18
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
williamr@2
    19
 * Boston, MA 02111-1307, USA.
williamr@2
    20
 */
williamr@2
    21
williamr@2
    22
#ifndef __G_OPTION_H__
williamr@2
    23
#define __G_OPTION_H__
williamr@2
    24
williamr@2
    25
#include <_ansi.h>
williamr@2
    26
#include <glib/gerror.h>
williamr@2
    27
#include <glib/gquark.h>
williamr@2
    28
williamr@2
    29
G_BEGIN_DECLS
williamr@2
    30
williamr@2
    31
typedef struct _GOptionContext GOptionContext;
williamr@2
    32
typedef struct _GOptionGroup   GOptionGroup;
williamr@2
    33
typedef struct _GOptionEntry   GOptionEntry;
williamr@2
    34
williamr@2
    35
typedef enum
williamr@2
    36
{
williamr@2
    37
  G_OPTION_FLAG_HIDDEN		= 1 << 0,
williamr@2
    38
  G_OPTION_FLAG_IN_MAIN		= 1 << 1,
williamr@2
    39
  G_OPTION_FLAG_REVERSE		= 1 << 2,
williamr@2
    40
  G_OPTION_FLAG_NO_ARG		= 1 << 3,
williamr@2
    41
  G_OPTION_FLAG_FILENAME	= 1 << 4,
williamr@2
    42
  G_OPTION_FLAG_OPTIONAL_ARG    = 1 << 5,
williamr@2
    43
  G_OPTION_FLAG_NOALIAS	        = 1 << 6
williamr@2
    44
} GOptionFlags;
williamr@2
    45
williamr@2
    46
typedef enum
williamr@2
    47
{
williamr@2
    48
  G_OPTION_ARG_NONE,
williamr@2
    49
  G_OPTION_ARG_STRING,
williamr@2
    50
  G_OPTION_ARG_INT,
williamr@2
    51
  G_OPTION_ARG_CALLBACK,
williamr@2
    52
  G_OPTION_ARG_FILENAME,
williamr@2
    53
  G_OPTION_ARG_STRING_ARRAY,
williamr@2
    54
  G_OPTION_ARG_FILENAME_ARRAY
williamr@2
    55
} GOptionArg;
williamr@2
    56
williamr@2
    57
typedef gboolean (*GOptionArgFunc) (const gchar    *option_name,
williamr@2
    58
				    const gchar    *value,
williamr@2
    59
				    gpointer        data,
williamr@2
    60
				    GError        **error);
williamr@2
    61
williamr@2
    62
typedef gboolean (*GOptionParseFunc) (GOptionContext *context,
williamr@2
    63
				      GOptionGroup   *group,
williamr@2
    64
				      gpointer	      data,
williamr@2
    65
				      GError        **error);
williamr@2
    66
williamr@2
    67
typedef void (*GOptionErrorFunc) (GOptionContext *context,
williamr@2
    68
				  GOptionGroup   *group,
williamr@2
    69
				  gpointer        data,
williamr@2
    70
				  GError        **error);
williamr@2
    71
williamr@2
    72
#define G_OPTION_ERROR (g_option_error_quark ())
williamr@2
    73
williamr@2
    74
typedef enum
williamr@2
    75
{
williamr@2
    76
  G_OPTION_ERROR_UNKNOWN_OPTION,
williamr@2
    77
  G_OPTION_ERROR_BAD_VALUE,
williamr@2
    78
  G_OPTION_ERROR_FAILED
williamr@2
    79
} GOptionError;
williamr@2
    80
williamr@2
    81
IMPORT_C GQuark g_option_error_quark (void);
williamr@2
    82
williamr@2
    83
williamr@2
    84
struct _GOptionEntry
williamr@2
    85
{
williamr@2
    86
  const gchar *long_name;
williamr@2
    87
  gchar        short_name;
williamr@2
    88
  gint         flags;
williamr@2
    89
williamr@2
    90
  GOptionArg   arg;
williamr@2
    91
  gpointer     arg_data;
williamr@2
    92
  
williamr@2
    93
  const gchar *description;
williamr@2
    94
  const gchar *arg_description;
williamr@2
    95
};
williamr@2
    96
williamr@2
    97
#define G_OPTION_REMAINING ""
williamr@2
    98
williamr@2
    99
IMPORT_C GOptionContext *g_option_context_new              (const gchar         *parameter_string);
williamr@2
   100
IMPORT_C void            g_option_context_free             (GOptionContext      *context);
williamr@2
   101
IMPORT_C void		g_option_context_set_help_enabled (GOptionContext      *context,
williamr@2
   102
						   gboolean		help_enabled);
williamr@2
   103
IMPORT_C gboolean	g_option_context_get_help_enabled (GOptionContext      *context);
williamr@2
   104
IMPORT_C void		g_option_context_set_ignore_unknown_options (GOptionContext *context,
williamr@2
   105
							     gboolean	     ignore_unknown);
williamr@2
   106
IMPORT_C gboolean        g_option_context_get_ignore_unknown_options (GOptionContext *context);
williamr@2
   107
williamr@2
   108
IMPORT_C void            g_option_context_add_main_entries (GOptionContext      *context,
williamr@2
   109
						   const GOptionEntry  *entries,
williamr@2
   110
						   const gchar         *translation_domain);
williamr@2
   111
IMPORT_C gboolean        g_option_context_parse            (GOptionContext      *context,
williamr@2
   112
						   gint                *argc,
williamr@2
   113
						   gchar             ***argv,
williamr@2
   114
						   GError             **error);
williamr@2
   115
williamr@2
   116
IMPORT_C void          g_option_context_add_group      (GOptionContext *context,
williamr@2
   117
					       GOptionGroup   *group);
williamr@2
   118
IMPORT_C void          g_option_context_set_main_group (GOptionContext *context,
williamr@2
   119
					       GOptionGroup   *group);
williamr@2
   120
IMPORT_C GOptionGroup *g_option_context_get_main_group (GOptionContext *context);
williamr@2
   121
williamr@2
   122
williamr@2
   123
IMPORT_C GOptionGroup *g_option_group_new                    (const gchar        *name,
williamr@2
   124
						     const gchar        *description,
williamr@2
   125
						     const gchar        *help_description,
williamr@2
   126
						     gpointer            user_data,
williamr@2
   127
						     GDestroyNotify      destroy);
williamr@2
   128
IMPORT_C void	      g_option_group_set_parse_hooks	    (GOptionGroup       *group,
williamr@2
   129
						     GOptionParseFunc    pre_parse_func,
williamr@2
   130
						     GOptionParseFunc	 post_parse_func);
williamr@2
   131
IMPORT_C void	      g_option_group_set_error_hook	    (GOptionGroup       *group,
williamr@2
   132
						     GOptionErrorFunc	 error_func);
williamr@2
   133
IMPORT_C void          g_option_group_free                   (GOptionGroup       *group);
williamr@2
   134
IMPORT_C void          g_option_group_add_entries            (GOptionGroup       *group,
williamr@2
   135
						     const GOptionEntry *entries);
williamr@2
   136
IMPORT_C void          g_option_group_set_translate_func     (GOptionGroup       *group,
williamr@2
   137
						     GTranslateFunc      func,
williamr@2
   138
						     gpointer            data,
williamr@2
   139
						     GDestroyNotify      destroy_notify);
williamr@2
   140
IMPORT_C void          g_option_group_set_translation_domain (GOptionGroup       *group,
williamr@2
   141
						     const gchar        *domain);
williamr@2
   142
williamr@2
   143
williamr@2
   144
G_END_DECLS
williamr@2
   145
williamr@2
   146
#endif /* __G_OPTION_H__ */