public override void Finally() { FF_Tab_Orch __svc__ = (FF_Tab_Orch)_service; __FF_Tab_Orch_1 __ctx1__ = (__FF_Tab_Orch_1)(__svc__._stateMgrs[1]); if (__ctx1__ != null && __ctx1__.__In_msg != null) { __ctx1__.UnrefMessage(__ctx1__.__In_msg); __ctx1__.__In_msg = null; } if (__ctx1__ != null && __ctx1__.__DummyMsg != null) { __ctx1__.UnrefMessage(__ctx1__.__DummyMsg); __ctx1__.__DummyMsg = null; } base.Finally(); }
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]; __FF_Tab_Orch_1 __ctx1__ = (__FF_Tab_Orch_1)_stateMgrs[1]; __FF_Tab_Orch_root_0 __ctx0__ = (__FF_Tab_Orch_root_0)_stateMgrs[0]; switch (__seg__.Progress) { case 0: FF_Tab = new FF_Tab_port(0, this); FF_Tab_send = new FF_Tab_send_type(1, this); __ctx__.PrologueCompleted = true; __ctx0__.__subWrapper0 = new Microsoft.XLANGs.Core.SubscriptionWrapper(ActivationSubGuids[0], FF_Tab, 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 __FF_Tab_Orch_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 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]; __FF_Tab_Orch_1 __ctx1__ = (__FF_Tab_Orch_1)_stateMgrs[1]; __FF_Tab_Orch_root_0 __ctx0__ = (__FF_Tab_Orch_root_0)_stateMgrs[0]; 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 (!FF_Tab.GetMessageId(__ctx0__.__subWrapper0.getSubscription(this), __seg__, __ctx1__, out __msgEnv__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if (__ctx1__.__In_msg != null) __ctx1__.UnrefMessage(__ctx1__.__In_msg); __ctx1__.__In_msg = new __messagetype_FF_To_Xml_FF_TAB("In_msg", __ctx1__); __ctx1__.RefMessage(__ctx1__.__In_msg); FF_Tab.ReceiveMessage(0, __msgEnv__, __ctx1__.__In_msg, null, (Microsoft.XLANGs.Core.Context)_stateMgrs[1], __seg__); if (FF_Tab != null) { FF_Tab.Close(__ctx1__, __seg__); FF_Tab = null; } 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__.__In_msg); __edata.PortName = @"FF_Tab"; 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: { __messagetype_FF_To_Xml_FF_TAB __DummyMsg = new __messagetype_FF_To_Xml_FF_TAB("DummyMsg", __ctx1__); __DummyMsg.CopyFrom(__ctx1__.__In_msg); if (__ctx1__ != null && __ctx1__.__In_msg != null) { __ctx1__.UnrefMessage(__ctx1__.__In_msg); __ctx1__.__In_msg = null; } if (__ctx1__.__DummyMsg != null) __ctx1__.UnrefMessage(__ctx1__.__DummyMsg); __ctx1__.__DummyMsg = __DummyMsg; __ctx1__.RefMessage(__ctx1__.__DummyMsg); } __ctx1__.__DummyMsg.ConstructionCompleteEvent(false); 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; { Microsoft.XLANGs.RuntimeTypes.EventData __edata = new Microsoft.XLANGs.RuntimeTypes.EventData(Microsoft.XLANGs.RuntimeTypes.Operation.End | Microsoft.XLANGs.RuntimeTypes.Operation.Construct); __edata.Messages.Add(__ctx1__.__DummyMsg); Tracker.FireEvent(__eventLocations[4],__edata,_stateMgrs[1].TrackDataStream ); } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 8; case 8: if ( !PreProgressInc( __seg__, __ctx__, 9 ) ) 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 9; case 9: if (!__ctx1__.PrepareToPendingCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 10 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 10; case 10: if ( !PreProgressInc( __seg__, __ctx__, 11 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; FF_Tab_send.SendMessage(0, __ctx1__.__DummyMsg, null, null, __ctx1__, __seg__ , Microsoft.XLANGs.Core.ActivityFlags.NextActivityPersists ); if (FF_Tab_send != null) { FF_Tab_send.Close(__ctx1__, __seg__); FF_Tab_send = null; } if ((stopOn & Microsoft.XLANGs.Core.StopConditions.OutgoingRqst) != 0) return Microsoft.XLANGs.Core.StopConditions.OutgoingRqst; goto case 11; case 11: if ( !PreProgressInc( __seg__, __ctx__, 12 ) ) 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__.__DummyMsg); __edata.PortName = @"FF_Tab_send"; Tracker.FireEvent(__eventLocations[6],__edata,_stateMgrs[1].TrackDataStream ); } if (__ctx1__ != null && __ctx1__.__DummyMsg != null) { __ctx1__.UnrefMessage(__ctx1__.__DummyMsg); __ctx1__.__DummyMsg = null; } if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 12; case 12: if ( !PreProgressInc( __seg__, __ctx__, 13 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; Tracker.FireEvent(__eventLocations[7],__eventData[4],_stateMgrs[1].TrackDataStream ); if (IsDebugged) return Microsoft.XLANGs.Core.StopConditions.InBreakpoint; goto case 13; case 13: if (!__ctx1__.CleanupAndPrepareToCommit(__seg__)) return Microsoft.XLANGs.Core.StopConditions.Blocked; if ( !PostProgressInc( __seg__, __ctx__, 14 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; goto case 14; case 14: if ( !PreProgressInc( __seg__, __ctx__, 15 ) ) return Microsoft.XLANGs.Core.StopConditions.Paused; __ctx1__.OnCommit(); goto case 15; case 15: __seg__.SegmentDone(); _segments[0].PredecessorDone(this); break; } return Microsoft.XLANGs.Core.StopConditions.Completed; }