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(); }
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(); }
/// <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) });