public override ReturnCode_t connect(ref ConnectorProfile connector_profile) { var ior = connector_profile.GetInPortIor(); var orb = OrbServices.GetSingleton(); _inPortCdr = (InPortCdr)orb.string_to_object(ior); return ReturnCode_t.RTC_OK; }
public static InPortServiceMock CreateInPortService(string name, string dataType, InPortCdr inportCdr) { var portProfile = new PortProfile() { name = name, connector_profiles = new ConnectorProfile[0], interfaces = new PortInterfaceProfile[0], owner = null, port_ref = null, properties = new[]{ NameValueExtension.Create("port.port_type","DataInPort"), NameValueExtension.Create("dataport.data_type",dataType), NameValueExtension.Create("dataport.subscription_type","flush,new,periodic"), NameValueExtension.Create("dataport.dataflow_type","push,pull"), NameValueExtension.Create("dataport.interface_type","corba_cdr"), } }; var proxy = new MockProxy<InPortServiceMock>(new InPortServiceMock(portProfile, inportCdr)); return proxy.GetTransparentProxy(); }
public InPortCdrAdapter(InPortCdr target) { _target = target; }
public void Start() { lock (_lockObject) { ConnectorProfile prof; try { prof = new ConnectorProfile(); prof.ports = new[] { _portService }; prof.name = "dummy"; //名前見直し? prof.connector_id = ""; ConnectorProfileExtension.AddDataFlowType(ref prof, "push"); ConnectorProfileExtension.AddInterfaceType(ref prof, "corba_cdr"); ConnectorProfileExtension.AddSubscriptionType(ref prof, "new"); //TODO: エンディアンは? var ret = _portService.connect(ref prof); if (ret != ReturnCode_t.RTC_OK) { throw new Exception("ポートの接続に失敗しました。"); } } catch (Exception) { IsAlive = false; NotifyError("ポートの接続に失敗しました。"); return; } var ior = prof.GetInPortIor(); var orb = OrbServices.GetSingleton(); _inPortCdr = (InPortCdr)orb.string_to_object(ior); try { _dataFileReader = new BinaryReader( File.OpenRead(SettingHolder.BaseDirectory + RecordDescription.DataFileName)); _indexFileReader = new BinaryReader( File.OpenRead(SettingHolder.BaseDirectory + RecordDescription.IndexFileName)); } catch (Exception) { IsAlive = false; NotifyError("再生ファイルが開けませんでした。"); return; } try { if (AutoActivate) { var comp = NamingServiceManager.Default.GetComponent(_namingName); if (comp.GetState(0) == LifeCycleState.INACTIVE_STATE) { comp.Activate(0); } comp.WaitState(LifeCycleState.ACTIVE_STATE, TimeSpan.FromSeconds(5)); } } catch (Exception) { IsAlive = false; NotifyError("RTコンポーネントの活性化に失敗しました。"); return; } _stopWatch.Start(); CurrentCount = 0; IsPlaying = true; _cancellation = new CancellationTokenSource(); _task = Task.Factory.StartNew(Run, _cancellation.Token); } }
public InPortServiceMock(PortProfile prof, InPortCdr mock) : base(prof) { _inPortCdrMock = mock; }