GDCM  2.2.0
gdcmULActionAR.h
Go to the documentation of this file.
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 GDCMULACTIONAR_H
00019 #define GDCMULACTIONAR_H
00020 
00021 #include "gdcmULAction.h"
00022 
00031 namespace gdcm {
00032   namespace network {
00033 
00034     //Send A-RELEASE-RQ-PDU
00035     //Next State: eSta7WaitRelease
00036     class ULActionAR1 : public ULAction {
00037     public:
00038       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00039         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00040     };
00041 
00042     //Issue A-RELEASE indication primitive
00043     //Next State: eSta8WaitLocalRelease
00044     class ULActionAR2 : public ULAction {
00045     public:
00046       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00047         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00048     };
00049 
00050     //Issue A-RELEASE confirmation primitive, and close transport connection
00051     //Next State: eSta1Idle
00052     class ULActionAR3 : public ULAction {
00053     public:
00054       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00055         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00056     };
00057 
00058     //Issue A-RELEASE-RP PDU and start ARTIM timer
00059     //Next State: eSta13AwaitingClose
00060     class ULActionAR4 : public ULAction {
00061     public:
00062       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00063         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00064     };
00065 
00066     //Stop ARTIM timer
00067     //Next State: eSta1Idle
00068     class ULActionAR5 : public ULAction {
00069     public:
00070       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00071         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00072     };
00073 
00074     //Issue P-Data indication
00075     //Next State: eSta7WaitRelease
00076     class ULActionAR6 : public ULAction {
00077     public:
00078       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00079         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00080     };
00081 
00082     //Issue P-DATA-TF PDU
00083     //Next State: eSta8WaitLocalRelease
00084     class ULActionAR7 : public ULAction {
00085     public:
00086       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00087         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00088     };
00089 
00090     //Issue A-RELEASE indication (release collision):
00091     //- If association-requestor, next state is eSta9ReleaseCollisionRqLocal
00092     //- if not, next state is eSta10ReleaseCollisionAc
00093     class ULActionAR8 : public ULAction {
00094     public:
00095       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00096         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00097     };
00098 
00099     //Send A-RELEASE-RP PDU
00100     //Next State: eSta11ReleaseCollisionRq
00101     class ULActionAR9 : public ULAction {
00102     public:
00103       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00104         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00105     };
00106 
00107     //Issue A-RELEASE confirmation primitive
00108     //Next State: eSta12ReleaseCollisionAcLocal
00109     class ULActionAR10 : public ULAction {
00110     public:
00111       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00112         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00113     };
00114   }
00115 }
00116 #endif // GDCMULACTIONAR_H

Generated on Sun Jun 3 2012 14:19:48 for GDCM by doxygen 1.8.0
SourceForge.net Logo