mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 07:23:41 +02:00
add private header with attribute ids
attribute ids are generated when the attribute hash is initialized. This way we can guarantee that the ids match every time.
This commit is contained in:
@@ -57,6 +57,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "gfileinfo.h"
|
||||
#include "gfileinfo-priv.h"
|
||||
#include "gfileattribute-priv.h"
|
||||
#include "gicon.h"
|
||||
#include "glibintl.h"
|
||||
@@ -182,7 +183,83 @@ ensure_attribute_hash (void)
|
||||
ns_hash = g_hash_table_new (g_str_hash, g_str_equal);
|
||||
attribute_hash = g_hash_table_new (g_str_hash, g_str_equal);
|
||||
|
||||
#define REGISTER_ATTRIBUTE(name) G_STMT_START{\
|
||||
guint _u = _lookup_attribute (G_FILE_ATTRIBUTE_ ## name); \
|
||||
/* use for generating the ID: g_print ("#define G_FILE_ATTRIBUTE_ID_%s (%u + %u)\n", #name + 17, _u & ~ID_MASK, _u & ID_MASK); */ \
|
||||
g_assert (_u == G_FILE_ATTRIBUTE_ID_ ## name); \
|
||||
}G_STMT_END
|
||||
|
||||
REGISTER_ATTRIBUTE (STANDARD_TYPE);
|
||||
REGISTER_ATTRIBUTE (STANDARD_IS_HIDDEN);
|
||||
REGISTER_ATTRIBUTE (STANDARD_IS_BACKUP);
|
||||
REGISTER_ATTRIBUTE (STANDARD_IS_SYMLINK);
|
||||
REGISTER_ATTRIBUTE (STANDARD_IS_VIRTUAL);
|
||||
REGISTER_ATTRIBUTE (STANDARD_NAME);
|
||||
REGISTER_ATTRIBUTE (STANDARD_DISPLAY_NAME);
|
||||
REGISTER_ATTRIBUTE (STANDARD_EDIT_NAME);
|
||||
REGISTER_ATTRIBUTE (STANDARD_COPY_NAME);
|
||||
REGISTER_ATTRIBUTE (STANDARD_DESCRIPTION);
|
||||
REGISTER_ATTRIBUTE (STANDARD_ICON);
|
||||
REGISTER_ATTRIBUTE (STANDARD_CONTENT_TYPE);
|
||||
REGISTER_ATTRIBUTE (STANDARD_FAST_CONTENT_TYPE);
|
||||
REGISTER_ATTRIBUTE (STANDARD_SIZE);
|
||||
REGISTER_ATTRIBUTE (STANDARD_ALLOCATED_SIZE);
|
||||
REGISTER_ATTRIBUTE (STANDARD_SYMLINK_TARGET);
|
||||
REGISTER_ATTRIBUTE (STANDARD_TARGET_URI);
|
||||
REGISTER_ATTRIBUTE (STANDARD_SORT_ORDER);
|
||||
REGISTER_ATTRIBUTE (ETAG_VALUE);
|
||||
REGISTER_ATTRIBUTE (ID_FILE);
|
||||
REGISTER_ATTRIBUTE (ID_FILESYSTEM);
|
||||
REGISTER_ATTRIBUTE (ACCESS_CAN_READ);
|
||||
REGISTER_ATTRIBUTE (ACCESS_CAN_WRITE);
|
||||
REGISTER_ATTRIBUTE (ACCESS_CAN_EXECUTE);
|
||||
REGISTER_ATTRIBUTE (ACCESS_CAN_DELETE);
|
||||
REGISTER_ATTRIBUTE (ACCESS_CAN_TRASH);
|
||||
REGISTER_ATTRIBUTE (ACCESS_CAN_RENAME);
|
||||
REGISTER_ATTRIBUTE (MOUNTABLE_CAN_MOUNT);
|
||||
REGISTER_ATTRIBUTE (MOUNTABLE_CAN_UNMOUNT);
|
||||
REGISTER_ATTRIBUTE (MOUNTABLE_CAN_EJECT);
|
||||
REGISTER_ATTRIBUTE (MOUNTABLE_UNIX_DEVICE);
|
||||
REGISTER_ATTRIBUTE (MOUNTABLE_HAL_UDI);
|
||||
REGISTER_ATTRIBUTE (MOUNTABLE_CAN_START);
|
||||
REGISTER_ATTRIBUTE (MOUNTABLE_CAN_STOP);
|
||||
REGISTER_ATTRIBUTE (MOUNTABLE_START_STOP_TYPE);
|
||||
REGISTER_ATTRIBUTE (TIME_MODIFIED);
|
||||
REGISTER_ATTRIBUTE (TIME_MODIFIED_USEC);
|
||||
REGISTER_ATTRIBUTE (TIME_ACCESS);
|
||||
REGISTER_ATTRIBUTE (TIME_ACCESS_USEC);
|
||||
REGISTER_ATTRIBUTE (TIME_CHANGED);
|
||||
REGISTER_ATTRIBUTE (TIME_CHANGED_USEC);
|
||||
REGISTER_ATTRIBUTE (TIME_CREATED);
|
||||
REGISTER_ATTRIBUTE (TIME_CREATED_USEC);
|
||||
REGISTER_ATTRIBUTE (UNIX_DEVICE);
|
||||
REGISTER_ATTRIBUTE (UNIX_INODE);
|
||||
REGISTER_ATTRIBUTE (UNIX_MODE);
|
||||
REGISTER_ATTRIBUTE (UNIX_NLINK);
|
||||
REGISTER_ATTRIBUTE (UNIX_UID);
|
||||
REGISTER_ATTRIBUTE (UNIX_GID);
|
||||
REGISTER_ATTRIBUTE (UNIX_RDEV);
|
||||
REGISTER_ATTRIBUTE (UNIX_BLOCK_SIZE);
|
||||
REGISTER_ATTRIBUTE (UNIX_BLOCKS);
|
||||
REGISTER_ATTRIBUTE (UNIX_IS_MOUNTPOINT);
|
||||
REGISTER_ATTRIBUTE (DOS_IS_ARCHIVE);
|
||||
REGISTER_ATTRIBUTE (DOS_IS_SYSTEM);
|
||||
REGISTER_ATTRIBUTE (OWNER_USER);
|
||||
REGISTER_ATTRIBUTE (OWNER_USER_REAL);
|
||||
REGISTER_ATTRIBUTE (OWNER_GROUP);
|
||||
REGISTER_ATTRIBUTE (THUMBNAIL_PATH);
|
||||
REGISTER_ATTRIBUTE (THUMBNAILING_FAILED);
|
||||
REGISTER_ATTRIBUTE (PREVIEW_ICON);
|
||||
REGISTER_ATTRIBUTE (FILESYSTEM_SIZE);
|
||||
REGISTER_ATTRIBUTE (FILESYSTEM_FREE);
|
||||
REGISTER_ATTRIBUTE (FILESYSTEM_TYPE);
|
||||
REGISTER_ATTRIBUTE (FILESYSTEM_READONLY);
|
||||
REGISTER_ATTRIBUTE (FILESYSTEM_USE_PREVIEW);
|
||||
REGISTER_ATTRIBUTE (GVFS_BACKEND);
|
||||
REGISTER_ATTRIBUTE (SELINUX_CONTEXT);
|
||||
REGISTER_ATTRIBUTE (TRASH_ITEM_COUNT);
|
||||
|
||||
#undef REGISTER_ATTRIBUTE
|
||||
}
|
||||
|
||||
static guint32
|
||||
|
Reference in New Issue
Block a user