1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
2 /*
3  * anjuta
4  * Copyright (C) James Liggett 2008 <jrliggett@cox.net>
5  *
6  * anjuta is free software.
7  *
8  * You may redistribute it and/or modify it under the terms of the
9  * GNU General Public License, as published by the Free Software
10  * Foundation; either version 2 of the License, or (at your option)
11  * any later version.
12  *
13  * anjuta is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with anjuta.  If not, write to:
20  * 	The Free Software Foundation, Inc.,
21  * 	51 Franklin Street, Fifth Floor
22  * 	Boston, MA  02110-1301, USA.
23  */
24 
25 #ifndef _GIT_BRANCH_LIST_COMMAND_H_
26 #define _GIT_BRANCH_LIST_COMMAND_H_
27 
28 #include <glib-object.h>
29 #include <gio/gio.h>
30 #include "git-command.h"
31 #include "git-branch.h"
32 
33 G_BEGIN_DECLS
34 
35 #define GIT_TYPE_BRANCH_LIST_COMMAND             (git_branch_list_command_get_type ())
36 #define GIT_BRANCH_LIST_COMMAND(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIT_TYPE_BRANCH_LIST_COMMAND, GitBranchListCommand))
37 #define GIT_BRANCH_LIST_COMMAND_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GIT_TYPE_BRANCH_LIST_COMMAND, GitBranchListCommandClass))
38 #define GIT_IS_BRANCH_LIST_COMMAND(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIT_TYPE_BRANCH_LIST_COMMAND))
39 #define GIT_IS_BRANCH_LIST_COMMAND_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GIT_TYPE_BRANCH_LIST_COMMAND))
40 #define GIT_BRANCH_LIST_COMMAND_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GIT_TYPE_BRANCH_LIST_COMMAND, GitBranchListCommandClass))
41 
42 typedef struct _GitBranchListCommandClass GitBranchListCommandClass;
43 typedef struct _GitBranchListCommand GitBranchListCommand;
44 typedef struct _GitBranchListCommandPriv GitBranchListCommandPriv;
45 
46 typedef enum
47 {
48 	GIT_BRANCH_TYPE_LOCAL,
49 	GIT_BRANCH_TYPE_REMOTE,
50 	GIT_BRANCH_TYPE_ALL
51 } GitBranchType;
52 
53 struct _GitBranchListCommandClass
54 {
55 	GitCommandClass parent_class;
56 };
57 
58 struct _GitBranchListCommand
59 {
60 	GitCommand parent_instance;
61 
62 	GitBranchListCommandPriv *priv;
63 };
64 
65 GType git_branch_list_command_get_type (void) G_GNUC_CONST;
66 GitBranchListCommand *git_branch_list_command_new (const gchar *working_directory,
67 												   GitBranchType type);
68 GList *git_branch_list_command_get_output (GitBranchListCommand *self);
69 
70 G_END_DECLS
71 
72 #endif /* _GIT_BRANCH_LIST_COMMAND_H_ */
73