Пример #1
0
        /// <summary>
        /// Creates a new access from a serialized string.
        /// An access contains info about the satellite-address, the passphrase and the API-Key.
        /// </summary>
        /// <param name="accessGrant">The serialized access grant</param>
        public Access(string accessGrant)
        {
            Init();

            try
            {
                _accessResult = SWIG.storj_uplink.parse_access(accessGrant);
                if (_accessResult.error != null && !string.IsNullOrEmpty(_accessResult.error.message))
                {
                    throw new ArgumentException(_accessResult.error.message);
                }

                _access = _accessResult.access;

                _projectResult = SWIG.storj_uplink.config_open_project(_config, _access);
                if (_projectResult.error != null && !string.IsNullOrEmpty(_projectResult.error.message))
                {
                    throw new ArgumentException(_projectResult.error.message);
                }

                _project = _projectResult.project;
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }
        }
Пример #2
0
        /// <summary>
        /// Creates a new access based on the satellite-adress, the API-key and the secret passphrase and by using a specific config
        /// </summary>
        /// <param name="satelliteAddress">The satellite address</param>
        /// <param name="apiKey">The API-key</param>
        /// <param name="secret">The passphrase</param>
        /// <param name="config">The configuration</param>
        public Access(string satelliteAddress, string apiKey, string secret, Config config)
        {
            Init(config);

            try
            {
                _accessResult = SWIG.storj_uplink.config_request_access_with_passphrase(_config, satelliteAddress, apiKey, secret);
                if (_accessResult.error != null && !string.IsNullOrEmpty(_accessResult.error.message))
                {
                    throw new ArgumentException(_accessResult.error.message);
                }

                _access = _accessResult.access;

                _projectResult = SWIG.storj_uplink.open_project(_access);
                if (_projectResult.error != null && !string.IsNullOrEmpty(_projectResult.error.message))
                {
                    throw new ArgumentException(_projectResult.error.message);
                }

                _project = _projectResult.project;
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }
        }
Пример #3
0
        internal Access(SWIG.Access access)
        {
            Init();

            try
            {
                _access = access;

                _projectResult = SWIG.storj_uplink.config_open_project(_config, _access);
                if (_projectResult.error != null && !string.IsNullOrEmpty(_projectResult.error.message))
                {
                    throw new ArgumentException(_projectResult.error.message);
                }

                _project = _projectResult.project;
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }
        }
Пример #4
0
 public void Dispose()
 {
     if (_project != null)
     {
         SWIG.Error closeError = SWIG.storj_uplink.close_project(_project);
         SWIG.storj_uplink.free_error(closeError);
         _project.Dispose();
         _project = null;
     }
     if (_accessResult != null)
     {
         SWIG.storj_uplink.free_access_result(_accessResult);
         _accessResult.Dispose();
         _accessResult = null;
     }
     if (_projectResult != null)
     {
         SWIG.storj_uplink.free_project_result(_projectResult);
         _projectResult.Dispose();
         _projectResult = null;
     }
 }