コード例 #1
0
 public void Insert(RecordDescription data)
 {
     lock (_recordDescriptions)
     {
         _recordDescriptions.Add(data);
     }
 }
コード例 #2
0
        public void Insert(RecordDescription data)
        {
            // RecordDescriptionはNotificationObjectを継承しているので、そのままInsertすると
            // Livet.WeakEventListenerHolderがunknown sqlce typeと言われてしまう。
            // そこで、いったん匿名型に入れ替える必要がある。

            DbExecutor.Insert(new SQLiteConnection(_connectionString), "RecordDescriptions",
                              new { data.Title, data.CreatedDateTime, data.TimeSpan, data.NamingName, data.ComponentType,
                                    data.PortName, data.DataType, data.SumSize, data.Count, data.IsLittleEndian,
                                    data.IndexFileName, data.DataFileName });
        }
コード例 #3
0
        public Player(RecordDescription desc, string namingName, string portName)
        {
            RecordDescription = desc;
            _namingName       = namingName;
            _portName         = portName;

            AutoActivate = true;
            EnableLoop   = false;
            IsPlaying    = false;
            IsAlive      = false;
            IsPausing    = false;

            Initialize();
        }
コード例 #4
0
ファイル: Player.cs プロジェクト: zoetrope/RtStorage
        public Player(RecordDescription desc, string namingName, string portName)
        {
            RecordDescription = desc;
            _namingName = namingName;
            _portName = portName;

            AutoActivate = true;
            EnableLoop = false;
            IsPlaying = false;
            IsAlive = false;
            IsPausing = false;

            Initialize();
        }
コード例 #5
0
ファイル: PlayerTest.cs プロジェクト: zoetrope/RtStorage
        public void キャンセルするテスト()
        {
            var description = new RecordDescription()
            {
                CreatedDateTime = DateTime.Now,
                TimeSpan = 17460,
                NamingName = "localhost:2809/ConsoleIn0.rtc",
                ComponentType = "ConsoleIn",
                PortName = "ConsoleIn0.out",
                DataType = "IDL:RTC/TimedLong:1.0",
                SumSize = 228,
                Count = 19,
                IsLittleEndian = 1,
                IndexFileName = "TestData002.index",
                DataFileName = "TestData002.data",
            };

            var player = new Player(description, "127.0.0.1:2809/SampleIn0.rtc", "SampleIn0.in");

            player.IsNotNull();

            player.IsAlive.Is(true);

            player.Start();

            player.IsAlive.Is(true);
            player.IsPlaying.Is(true);

            _observer.Take(3)
                .Do(x => Console.WriteLine(x[8]))
                .Timeout(TimeSpan.FromSeconds(30))
                .ToEnumerable().ToList();

            player.Stop();

            player.IsAlive.Is(true);
            player.IsPlaying.Is(false);
        }
コード例 #6
0
        public bool Initialize()
        {
            lock (_lockObject)
            {
                if (IsAlive)
                {
                    return(false);
                }

                try
                {
                    var comp = NamingServiceManager.Default.GetComponent(_namingName);

                    _portService = comp.GetPort(_portName);

                    RecordDescription               = new RecordDescription();
                    RecordDescription.NamingName    = _namingName;
                    RecordDescription.ComponentType = comp.get_component_profile().type_name;

                    var prof = _portService.get_port_profile();
                    Key = _namingName + ":" + prof.name;

                    RecordDescription.PortName = prof.name;
                    RecordDescription.DataType = prof.GetDataType();

                    IsAlive = true;

                    return(true);
                }
                catch (Exception)
                {
                    IsAlive = false;
                    NotifyError("RTコンポーネントの接続に失敗しました。");
                    return(false);
                }
            }
        }
コード例 #7
0
 // 検索結果が選択されたら通知される
 public void NotifyAdopt(RecordDescription description)
 {
     _notifier(description);
     Messenger.Raise(new WindowActionMessage("CloseWindow", WindowAction.Close));
 }
コード例 #8
0
 public void NotifyAdopt(RecordDescription description)
 {
     _players.Add(new Player(description, SelectedPort.NamingName, SelectedPort.Name));
 }
コード例 #9
0
 public SearchResultViewModel(RecordDescription description, Action<RecordDescription> notifier)
 {
     _recordDescription = description;
     _notifier = notifier;
 }
コード例 #10
0
        public void キャストのチェック()
        {
            // SQLiteを1.0.76.0にアップデートしたら、IsLittleEndianをlongからboolにキャストしようとしてエラーになった。
            // SQLiteではboolは使えない。

            dynamic descs = DbExecutor.SelectDynamic(
                new SQLiteConnection("Data Source=../../TestData/RecordDescriptions.db"),
                @"select * from RecordDescriptions ").First();

            var data = new RecordDescription();

            data.ComponentType = descs.ComponentType;
            data.Count = descs.Count;
            data.CreatedDateTime = descs.CreatedDateTime;
            data.DataFileName = descs.DataFileName;
            data.DataType = descs.DataType;
            data.IndexFileName = descs.IndexFileName;
            data.IsLittleEndian = descs.IsLittleEndian;
            data.NamingName = descs.NamingName;
            data.PortName = descs.PortName;
            data.SumSize = descs.SumSize;
            data.TimeSpan = descs.TimeSpan;
            data.Title = descs.Title;
        }
コード例 #11
0
        public void Insert(RecordDescription data)
        {
            // RecordDescriptionはNotificationObjectを継承しているので、そのままInsertすると
            // Livet.WeakEventListenerHolderがunknown sqlce typeと言われてしまう。
            // そこで、いったん匿名型に入れ替える必要がある。

            DbExecutor.Insert(new SQLiteConnection(_connectionString), "RecordDescriptions",
                new {data.Title, data.CreatedDateTime, data.TimeSpan, data.NamingName, data.ComponentType,
                    data.PortName, data.DataType, data.SumSize, data.Count, data.IsLittleEndian,
                    data.IndexFileName, data.DataFileName });
        }
コード例 #12
0
ファイル: PlayerTest.cs プロジェクト: zoetrope/RtStorage
        public void 初期化のテスト()
        {
            var description = new RecordDescription()
            {
                CreatedDateTime = DateTime.Now,
                TimeSpan = 1661,
                NamingName = "127.0.0.1:2809/ConsoleOut0.rtc",
                ComponentType = "SampleOut",
                PortName = "SampleOut0.out",
                DataType = "IDL:RTC/TimedLong:1.0",
                SumSize = 1200,
                Count = 100,
                IsLittleEndian = 1,
                IndexFileName = "TestData001.index",
                DataFileName = "TestData001.data",
            };

            var player = new Player(description, "127.0.0.1:2809/SampleIn0.rtc", "SampleIn0.in");

            player.IsNotNull();

            player.IsAlive.Is(true);
        }
コード例 #13
0
ファイル: PlayerTest.cs プロジェクト: zoetrope/RtStorage
        public void ファイルを再生するテスト()
        {
            var description = new RecordDescription()
            {
                CreatedDateTime = DateTime.Now,
                TimeSpan = 1661,
                NamingName = "127.0.0.1:2809/ConsoleOut0.rtc",
                ComponentType = "SampleOut",
                PortName = "SampleOut0.out",
                DataType = "IDL:RTC/TimedLong:1.0",
                SumSize = 1200,
                Count = 100,
                IsLittleEndian = 1,
                IndexFileName = "TestData001.index",
                DataFileName = "TestData001.data",
            };

            var player = new Player(description, "127.0.0.1:2809/SampleIn0.rtc", "SampleIn0.in");

            player.IsNotNull();

            player.IsAlive.Is(true);

            player.Start();

            player.IsAlive.Is(true);

            // 100回putされるまで待つ。10秒以内に完了しなかったらTimeoutException
            var data = _observer.Take(100)
                .Timeout(TimeSpan.FromSeconds(10))
                .ToEnumerable().ToList();

            data.Count().Is(100);

            player.Stop();

            player.IsAlive.Is(true);
        }
コード例 #14
0
 public void Insert(RecordDescription data)
 {
     lock (_recordDescriptions)
     {
         _recordDescriptions.Add(data);
     }
 }
コード例 #15
0
        public void NotifyAdopt(RecordDescription description)
        {
            Analyzer = new Analyzer(description);

            UpdateCommand.Execute(null);
        }
コード例 #16
0
ファイル: Analyzer.cs プロジェクト: zoetrope/RtStorage
 public Analyzer(RecordDescription description)
 {
     _recordDescription = description;
     PartitionNumber = 10;
 }
コード例 #17
0
ファイル: Analyzer.cs プロジェクト: takahasi/RtStorage
 public Analyzer(RecordDescription description)
 {
     _recordDescription = description;
     PartitionNumber    = 10;
 }