Пример #1
0
        private TivoEndPoint(string address, TivoConnectionMode mode, TivoServiceProvider serviceProvider, ICertificateStore certificateStore)
        {
            if (certificateStore == null)
            {
                throw new ArgumentNullException("certificateStore");
            }

            if (string.IsNullOrWhiteSpace(address))
            {
                throw new ArgumentNullException("address");
            }

            switch (serviceProvider)
            {
            case TivoServiceProvider.TivoUSA:
                this.rpcAppName    = "Quicksilver";
                this.rpcAppVersion = new Version(1, 2);
                break;

            case TivoServiceProvider.VirginMediaUK:
                this.rpcAppName    = "com.virginmedia.quicksilvervm";
                this.rpcAppVersion = new Version(2, 2);
                break;

            case TivoServiceProvider.Unknown:
            default:
                throw new ArgumentOutOfRangeException("service", "Must specify a valid service provider.");
            }

            this.serviceProvider  = serviceProvider;
            this.certificateStore = certificateStore;
            this.Address          = address;
            this.ConnectionMode   = mode;
        }
Пример #2
0
        string ICertificateStore.GetPassword(TivoServiceProvider serviceProvider)
        {
            switch (serviceProvider)
            {
            case TivoServiceProvider.TivoUSA:
                return("mpE7Qy8cSqdf");

            case TivoServiceProvider.VirginMediaUK:
                return("R2N48DSKr2Cm");

            case TivoServiceProvider.Unknown:
            default:
                throw new ArgumentOutOfRangeException("serviceProvider", "Must specify a valid service provider.");
            }
        }
Пример #3
0
        private static string GetMiddlemindServerAddress(TivoServiceProvider serviceProvider)
        {
            string address;

            switch (serviceProvider)
            {
            case TivoServiceProvider.TivoUSA:
                address = "middlemind.tivo.com";
                break;

            case TivoServiceProvider.VirginMediaUK:
                address = "secure-tivo-api.virginmedia.com";
                break;

            case TivoServiceProvider.Unknown:
            default:
                throw new ArgumentOutOfRangeException("serviceProvider", "Must specify a valid service provider.");
            }

            return(address);
        }
Пример #4
0
        Stream ICertificateStore.GetCertificate(TivoServiceProvider serviceProvider)
        {
            string resourceName;

            switch (serviceProvider)
            {
            case TivoServiceProvider.TivoUSA:
                resourceName = "TivoTest.tivo_us.p12";
                break;

            case TivoServiceProvider.VirginMediaUK:
                resourceName = "TivoTest.tivo_vm.p12";
                break;

            case TivoServiceProvider.Unknown:
            default:
                throw new ArgumentOutOfRangeException("serviceProvider", "Must specify a valid service provider.");
            }

            return(typeof(TivoCertificateStore).Assembly.GetManifestResourceStream(resourceName));
        }
Пример #5
0
 public static TivoEndPoint CreateLocal(string address, TivoServiceProvider serviceProvider, ICertificateStore certificateStore)
 {
     return(new TivoEndPoint(address, TivoConnectionMode.Local, serviceProvider, certificateStore));
 }
Пример #6
0
 public static TivoEndPoint CreateAway(TivoServiceProvider serviceProvider, ICertificateStore certificateStore)
 {
     return(new TivoEndPoint(GetMiddlemindServerAddress(serviceProvider), TivoConnectionMode.Away, serviceProvider, certificateStore));
 }