GDCM  2.2.0
gdcmULActionAE.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 GDCMULACTIONAE_H
00019 #define GDCMULACTIONAE_H
00020 
00021 #include "gdcmULAction.h"
00022 
00032 namespace gdcm {
00033   namespace network {
00034 
00035     //Issue TRANSPORT CONNECT request primitive to local transport service.
00036     class ULActionAE1 : public ULAction {
00037     public:
00038       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00039         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00040     };
00041 
00042     //Send A-ASSOCIATE-RQ-PDU
00043     //Next State: eSta5WaitRemoteAssoc
00044     class ULActionAE2 : public ULAction {
00045     public:
00046       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00047         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00048     };
00049 
00050     //Issue A-ASSOCIATE confirmation (accept) primitive
00051     //Next State: eSta6TransferReady
00052     class ULActionAE3 : public ULAction {
00053     public:
00054       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00055         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00056     };
00057 
00058     //Issue A-ASSOCIATE confirmation (reject) primitive and close transport connection
00059     //Next State: eSta1Idle
00060     class ULActionAE4 : public ULAction {
00061     public:
00062       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00063         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00064     };
00065 
00066     //Issue Transport connection response primitive, start ARTIM timer
00067     //Next State: eSta2Open
00068     class ULActionAE5 : public ULAction {
00069     public:
00070       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00071         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00072     };
00073 
00074     //Stop ARTIM timer and if A-ASSOCIATE-RQ acceptable by service-provider:
00075     //- issue A-ASSOCIATE indication primitive
00076     //Next state: eSta3WaitLocalAssoc
00077     //otherwise:
00078     //- issue A-ASSOCIATE-RJ-PDU and start ARTIM timer
00079     //Next state: eSta13AwaitingClose
00080     class ULActionAE6 : public ULAction {
00081     public:
00082       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00083         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00084     };
00085 
00086     //Send A-ASSOCIATE-AC PDU
00087     //Next State: eSta6TransferReady
00088     class ULActionAE7 : public ULAction {
00089     public:
00090       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00091         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00092     };
00093 
00094     //Send A-ASSOCIATE-RJ PDU and start ARTIM timer
00095     //Next State: eSta13AwaitingClose
00096     class ULActionAE8 : public ULAction {
00097     public:
00098       EStateID PerformAction(Subject *s, ULEvent& inEvent, ULConnection& inConnection,
00099         bool& outWaitingForEvent, EEventID& outRaisedEvent);
00100     };
00101   }
00102 }
00103 #endif // GDCMULACTIONAE_H

Generated on Tue Mar 27 2012 13:33:41 for GDCM by doxygen 1.8.0
SourceForge.net Logo