예제 #1
0
        public StorageService(StorageType storageType)
        {
            switch (storageType)
            {
            case StorageType.PlayerPrefs:
                StorageInstance = PlayerPrefsStorage.GetInstance();
                Api             = new PlayerPrefsApi();
                break;

            case StorageType.FileStorage:
                StorageInstance = FileStorageStorage.GetInstance();
                Api             = new FileStorageApi();
                break;

            case StorageType.InMemory:
                StorageInstance = InMemoryStorage.GetInstance();
                Api             = new InMemoryStorageApi();
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(storageType), storageType, null);
            }

            OnChangeValue += StorageInstance.OnKeyValueUpdated;
        }
예제 #2
0
        public void SaveOAuthTokens(ZohoOAuthTokens zohoOAuthTokens)
        {
            InMemoryStorage tokenStorage = InMemoryStorage.GetInstance();

            tokenStorage.AccessToken    = zohoOAuthTokens.AccessToken;
            tokenStorage.RefreshToken   = zohoOAuthTokens.RefreshToken;
            tokenStorage.UserIdentifier = zohoOAuthTokens.UserMaiilId;
            tokenStorage.ExpiryTime     = zohoOAuthTokens.ExpiryTime.ToString();
        }
예제 #3
0
        public ZohoOAuthTokens GetOAuthTokens(string userMailId)
        {
            InMemoryStorage tokenStorage = InMemoryStorage.GetInstance();

            if (!userMailId.Equals(tokenStorage.UserIdentifier))
            {
                throw new ZohoOAuthException("Given User not found in configuration");
            }
            ZohoOAuthTokens tokens = new ZohoOAuthTokens();

            tokens.UserMaiilId  = tokenStorage.UserIdentifier;
            tokens.AccessToken  = tokenStorage.AccessToken;
            tokens.RefreshToken = tokenStorage.RefreshToken;
            tokens.ExpiryTime   = System.Convert.ToInt64(tokenStorage.ExpiryTime);
            return(tokens);
        }
예제 #4
0
        public void DeleteOAuthTokens(string paramName)
        {
            InMemoryStorage tokenStorage = InMemoryStorage.GetInstance();

            tokenStorage.UserIdentifier = null;
        }