Updated Swedish translation
[anjuta.git] / plugins / git / git-tag-delete-command.c
blob1c7de7c844dfa8bfb39c90f7aa80203d0a4f5e9b
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.
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.
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.
25 #include "git-tag-delete-command.h"
27 struct _GitTagDeleteCommandPriv
29 GList *tags;
32 G_DEFINE_TYPE (GitTagDeleteCommand, git_tag_delete_command, GIT_TYPE_COMMAND);
34 static void
35 git_tag_delete_command_init (GitTagDeleteCommand *self)
37 self->priv = g_new0 (GitTagDeleteCommandPriv, 1);
40 static void
41 git_tag_delete_command_finalize (GObject *object)
43 GitTagDeleteCommand *self;
45 self = GIT_TAG_DELETE_COMMAND (object);
47 anjuta_util_glist_strings_free (self->priv->tags);
48 g_free (self->priv);
50 G_OBJECT_CLASS (git_tag_delete_command_parent_class)->finalize (object);
53 static guint
54 git_tag_delete_command_run (AnjutaCommand *command)
56 GitTagDeleteCommand *self;
58 self = GIT_TAG_DELETE_COMMAND (command);
60 git_command_add_arg (GIT_COMMAND (command), "tag");
61 git_command_add_arg (GIT_COMMAND (command), "-d");
63 git_command_add_list_to_args (GIT_COMMAND (command), self->priv->tags);
65 return 0;
68 static void
69 git_tag_delete_command_class_init (GitTagDeleteCommandClass *klass)
71 GObjectClass* object_class = G_OBJECT_CLASS (klass);
72 GitCommandClass* parent_class = GIT_COMMAND_CLASS (klass);
73 AnjutaCommandClass* command_class = ANJUTA_COMMAND_CLASS (klass);
75 object_class->finalize = git_tag_delete_command_finalize;
76 parent_class->output_handler = git_command_send_output_to_info;
77 command_class->run = git_tag_delete_command_run;
81 GitTagDeleteCommand *
82 git_tag_delete_command_new (const gchar *working_directory,
83 GList *tags)
85 GitTagDeleteCommand *self;
87 self = g_object_new (GIT_TYPE_TAG_DELETE_COMMAND,
88 "working-directory", working_directory,
89 "single-line-output", TRUE,
90 NULL);
92 self->priv->tags = git_command_copy_string_list (tags);
94 return self;