GDCM 3.0.24
gdcmULActionAR.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
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
31namespace 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) override;
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) override;
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) override;
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) override;
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) override;
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) override;
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) override;
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) override;
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) override;
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) override;
113 };
114 }
115}
116#endif // GDCMULACTIONAR_H
Subject.
Definition gdcmSubject.h:29
Definition gdcmULActionAR.h:109
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:36
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:44
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:52
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:60
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:68
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:76
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:84
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:93
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
Definition gdcmULActionAR.h:101
EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) override
ULAction.
Definition gdcmULAction.h:62
ULConnection.
Definition gdcmULConnection.h:58
ULEvent.
Definition gdcmULEvent.h:37
EStateID
Definition gdcmNetworkStateID.h:32
EEventID
Definition gdcmNetworkEvents.h:33
Definition gdcmASN1.h:21