ctkDICOMSCP.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef CTKDCMSCP_H
  2. #define CTKDCMSCP_H
  3. // DCMTK includes
  4. #include <dcmtk/dcmnet/assoc.h>
  5. #include <dcmtk/dcmnet/dimse.h>
  6. // Qt includes
  7. #include <QObject>
  8. // ctk includes
  9. #include "ctkDICOMCoreExport.h"
  10. class ctkDICOMSCPPrivate;
  11. class CTK_DICOM_CORE_EXPORT ctkDICOMSCP : public QObject
  12. {
  13. Q_OBJECT
  14. public:
  15. explicit ctkDICOMSCP(QObject *parent = 0);
  16. ~ctkDICOMSCP();
  17. void setAETitle(const QString& aeTitle);
  18. void setPort(int port);
  19. void setMaxPDU(int size);
  20. void setMaxAssociations(int count);
  21. void setEnableGetSupport(bool flag);
  22. void setEnablePatientRoot(bool flag);
  23. void setEnableStudyRoot(bool flag);
  24. void setEctnablePatientStudyOnly(bool flag);
  25. void setAllowShutdown(bool flag);
  26. void setEnableThreading(bool flag);
  27. bool registerSCP(ctkDICOMSCP* scp);
  28. T_DIMSE_Command getDimseCommand();
  29. void start();
  30. void stop();
  31. virtual OFCondition handleRequest(T_ASC_Association* assoc, T_DIMSE_Message& message, T_ASC_PresentationContextID presId)
  32. {
  33. Q_UNUSED(assoc);
  34. Q_UNUSED(message);
  35. Q_UNUSED(presId);
  36. return DIMSE_BADCOMMANDTYPE;
  37. }
  38. protected:
  39. T_DIMSE_Command dimseCommand;
  40. private:
  41. ctkDICOMSCPPrivate* d_ptr;
  42. Q_DECLARE_PRIVATE(ctkDICOMSCP);
  43. Q_DISABLE_COPY(ctkDICOMSCP);
  44. };
  45. #endif // CTKDCMSCP_H