Define new 'pivot-prop-loadable' property
[nautilus-actions.git] / src / core / na-selected-info.h
blob558b3424a3e3496a0024ce15c43c0610887c6fe4
1 /*
2 * Nautilus-Actions
3 * A Nautilus extension which offers configurable context menu selected_infos.
5 * Copyright (C) 2005 The GNOME Foundation
6 * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
7 * Copyright (C) 2009, 2010, 2011 Pierre Wieser and others (see AUTHORS)
9 * This Program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of
12 * the License, or (at your option) any later version.
14 * This Program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public
20 * License along with this Library; see the file COPYING. If not,
21 * write to the Free Software Foundation, Inc., 59 Temple Place,
22 * Suite 330, Boston, MA 02111-1307, USA.
24 * Authors:
25 * Frederic Ruaudel <grumz@grumz.net>
26 * Rodrigo Moya <rodrigo@gnome-db.org>
27 * Pierre Wieser <pwieser@trychlos.org>
28 * ... and many others (see AUTHORS)
31 #ifndef __CORE_NA_SELECTED_INFO_H__
32 #define __CORE_NA_SELECTED_INFO_H__
34 /* @title: NASelectedInfo
35 * @short_description: The #NASelectedInfo Class Definition
36 * @include: core/na-selected-info.h
38 * An object is instantiated for each Nautilus selected item, in order
39 * to gather some common properties for the selected item, mainly its
40 * mime type for example.
42 * This class should be replaced by NautilusFileInfo class, as soon as
43 * the required Nautilus version will have the
44 * nautilus_file_info_create_for_uri() API (after 2.28)
47 #include <libnautilus-extension/nautilus-file-info.h>
49 G_BEGIN_DECLS
51 #define NA_SELECTED_INFO_TYPE ( na_selected_info_get_type())
52 #define NA_SELECTED_INFO( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, NA_SELECTED_INFO_TYPE, NASelectedInfo ))
53 #define NA_SELECTED_INFO_CLASS( klass ) ( G_TYPE_CHECK_CLASS_CAST( klass, NA_SELECTED_INFO_TYPE, NASelectedInfoClass ))
54 #define NA_IS_SELECTED_INFO( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, NA_SELECTED_INFO_TYPE ))
55 #define NA_IS_SELECTED_INFO_CLASS( klass ) ( G_TYPE_CHECK_CLASS_TYPE(( klass ), NA_SELECTED_INFO_TYPE ))
56 #define NA_SELECTED_INFO_GET_CLASS( object ) ( G_TYPE_INSTANCE_GET_CLASS(( object ), NA_SELECTED_INFO_TYPE, NASelectedInfoClass ))
58 typedef struct _NASelectedInfoPrivate NASelectedInfoPrivate;
60 typedef struct {
61 /*< private >*/
62 GObject parent;
63 NASelectedInfoPrivate *private;
65 NASelectedInfo;
67 typedef struct _NASelectedInfoClassPrivate NASelectedInfoClassPrivate;
69 typedef struct {
70 /*< private >*/
71 GObjectClass parent;
72 NASelectedInfoClassPrivate *private;
74 NASelectedInfoClass;
76 GType na_selected_info_get_type( void );
78 GList *na_selected_info_get_list_from_item( NautilusFileInfo *item );
79 GList *na_selected_info_get_list_from_list( GList *nautilus_selection );
80 GList *na_selected_info_copy_list ( GList *files );
81 void na_selected_info_free_list ( GList *files );
83 gchar *na_selected_info_get_basename ( const NASelectedInfo *nsi );
84 gchar *na_selected_info_get_dirname ( const NASelectedInfo *nsi );
85 gchar *na_selected_info_get_mime_type ( const NASelectedInfo *nsi );
86 gchar *na_selected_info_get_path ( const NASelectedInfo *nsi );
87 gchar *na_selected_info_get_uri ( const NASelectedInfo *nsi );
88 gchar *na_selected_info_get_uri_host ( const NASelectedInfo *nsi );
89 gchar *na_selected_info_get_uri_user ( const NASelectedInfo *nsi );
90 guint na_selected_info_get_uri_port ( const NASelectedInfo *nsi );
91 gchar *na_selected_info_get_uri_scheme( const NASelectedInfo *nsi );
92 gboolean na_selected_info_is_directory ( const NASelectedInfo *nsi );
93 gboolean na_selected_info_is_executable ( const NASelectedInfo *nsi );
94 gboolean na_selected_info_is_local ( const NASelectedInfo *nsi );
95 gboolean na_selected_info_is_owner ( const NASelectedInfo *nsi, const gchar *user );
96 gboolean na_selected_info_is_readable ( const NASelectedInfo *nsi );
97 gboolean na_selected_info_is_writable ( const NASelectedInfo *nsi );
99 NASelectedInfo *na_selected_info_create_for_uri( const gchar *uri, const gchar *mimetype, gchar **errmsg );
101 G_END_DECLS
103 #endif /* __CORE_NA_SELECTED_INFO_H__ */