GDCM  2.2.6
gdcmULActionAR.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef GDCMULACTIONAR_H
19 #define GDCMULACTIONAR_H
20 
21 #include "gdcmULAction.h"
22 
31 namespace gdcm {
32  namespace network {
33 
34  //Send A-RELEASE-RQ-PDU
35  //Next State: eSta7WaitRelease
36  class ULActionAR1 : public ULAction {
37  public:
38  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
39  bool& outWaitingForEvent, EEventID& outRaisedEvent);
40  };
41 
42  //Issue A-RELEASE indication primitive
43  //Next State: eSta8WaitLocalRelease
44  class ULActionAR2 : public ULAction {
45  public:
46  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
47  bool& outWaitingForEvent, EEventID& outRaisedEvent);
48  };
49 
50  //Issue A-RELEASE confirmation primitive, and close transport connection
51  //Next State: eSta1Idle
52  class ULActionAR3 : public ULAction {
53  public:
54  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
55  bool& outWaitingForEvent, EEventID& outRaisedEvent);
56  };
57 
58  //Issue A-RELEASE-RP PDU and start ARTIM timer
59  //Next State: eSta13AwaitingClose
60  class ULActionAR4 : public ULAction {
61  public:
62  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
63  bool& outWaitingForEvent, EEventID& outRaisedEvent);
64  };
65 
66  //Stop ARTIM timer
67  //Next State: eSta1Idle
68  class ULActionAR5 : public ULAction {
69  public:
70  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
71  bool& outWaitingForEvent, EEventID& outRaisedEvent);
72  };
73 
74  //Issue P-Data indication
75  //Next State: eSta7WaitRelease
76  class ULActionAR6 : public ULAction {
77  public:
78  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
79  bool& outWaitingForEvent, EEventID& outRaisedEvent);
80  };
81 
82  //Issue P-DATA-TF PDU
83  //Next State: eSta8WaitLocalRelease
84  class ULActionAR7 : public ULAction {
85  public:
86  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
87  bool& outWaitingForEvent, EEventID& outRaisedEvent);
88  };
89 
90  //Issue A-RELEASE indication (release collision):
91  //- If association-requestor, next state is eSta9ReleaseCollisionRqLocal
92  //- if not, next state is eSta10ReleaseCollisionAc
93  class ULActionAR8 : public ULAction {
94  public:
95  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
96  bool& outWaitingForEvent, EEventID& outRaisedEvent);
97  };
98 
99  //Send A-RELEASE-RP PDU
100  //Next State: eSta11ReleaseCollisionRq
101  class ULActionAR9 : public ULAction {
102  public:
103  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
104  bool& outWaitingForEvent, EEventID& outRaisedEvent);
105  };
106 
107  //Issue A-RELEASE confirmation primitive
108  //Next State: eSta12ReleaseCollisionAcLocal
109  class ULActionAR10 : public ULAction {
110  public:
111  EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
112  bool& outWaitingForEvent, EEventID& outRaisedEvent);
113  };
114  }
115 }
116 #endif // GDCMULACTIONAR_H
Definition: gdcmULActionAR.h:60
ULConnection This is the class that contains the socket to another machine, and passes data through i...
Definition: gdcmULConnection.h:57
Definition: gdcmULActionAR.h:44
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
Definition: gdcmULActionAR.h:84
EStateID
Definition: gdcmNetworkStateID.h:32
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
Definition: gdcmULActionAR.h:52
Definition: gdcmULActionAR.h:36
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
Definition: gdcmULActionAR.h:76
Subject.
Definition: gdcmSubject.h:28
Definition: gdcmULActionAR.h:101
ULEvent base class for network events.
Definition: gdcmULEvent.h:37
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
Definition: gdcmULActionAR.h:68
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
EEventID
Definition: gdcmNetworkEvents.h:33
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
Definition: gdcmULActionAR.h:93
Definition: gdcmULActionAR.h:109
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)
ULAction A ULConnection in a given ULState can perform certain ULActions. This base class provides th...
Definition: gdcmULAction.h:62
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)

Generated on Sat Dec 21 2013 05:56:18 for GDCM by doxygen 1.8.5
SourceForge.net Logo