GDCM 3.0.24
gdcmULAction.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 GDCMULACTION_H
19#define GDCMULACTION_H
20
21#include "gdcmNetworkStateID.h"
22#include "gdcmULEvent.h"
23#include "gdcmULConnection.h"
24
25namespace gdcm {
26class Subject;
27 namespace network {
28
62class ULAction {
63
64 protected:
65
66
67 public:
68 ULAction() = default;
69 //make sure destructors are virtual to avoid memory leaks
70 virtual ~ULAction() = default;
71 //cannot copy a ULAction
72 ULAction(const ULAction& inAction) = delete;
73 void operator=(const ULAction&) = delete;
74
75 virtual EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
76 bool& outWaitingForEvent, EEventID& outRaisedEvent) = 0;
77 };
78 }
79}
80
81#endif // GDCMULACTION_H
Subject.
Definition gdcmSubject.h:29
ULAction.
Definition gdcmULAction.h:62
virtual ~ULAction()=default
void operator=(const ULAction &)=delete
virtual EStateID PerformAction(Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent)=0
ULAction(const ULAction &inAction)=delete
ULConnection.
Definition gdcmULConnection.h:58
ULEvent.
Definition gdcmULEvent.h:37
EStateID
Definition gdcmNetworkStateID.h:32
EEventID
Definition gdcmNetworkEvents.h:33
Definition gdcmASN1.h:21