public AppDiffSummary GetDiffSummary(int versionId)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");
            DebugLogger.Log(string.Format("Getting diff summary of version with id {0}.", versionId));

            return(_mainApiConnection.GetAppVersionDiffSummary(_appSecret, versionId));
        }
Example #2
0
        public AppContentSummary GetContentSummary(int versionId, CancellationToken cancellationToken)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");
            DebugLogger.Log(string.Format("Getting content summary of version with id {0}.", versionId));

            return(_mainApiConnection.GetAppVersionContentSummary(_appSecret, versionId, cancellationToken));
        }
        public void RegisterEntry(string entryName, int versionId)
        {
            Checks.ArgumentNotNullOrEmpty(entryName, "fileName");
            Checks.ArgumentValidVersionId(versionId, "versionId");

            // TODO: Uncomment this after fixing directory registration in install content command
            Assert.IsFalse(entryName.EndsWith("/"),
                           "Cannot register directory as entry due to problem with content installation command. See code to learn more.");

            DebugLogger.Log(string.Format("Adding or updating file {0} to version {1}.", entryName, versionId));

            _data.FileVersionIds[entryName] = versionId;

            SaveData();
        }
        public CheckVersionIntegrityCommand(int versionId, AppContentSummary versionSummary, ILocalDirectory localDirectory, ILocalMetaData localMetaData)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");
            // TODO: Validate the content summary.
            Checks.ArgumentNotNull(localDirectory, "localDirectory");
            Checks.ArgumentNotNull(localMetaData, "localMetaData");


            DebugLogger.LogConstructor();
            DebugLogger.LogVariable(versionId, "versionId");

            _versionId      = versionId;
            _versionSummary = versionSummary;
            _localDirectory = localDirectory;
            _localMetaData  = localMetaData;
        }
        public CheckVersionIntegrityCommand(int versionId, AppContentSummary versionSummary,
                                            ILocalDirectory localDirectory, ILocalMetaData localMetaData, bool isCheckingHash, bool isCheckingSize)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");
            Checks.ArgumentNotNull(versionSummary, "versionSummary");
            Checks.ArgumentNotNull(localDirectory, "localDirectory");
            Checks.ArgumentNotNull(localMetaData, "localMetaData");

            DebugLogger.LogConstructor();
            DebugLogger.LogVariable(versionId, "versionId");

            _versionId      = versionId;
            _versionSummary = versionSummary;
            _localDirectory = localDirectory;
            _localMetaData  = localMetaData;
            _isCheckingSize = isCheckingSize;
            _isCheckingHash = isCheckingHash;
        }
        public RemoteResource GetDiffPackageResource(int versionId, string keySecret, string countryCode, CancellationToken cancellationToken)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");

            DebugLogger.Log("Getting diff package resource.");
            DebugLogger.LogVariable(versionId, "versionId");
            DebugLogger.LogVariable(keySecret, "keySecret");

            RemoteResource resource = new RemoteResource();

            var summary = _mainApiConnection.GetAppVersionDiffSummary(_appSecret, versionId, cancellationToken);
            var urls    = _mainApiConnection.GetAppVersionDiffUrls(_appSecret, versionId, countryCode, keySecret, cancellationToken);

            resource.Size         = summary.Size;
            resource.HashCode     = summary.HashCode;
            resource.ChunksData   = ConvertToChunksData(summary.Chunks);
            resource.ResourceUrls = urls;
            return(resource);
        }
Example #7
0
        public InstallDiffCommand(string packagePath, string packageMetaPath, string packagePassword, int versionId,
                                  AppDiffSummary versionDiffSummary, ILocalDirectory localData, ILocalMetaData localMetaData,
                                  ITemporaryDirectory temporaryData)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");
            // TODO: Check whether version diff summary is correct
            Checks.ArgumentNotNull(localData, "localData");
            Checks.ArgumentNotNull(localMetaData, "localMetaData");
            Checks.ArgumentNotNull(temporaryData, "temporaryData");

            _packagePath        = packagePath;
            _packageMetaPath    = packageMetaPath;
            _packagePassword    = packagePassword;
            _versionId          = versionId;
            _versionDiffSummary = versionDiffSummary;
            _localData          = localData;
            _localMetaData      = localMetaData;
            _temporaryData      = temporaryData;
        }
        public InstallContentCommand(string packagePath, string packageMetaPath, string packagePassword, int versionId,
                                     AppContentSummary versionContentSummary, ILocalDirectory localData, ILocalMetaData localMetaData)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");
            // TODO: Validate the content summary.
            Checks.ArgumentNotNull(localData, "localData");
            Checks.ArgumentNotNull(localMetaData, "localMetaData");

            DebugLogger.LogConstructor();
            DebugLogger.LogVariable(packagePath, "packagePath");
            DebugLogger.LogVariable(versionId, "versionId");

            _packagePath           = packagePath;
            _packageMetaPath       = packageMetaPath;
            _packagePassword       = packagePassword;
            _versionId             = versionId;
            _versionContentSummary = versionContentSummary;
            _localData             = localData;
            _localMetaData         = localMetaData;
        }
Example #9
0
        public RemoteResource GetDiffPackageResource(int versionId, string keySecret, string countryCode)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");

            DebugLogger.Log("Getting diff package resource.");
            DebugLogger.LogVariable(versionId, "versionId");
            DebugLogger.LogVariable(keySecret, "keySecret");

            RemoteResource resource = new RemoteResource();

            var summary    = _mainApiConnection.GetAppVersionDiffSummary(_appSecret, versionId);
            var torrentUrl = _mainApiConnection.GetAppVersionDiffTorrentUrl(_appSecret, versionId, keySecret);
            var urls       = _mainApiConnection.GetAppVersionDiffUrls(_appSecret, versionId, countryCode); // TODO: Add key secret checking

            resource.Size         = summary.Size;
            resource.HashCode     = summary.HashCode;
            resource.ChunksData   = ConvertToChunksData(summary.Chunks);
            resource.TorrentUrls  = new[] { torrentUrl.Url };
            resource.ResourceUrls = urls;
            return(resource);
        }
        public RemoteResource GetContentPackageResource(int versionId, string keySecret, string countryCode)
        {
            Checks.ArgumentValidVersionId(versionId, "versionId");

            DebugLogger.Log("Getting content package resource.");
            DebugLogger.LogVariable(versionId, "versionId");
            DebugLogger.LogVariable(keySecret, "keySecret");

            RemoteResource resource = new RemoteResource();

            var summary    = _mainApiConnection.GetAppVersionContentSummary(_appSecret, versionId);
            var torrentUrl = _mainApiConnection.GetAppVersionContentTorrentUrl(_appSecret, versionId, keySecret);
            var urls       = _mainApiConnection.GetAppVersionContentUrls(_appSecret, versionId, countryCode); // TODO: Add key secret checking

            resource.Size        = summary.Size;
            resource.HashCode    = summary.HashCode;
            resource.ChunksData  = ConvertToChunksData(summary.Chunks);
            resource.TorrentUrls = new[] { torrentUrl.Url };
            resource.Urls        = urls.Select(u => u.Url).ToArray();
            resource.MetaUrls    = urls.Select(u => u.MetaUrl).Where(u => u != null).ToArray();

            return(resource);
        }
 public string GetDiffPackageMetaPath(int versionId)
 {
     Checks.ArgumentValidVersionId(versionId, "versionId");
     return(Path.PathCombine("-diff-meta" + versionId));
 }
 public string GetContentPackageMetaPath(int versionId)
 {
     Checks.ArgumentValidVersionId(versionId, "versionId");
     return(Path.PathCombine("-content-meta-" + versionId));
 }