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.
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>
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
;
63 NASelectedInfoPrivate
*private;
67 typedef struct _NASelectedInfoClassPrivate NASelectedInfoClassPrivate
;
72 NASelectedInfoClassPrivate
*private;
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
);
103 #endif /* __CORE_NA_SELECTED_INFO_H__ */