1 /*========================================================================= 2 3 Program: GDCM (Grassroots DICOM). A DICOM library 4 5 Copyright (c) 2006-2011 Mathieu Malaterre 6 All rights reserved. 7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 8 9 This software is distributed WITHOUT ANY WARRANTY; without even 10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 11 PURPOSE. See the above copyright notice for more information. 12 13 =========================================================================*/ 14 #ifndef GDCMANONYMIZEEVENT_H 15 #define GDCMANONYMIZEEVENT_H 16 17 #include "gdcmEvent.h" 18 #include "gdcmTag.h" 19 20 namespace gdcm 21 { 22 23 /** 24 * \brief AnonymizeEvent 25 * \details Special type of event triggered during the Anonymization process 26 * 27 * \see Anonymizer 28 */ 29 class AnonymizeEvent : public AnyEvent 30 { 31 public: 32 typedef AnonymizeEvent Self; 33 typedef AnyEvent Superclass; m_Tag(tag)34 AnonymizeEvent(Tag const &tag = 0):m_Tag(tag) {} 35 ~AnonymizeEvent() override = default; AnonymizeEvent(const Self & s)36 AnonymizeEvent(const Self&s) : AnyEvent(s){}; 37 void operator=(const Self&) = delete; 38 GetEventName()39 const char * GetEventName() const override { return "AnonymizeEvent"; } CheckEvent(const::gdcm::Event * e)40 bool CheckEvent(const ::gdcm::Event* e) const override 41 { return (dynamic_cast<const Self*>(e) == nullptr ? false : true) ; } MakeObject()42 ::gdcm::Event* MakeObject() const override 43 { return new Self; } 44 SetTag(const Tag & t)45 void SetTag(const Tag& t ) { m_Tag = t; } GetTag()46 Tag const & GetTag() const { return m_Tag; } 47 private: 48 Tag m_Tag; 49 }; 50 51 52 } // end namespace gdcm 53 54 #endif //GDCMANONYMIZEEVENT_H 55