public Microsoft.XLANGs.Core.StopConditions segment1(Microsoft.XLANGs.Core.StopConditions stopOn) { Microsoft.XLANGs.Core.Envelope __msgEnv__ = null; Microsoft.XLANGs.Core.Segment __seg__ = _segments[1]; Microsoft.XLANGs.Core.Context __ctx__ = (Microsoft.XLANGs.Core.Context)_stateMgrs[1]; __echoOrch_root_0 __ctx0__ = (__echoOrch_root_0)_stateMgrs[0]; __echoOrch_1 __ctx1__ = (__echoOrch_1)_stateMgrs[1]; switch (__seg__.Progress) { case 0: __ctx__.PrologueCompleted = true; if ( !PostProgressInc( __seg__, __ctx__, 1 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 1; case 1: if ( !PreProgressInc( __seg__, __ctx__, 2 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[0],__eventData[0],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 2; case 2: if ( !PreProgressInc( __seg__, __ctx__, 3 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[1],__eventData[1],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 3; case 3: if (!echoPort.GetMessageId(__ctx0__.__subWrapper0.getSubscription(this), __seg__, __ctx1__, out __msgEnv__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if (__ctx1__.__Message_1 != null) __ctx1__.UnrefMessage(__ctx1__.__Message_1); __ctx1__.__Message_1 = new __messagetype_System_Xml_XmlDocument("Message_1", __ctx1__); __ctx1__.RefMessage(__ctx1__.__Message_1); echoPort.ReceiveMessage(0, __msgEnv__, __ctx1__.__Message_1, null, (Microsoft.XLANGs.Core.Context)_stateMgrs[1], __seg__); if ( !PostProgressInc( __seg__, __ctx__, 4 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 4; case 4: if ( !PreProgressInc( __seg__, __ctx__, 5 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; { Microsoft.XLANGs.RuntimeTypes.EventData __edata = new Microsoft.XLANGs.RuntimeTypes.EventData(Microsoft.XLANGs.RuntimeTypes.Operation.End | Microsoft.XLANGs.RuntimeTypes.Operation.Receive); __edata.Messages.Add(__ctx1__.__Message_1); __edata.PortName = @"echoPort"; Tracker.FireEvent(__eventLocations[2],__edata,_stateMgrs[1].TrackDataStream ); } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 5; case 5: if ( !PreProgressInc( __seg__, __ctx__, 6 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[3],__eventData[2],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 6; case 6: if (!__ctx1__.PrepareToPendingCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 7 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 7; case 7: if ( !PreProgressInc( __seg__, __ctx__, 8 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; echoPort.SendMessage(0, __ctx1__.__Message_1, null, null, __ctx1__, __seg__ , Microsoft.XLANGs.Core.ActivityFlags.NextActivityPersists ); if (echoPort != null) { echoPort.Close(__ctx1__, __seg__); echoPort = null; } if ((stopOn & Microsoft.XLANGs.Core.StopConditions.OutgoingResp) != 0) return Microsoft.XLANGs.Core.StopConditions.OutgoingResp; goto case 8; case 8: if ( !PreProgressInc( __seg__, __ctx__, 9 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; { Microsoft.XLANGs.RuntimeTypes.EventData __edata = new Microsoft.XLANGs.RuntimeTypes.EventData(Microsoft.XLANGs.RuntimeTypes.Operation.End | Microsoft.XLANGs.RuntimeTypes.Operation.Send); __edata.Messages.Add(__ctx1__.__Message_1); __edata.PortName = @"echoPort"; Tracker.FireEvent(__eventLocations[4],__edata,_stateMgrs[1].TrackDataStream ); } if (__ctx1__ != null && __ctx1__.__Message_1 != null) { __ctx1__.UnrefMessage(__ctx1__.__Message_1); __ctx1__.__Message_1 = null; } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 9; case 9: if ( !PreProgressInc( __seg__, __ctx__, 10 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[5],__eventData[3],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 10; case 10: if (!__ctx1__.CleanupAndPrepareToCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 11 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 11; case 11: if ( !PreProgressInc( __seg__, __ctx__, 12 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; __ctx1__.OnCommit(); goto case 12; case 12: __seg__.SegmentDone(); _segments[0].PredecessorDone(this); break; } return Microsoft.XLANGs.Core.StopConditions.Completed; }
public override Microsoft.XLANGs.Core.PortBase Clone() { echoPT p = new echoPT(this); return p; }
public Microsoft.XLANGs.Core.StopConditions segment0(Microsoft.XLANGs.Core.StopConditions stopOn) { Microsoft.XLANGs.Core.Segment __seg__ = _segments[0]; Microsoft.XLANGs.Core.Context __ctx__ = (Microsoft.XLANGs.Core.Context)_stateMgrs[0]; __echoOrch_root_0 __ctx0__ = (__echoOrch_root_0)_stateMgrs[0]; __echoOrch_1 __ctx1__ = (__echoOrch_1)_stateMgrs[1]; switch (__seg__.Progress) { case 0: echoPort = new echoPT(0, this); __ctx__.PrologueCompleted = true; __ctx0__.__subWrapper0 = new Microsoft.XLANGs.Core.SubscriptionWrapper(ActivationSubGuids[0], echoPort, this); if ( !PostProgressInc( __seg__, __ctx__, 1 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; if ((stopOn & Microsoft.XLANGs.Core.StopConditions.Initialized) != 0) return Microsoft.XLANGs.Core.StopConditions.Initialized; goto case 1; case 1: __ctx1__ = new __echoOrch_1(this); _stateMgrs[1] = __ctx1__; if ( !PostProgressInc( __seg__, __ctx__, 2 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 2; case 2: __ctx0__.StartContext(__seg__, __ctx1__); if ( !PostProgressInc( __seg__, __ctx__, 3 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; return Microsoft.XLANGs.Core.StopConditions.Blocked; case 3: if (!__ctx0__.CleanupAndPrepareToCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 4 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 4; case 4: __ctx1__.Finally(); ServiceDone(__seg__, (Microsoft.XLANGs.Core.Context)_stateMgrs[0]); __ctx0__.OnCommit(); break; } return Microsoft.XLANGs.Core.StopConditions.Completed; }
public echoPT(echoPT p) : base(p) { }