ctkExampleDicomHost.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef CTKEXAMPLEDICOMHOST_H
  2. #define CTKEXAMPLEDICOMHOST_H
  3. #include <ctkDicomAbstractHost.h>
  4. #include <ctkHostedAppPlaceholderWidget.h>
  5. #include <org_commontk_dah_examplehost_Export.h>
  6. #include <QUrl>
  7. #include <QProcess>
  8. class org_commontk_dah_examplehost_EXPORT ctkExampleDicomHost : public ctkDicomAbstractHost{
  9. Q_OBJECT
  10. public:
  11. ctkExampleDicomHost(ctkHostedAppPlaceholderWidget* placeholderWidget, int hostPort = 8080, int appPort = 8081);
  12. virtual void StartApplication(QString AppPath);
  13. virtual QString generateUID() { return ""; }
  14. virtual QRect getAvailableScreen(const QRect& preferredScreen);
  15. virtual QString getOutputLocation(const QStringList& /*preferredProtocols*/) { return ""; }
  16. virtual void notifyStateChanged(ctkDicomAppHosting::State state);
  17. virtual void notifyStatus(const ctkDicomAppHosting::Status& status);
  18. // exchange methods
  19. virtual bool notifyDataAvailable(ctkDicomAppHosting::AvailableData data, bool lastData);
  20. virtual QList<ctkDicomAppHosting::ObjectLocator>* getData(
  21. QList<QUuid> objectUUIDs,
  22. QList<QString> acceptableTransferSyntaxUIDs,
  23. bool includeBulkData);
  24. virtual void releaseData(QList<QUuid> objectUUIDs);
  25. const QProcess& getAppProcess() const { return appProcess; }
  26. ~ctkExampleDicomHost();
  27. signals:
  28. void stateChangedReceived(ctkDicomAppHosting::State state);
  29. void statusReceived(const ctkDicomAppHosting::Status& status);
  30. void giveAvailableScreen(QRect rect);
  31. protected:
  32. QProcess appProcess;
  33. ctkHostedAppPlaceholderWidget* placeholderWidget;
  34. ctkDicomAppHosting::State applicationState;
  35. protected slots:
  36. void forwardConsoleOutput();
  37. };
  38. #endif // CTKEXAMPLEDICOMHOST_H