50 lines
1.0 KiB
C#
50 lines
1.0 KiB
C#
|
using System;
|
||
|
using System.IO;
|
||
|
using sscs.cache;
|
||
|
|
||
|
namespace sscs.common
|
||
|
{
|
||
|
abstract class User
|
||
|
{
|
||
|
protected UserIdentifier userId;
|
||
|
public UserIdentifier UserIdentifier
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return userId;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
protected SecretStore secretStore;
|
||
|
|
||
|
protected string home;
|
||
|
|
||
|
/* Change the protection level after getting the latest requirements */
|
||
|
|
||
|
protected string userName = null;
|
||
|
|
||
|
abstract internal void SetUserName(string userName);
|
||
|
abstract internal string GetUserName();
|
||
|
abstract internal string GetUserHomeDir();
|
||
|
|
||
|
internal SecretStore GetSecretStore()
|
||
|
{
|
||
|
return secretStore;
|
||
|
}
|
||
|
|
||
|
internal static User CreateUser(UserIdentifier userId)
|
||
|
{
|
||
|
User user = null;
|
||
|
#if LINUX
|
||
|
user = new UnixUser(userId);
|
||
|
#endif
|
||
|
#if W32
|
||
|
user = new WinUser(userId);
|
||
|
#endif
|
||
|
return user;
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|