GDCM 2.2.0

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

- File List
- File Members

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