GDCM
2.2.3
|
00001 /*========================================================================= 00002 * 00003 * Copyright Insight Software Consortium 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0.txt 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 * 00017 *=========================================================================*/ 00018 #ifndef GDCMULACTIONAA_H 00019 #define GDCMULACTIONAA_H 00020 00021 #include "gdcmULAction.h" 00022 00031 namespace gdcm { 00032 namespace network { 00033 00034 //Send A-ABORT PDU (service-user source) and start (or restart if already started) ARTIM timer 00035 //Next State: eSta13AwaitingClose 00036 class ULActionAA1 : public ULAction { 00037 public: 00038 EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection, 00039 bool& outWaitingForEvent, EEventID& outRaisedEvent); 00040 }; 00041 00042 //Stop ARTIM timer if running. Close transport connection. 00043 //Next State: eSta1Idle 00044 class ULActionAA2 : public ULAction { 00045 public: 00046 EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection, 00047 bool& outWaitingForEvent, EEventID& outRaisedEvent); 00048 }; 00049 00050 //If (service-user initiated abort) 00051 //- issue A-ABORT indication and close transport connection 00052 //otherwise (service-provider initiated abort): 00053 //- issue A-P-ABORT indication and close transport connection 00054 //Next State: eSta1Idle 00055 class ULActionAA3 : public ULAction { 00056 public: 00057 EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection, 00058 bool& outWaitingForEvent, EEventID& outRaisedEvent); 00059 }; 00060 00061 //Issue A-P-ABORT indication primitive 00062 //Next State: eSta1Idle 00063 class ULActionAA4 : public ULAction { 00064 public: 00065 EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection, 00066 bool& outWaitingForEvent, EEventID& outRaisedEvent); 00067 }; 00068 00069 //Stop ARTIM timer 00070 //Next State: eSta1Idle 00071 class ULActionAA5 : public ULAction { 00072 public: 00073 EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection, 00074 bool& outWaitingForEvent, EEventID& outRaisedEvent); 00075 }; 00076 00077 //Ignore PDU 00078 //Next State: eSta13AwaitingClose 00079 class ULActionAA6 : public ULAction { 00080 public: 00081 EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection, 00082 bool& outWaitingForEvent, EEventID& outRaisedEvent); 00083 }; 00084 00085 //Send A-ABORT PDU 00086 //Next State: eSta13AwaitingClose 00087 class ULActionAA7 : public ULAction { 00088 public: 00089 EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection, 00090 bool& outWaitingForEvent, EEventID& outRaisedEvent); 00091 }; 00092 00093 //Send A-ABORT PDU (service-provider source), issue an A-P-ABORT indication, and start ARTIM timer 00094 //Next State: eSta13AwaitingClose 00095 class ULActionAA8 : public ULAction { 00096 public: 00097 EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection, 00098 bool& outWaitingForEvent, EEventID& outRaisedEvent); 00099 }; 00100 } 00101 } 00102 00103 #endif // GDCMULACTIONAA_H