diff options
author | Steve Zesch <[email protected]> | 2012-05-14 13:35:03 -0400 |
---|---|---|
committer | Steve Zesch <[email protected]> | 2012-05-14 13:35:03 -0400 |
commit | 130eaa7d69ed4803041774442ccb6a9d7ea1ec4c (patch) | |
tree | f7339140f1c496a53e1c43ae9f3742235f5ae1b9 /src/user_share-private.c | |
parent | b42609046ef05f8d8be4b08ac50ea10a3c6dfe71 (diff) | |
download | mate-user-share-130eaa7d69ed4803041774442ccb6a9d7ea1ec4c.tar.bz2 mate-user-share-130eaa7d69ed4803041774442ccb6a9d7ea1ec4c.tar.xz |
Forked gnome-user-share. Work in progress.
Diffstat (limited to 'src/user_share-private.c')
-rw-r--r-- | src/user_share-private.c | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/user_share-private.c b/src/user_share-private.c new file mode 100644 index 0000000..4ffd12e --- /dev/null +++ b/src/user_share-private.c @@ -0,0 +1,102 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ + +/* + * Copyright (C) 2004-2008 Red Hat, Inc. + * + * Caja is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Caja is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Authors: Alexander Larsson <[email protected]> + * Bastien Nocera <[email protected]> + * + */ + +#include "config.h" + +#include <string.h> + +#include "user_share-private.h" + +static char *password_setting_strings[] = { + "never", + "on_write", + "always" +}; + +static char *accept_file_strings[] = { + "always", + "bonded", + "ask" +}; + +const char * +password_string_from_setting (PasswordSetting setting) +{ + + if (setting >= 0 && setting <= PASSWORD_ALWAYS) + return password_setting_strings[setting]; + + /* Fallback on secure pref */ + return password_setting_strings[PASSWORD_ALWAYS]; +} + +PasswordSetting +password_setting_from_string (const char *str) +{ + if (str != NULL) { + if (strcmp (str, "never") == 0) { + return PASSWORD_NEVER; + } + if (strcmp (str, "always") == 0) { + return PASSWORD_ALWAYS; + } + if (strcmp (str, "on_write") == 0) { + return PASSWORD_ON_WRITE; + } + } + + /* Fallback on secure pref */ + return PASSWORD_ALWAYS; +} + +const char * +accept_string_from_setting (AcceptSetting setting) +{ + + if (setting >= 0 && setting <= ACCEPT_ASK) + return accept_file_strings[setting]; + + /* Fallback on secure pref */ + return accept_file_strings[ACCEPT_BONDED]; +} + +AcceptSetting +accept_setting_from_string (const char *str) +{ + if (str != NULL) { + if (strcmp (str, "always") == 0) { + return ACCEPT_ALWAYS; + } + if (strcmp (str, "bonded") == 0 || + strcmp (str, "bonded_and_trusted") == 0) { + return ACCEPT_BONDED; + } + if (strcmp (str, "ask") == 0) { + return ACCEPT_ASK; + } + } + + /* Fallback on secure pref */ + return ACCEPT_BONDED; +} |