GDCM 2.2.0

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

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