static void Main()
        {
            //Program entrypoint
            IUPnPConfigFactory sinkfact = new SinkFactory();
            IUPnPConfigFactory sourceFact = new SourceFactory();

            UPnP sink = new UPnP(sinkfact.CreatePackage());
            UPnP source = new UPnP(sourceFact.CreatePackage());

            IPlayqueueHandler pqhandl = new PlayqueueHandler();

            PlaybackControl PlayCtrl = new PlaybackControl(sink, pqhandl);
            DBHandle dbHandle = new DBHandle(source, pqhandl);

            AbstractFileSenderServer Fserver = new FileSenderServer.FileSenderServer();

            Console.WriteLine ("==============================================================");
            Console.WriteLine ("Welcome to the HiPi Server solution");
            Console.WriteLine ("All UPnP devices SHOULD work, but that's probably not the case");
            Console.WriteLine ("Feel free to get our Windows application to get all features");
            Console.WriteLine ("Enjoy! ;)");
            Console.WriteLine ("==============================================================");

            Console.Read();
        }
Ejemplo n.º 2
0
        public Manager()
        {
            Registry.Manager.Instance.RegistryChanged += new Proteus.Kernel.Registry.Manager.RegistryChangedDelegate(Instance_RegistryChanged);

            // Add default types.
            SinkFactory.Register <XmlSink>("XmlSink");
            SinkFactory.Register <TextSink>("TextSink");

            ContextFactory.Register <TimestampInfo>("Timestamp");

            Configure();
        }
Ejemplo n.º 3
0
        /// <summary>Создаёт экземпляр <see cref="IWorker" /> для обработки указанных потоков</summary>
        /// <param name="Input">Входой поток</param>
        /// <param name="Output">Выходной поток</param>
        public IWorker BuildFor(Stream Input, Stream Output)
        {
            return(DegreeOfParallelism switch
            {
                1 => new SingleThreadWorker(
                    new FileProcessWorkerRepetitiveRoutine(
                        SourceFactory.Create(Input),
                        SinkFactory.Create(Output),
                        Processor)),

                _ => new MultiThreadWorker(
                    new FileProcessWorkerRepetitiveRoutine(
                        SourceFactory.Create(Input).Locked(),
                        SinkFactory.Create(Output).Locked(),
                        Processor),
                    DegreeOfParallelism)
            });