00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "opensync.h"
00022 #include "opensync_internals.h"
00023
00031
00032
00040 OSyncUserInfo *osync_user_new(OSyncError **error)
00041 {
00042 OSyncUserInfo *user = osync_try_malloc0(sizeof(OSyncUserInfo), error);
00043 if (!user)
00044 return NULL;
00045
00046 user->uid = getuid();
00047 user->gid = getgid();
00048
00049 user->homedir = g_get_home_dir();
00050 user->username = g_get_user_name();
00051
00052 user->confdir = g_strdup_printf("%s/.opensync", user->homedir);
00053
00054 osync_trace(TRACE_INTERNAL, "Detected User:\nUID: %i\nGID: %i\nHome: %s\nOSyncDir: %s", user->uid, user->gid, user->homedir, user->confdir);
00055
00056 return user;
00057 }
00058
00059
00060 void osync_user_free(OSyncUserInfo *info)
00061 {
00062 g_free(info->confdir);
00063
00064 g_free(info);
00065 }
00066
00075 void osync_user_set_confdir(OSyncUserInfo *user, const char *path)
00076 {
00077 g_assert(user);
00078
00079 if (user->confdir)
00080 g_free(user->confdir);
00081
00082 user->confdir = g_strdup(path);
00083 }
00084
00093 const char *osync_user_get_confdir(OSyncUserInfo *user)
00094 {
00095 g_assert(user);
00096 return user->confdir;
00097 }
00098