83 lines
2.6 KiB
C#
83 lines
2.6 KiB
C#
using Codice.Client.Common;
|
|
using Codice.Client.Common.Servers;
|
|
using Codice.CM.Common;
|
|
using Codice.Utils;
|
|
using PlasticGui;
|
|
using PlasticGui.Configuration.TeamEdition;
|
|
using PlasticGui.WorkspaceWindow.Home;
|
|
|
|
namespace Unity.PlasticSCM.Editor.Configuration
|
|
{
|
|
internal static class ClientConfiguration
|
|
{
|
|
internal static void Save(
|
|
string server,
|
|
SEIDWorkingMode workingMode,
|
|
string user,
|
|
string accessToken
|
|
)
|
|
{
|
|
SetupUnityEditionToken.CreateCloudEditionTokenIfNeeded();
|
|
|
|
// We observed that UserAccounts.SaveAccount skips the client.conf update when there is auth info saved.
|
|
// However, we want to make sure the configuration is always updated, so we add the skipped saving.
|
|
if (ClientConfig.HasAuthInfoConfigured())
|
|
{
|
|
ConfigurationActions.SaveClientConfig(
|
|
server,
|
|
workingMode,
|
|
user,
|
|
accessToken,
|
|
null);
|
|
}
|
|
|
|
// This creates the client.conf if needed but doesn't overwrite it if it exists already,
|
|
// and it also updates the profiles.conf and tokens.conf with the new AccessToken
|
|
UserAccounts.SaveAccount(
|
|
server,
|
|
workingMode,
|
|
user,
|
|
accessToken,
|
|
null,
|
|
null,
|
|
null);
|
|
|
|
SaveDefaultCloudServer(server);
|
|
}
|
|
|
|
// Save the Default Server in the config files of all clients, so they are already configured.
|
|
// Avoids having the Desktop application asking the user again later.
|
|
static void SaveDefaultCloudServer(string cloudServer)
|
|
{
|
|
SaveCloudServer.ToPlasticGuiConfig(cloudServer);
|
|
SaveCloudServer.ToPlasticGuiConfigFile(
|
|
cloudServer, GetPlasticConfigFileToSaveOrganization());
|
|
SaveCloudServer.ToPlasticGuiConfigFile(
|
|
cloudServer, GetGluonConfigFileToSaveOrganization());
|
|
|
|
KnownServers.ServersFromCloud.InitializeForWindows(
|
|
PlasticGuiConfig.Get().Configuration.DefaultCloudServer);
|
|
}
|
|
|
|
static string GetPlasticConfigFileToSaveOrganization()
|
|
{
|
|
if (PlatformIdentifier.IsMac())
|
|
{
|
|
return "macgui.conf";
|
|
}
|
|
|
|
return "plasticgui.conf";
|
|
}
|
|
|
|
static string GetGluonConfigFileToSaveOrganization()
|
|
{
|
|
if (PlatformIdentifier.IsMac())
|
|
{
|
|
return "gluon.conf";
|
|
}
|
|
|
|
return "gameui.conf";
|
|
}
|
|
}
|
|
}
|