gdcmULEvent.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright NumFOCUS
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef GDCMULEVENT_H
#define GDCMULEVENT_H
#include "gdcmNetworkStateID.h"
#include "gdcmNetworkEvents.h"
#include "gdcmBasePDU.h"
#include <vector>
namespace gdcm {
namespace network {
class ULEvent {
EEventID mEvent;
std::vector<BasePDU*> mBasePDU;
std::istream * m_pStream ;
std::streampos m_posDataSet ;
void DeletePDUVector(){
std::vector<BasePDU*>::iterator baseItor;
for (baseItor = mBasePDU.begin(); baseItor < mBasePDU.end(); baseItor++){
if (*baseItor != nullptr){
delete *baseItor;
*baseItor = nullptr;
}
}
}
public:
ULEvent(const EEventID& inEventID, std::vector<BasePDU*> inBasePDU, std::istream * iStream = nullptr, std::streampos posDataSet = 0 ){
mEvent = inEventID;
mBasePDU = inBasePDU;
m_pStream = iStream ;
m_posDataSet = posDataSet ;
}
ULEvent(const EEventID& inEventID, BasePDU* inBasePDU, std::istream * iStream = nullptr, std::streampos posDataSet = 0 ){
mEvent = inEventID;
mBasePDU.push_back(inBasePDU);
m_pStream = iStream ;
m_posDataSet = posDataSet ;
}
~ULEvent(){
DeletePDUVector();
}
EEventID GetEvent() const { return mEvent; }
std::vector<BasePDU*> const & GetPDUs() const { return mBasePDU; }
std::istream * GetIStream() const { return m_pStream; }
std::streampos GetDataSetPos() const { return m_posDataSet; }
void SetEvent(const EEventID& inEvent) { mEvent = inEvent; }
void SetPDU(std::vector<BasePDU*> const & inPDU) {
DeletePDUVector();
mBasePDU = inPDU;
}
};
}
}
#endif //GDCMULEVENT_H
gdcm::network::BasePDU
BasePDU.
Definition gdcmBasePDU.h:51
gdcm::network::ULEvent::GetIStream
std::istream * GetIStream() const
Definition gdcmULEvent.h:71
gdcm::network::ULEvent::SetEvent
void SetEvent(const EEventID &inEvent)
Definition gdcmULEvent.h:74
gdcm::network::ULEvent::GetEvent
EEventID GetEvent() const
Definition gdcmULEvent.h:69
gdcm::network::ULEvent::ULEvent
ULEvent(const EEventID &inEventID, std::vector< BasePDU * > inBasePDU, std::istream *iStream=nullptr, std::streampos posDataSet=0)
Definition gdcmULEvent.h:53
gdcm::network::ULEvent::GetPDUs
std::vector< BasePDU * > const & GetPDUs() const
Definition gdcmULEvent.h:70
gdcm::network::ULEvent::ULEvent
ULEvent(const EEventID &inEventID, BasePDU *inBasePDU, std::istream *iStream=nullptr, std::streampos posDataSet=0)
Definition gdcmULEvent.h:59
gdcm::network::ULEvent::GetDataSetPos
std::streampos GetDataSetPos() const
Definition gdcmULEvent.h:72
gdcm::network::ULEvent::SetPDU
void SetPDU(std::vector< BasePDU * > const &inPDU)
Definition gdcmULEvent.h:75
gdcm::network::ULEvent::~ULEvent
~ULEvent()
Definition gdcmULEvent.h:65
gdcmBasePDU.h
gdcmNetworkEvents.h
gdcmNetworkStateID.h
gdcm::network
Definition gdcmAAbortPDU.h:24
gdcm::network::EEventID
EEventID
Definition gdcmNetworkEvents.h:33
gdcm
Definition gdcmASN1.h:21